使用 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按钮背景的颜色等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)