我想要一个快速简单的函数,我可以为mat对象提供行和列号,并让它在该位置输出元素的值...我用google搜索并发现一些网站推荐'Mat。 get(int row,int col)'但是当我尝试使用它时我遇到错误
这是我的代码错误在帖子标题
Mat M(2,2, CV_8UC3, Scalar(0,0,255));
cout << "b = " << endl << " " << M.get(0, 0) << endl << endl;
我不想写一个长的for循环来检索像素...有人可以帮我弄清楚为什么我会收到这个错误或者推荐一个快速的1个衬里才能得到一个值mat对象中的单个元素...但是一个衬里需要能够在没有类型被知道的情况下运行,因此Mat.at将无法工作....谷歌搜索带来了不容易的1个衬垫....任何帮助表示赞赏
编辑:
按照你的建议使用M.at
cout << "M.at = " << endl << " " <<a.at<uchar>(0, 0) << endl << endl;
输出就是这个
M.at =
^@
当你做得不对时,你会得到一种奇怪的符号......我试图避免M.at,因为我认为它需要一种我不想进入的类型......任何帮助表示赞赏
编辑2:谢谢你这么快回复我...我发现一个错误我的垫子是CV_64F我改变了它的另一个原因...我把它改回CV_8UC3并尝试了CV_8UC1并获得了以下输出
M =
d(yes letter d)
欢迎来自此处的任何建议......
答案 0 :(得分:0)