android opencv 如何获得特定像素点的颜色

android opencv 如何获得特定像素点的颜色,第1张

使用 Mat 中对矩阵元素的地址定位的知识 (参考博文:OpenCV中对Mat里面depth,dims,channels,step,data,elemSize和数据地址计算的理解)

Code 1 :

int main()

{

//新建一个uchar类型的单通道矩阵(grayscale image 灰度图)

Mat m(400, 400, CV_8U, Scalar(0));

for (int col = 0; col < 400; col++)

{

for (int row = 195; row < 205; row++)

{

cout << (int)((mdata + mstep[0] row + mstep[1] col)) << " ==> ";

//获取第[row,col]个像素点的地址并用 符号解析

(mdata + mstep[0] row + mstep[1] col) = 255;

cout << (int)((mdata + mstep[0] row + mstep[1] col)) << endl;

}

}

imshow("canvas", m);

cvWaitKey();

return 0;

}

Output 1 :

0 ==> 255

0 ==> 255

0 ==> 255

0 ==> 255

0 ==> 255

0 ==> 255

Code1只是演示了单通道的情况,对于多通道的例子,请看 Code2 然后再看 Code3。

Fn 2 :

使用 Mat::at 函数

原型 template<typename _Tp> inline _Tp& Mat::at(…) //其中参数有多个,也就是说 at 函数有多个重载

返回值为 Mat 类型, Mat 有个索引的重载,也就是 [] 符号的重载,用这个重载可以定位多通道数据,具体示例可以看下面代码

下面的代码把红色通道值大于128的颜色的置为白色,左边为原图,右边为处理过后的图。

安卓车机色彩设置参数,具体 *** 作如下。

一、AndroidColor设置

1、在xml文件中

想设置颜色直接设置background的属性或者其他的color属性。随便设置一个颜色如#000,再点击左边的颜色方块,d出颜色选择器选择颜色

2、在java代码中

①ColorparseColor("#000");

1

tvShowsetBackgroundColor(ColorparseColor("#000"));

提示可以在布局文件中配置好颜色值,然后把用“#”表示的颜色带到java代码中用

②ColorBLACK使用Color类自带的颜色,不过都是一些基本色

tvShowsetBackgroundColor(ColorBLACK);

③定义Color资源文件,通过RcolormyColor引用

Drawable background = buttongetBackground();

ColorDrawable colorDrawable = (ColorDrawable) background;

int color = colorDrawablegetColor();

button1setBackgroundColor(color);

其实我也不知道咋获取,看到问题之后自行调试了一下,顺着代码走走或许你就会一不小心发现了。

以上就是关于android opencv 如何获得特定像素点的颜色全部的内容,包括:android opencv 如何获得特定像素点的颜色、安卓车机色彩设置参数、如何能获取android按钮背景的颜色等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9533362.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存