Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了OpenCV for Android – 访问Mat的元素大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在OpenCV4 Android中访问和@L_110_1@mat的各个元素的标准方法是什么?另外,BGR的数据格式(我认为是认值)和灰度等级是什么?
编辑:让我们更具体一点. mat.get(row,col)返回一个double数组.这个数组是什么?

解决方法

@H_483_7@mat就是我们在数学中称之为“矩阵”的东西 – 由行和列组成的矩形数组.那些“量”表示在图像Mat的情况下的像素(例如,矩阵的每个元素可以是图像Mat中的每个像素的颜色).从this教程:

那你怎么去迭代矩阵呢?这个怎么样:

for (int row=0; row<mat.rows(); row++) {
  for (int col=0; col<mat.cols(); coL++ ) {
    //...do what you want.. 
    //e.g. get the value of the 3rd element of 2nd row 
    //by mat.get(2,3);
  }
}

通过使用@L_607_8@get(X)(y)得到Mat元素的值,其中x是一个坐标(行号),y是元素的第二个坐标(列号).例如,要获取名为bgrImageMat的BGR图像Mat的第7行的第4个元素,请使用Mat的get方法获取double类型的数组,其大小为3,每个数组元素代表每个blue,BGR图像格式的绿色和红色通道.

double [] bgrColor = bgrImageMat.get();

您可以从网上阅读有关BGR颜色格式和灰度的信息.例如BGRGrayscale.

简而言之,BGR颜色格式有3个通道:蓝色,绿色和红色.所以当mat是BGR图像时,mat.get(row,col)返回的double数组是一个大小为3的数组,它的每个元素分别包含每个蓝色,绿色和红色通道的值.

同样,灰度格式是1通道颜色格式,因此返回的double将具有1的大小.

大佬总结

以上是大佬教程为你收集整理的OpenCV for Android – 访问Mat的元素全部内容,希望文章能够帮你解决OpenCV for Android – 访问Mat的元素所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。