【发布时间】:2014-03-09 15:48:30
【问题描述】:
我想要一个快速简单的函数,我可以为垫子对象提供行号和列号,并让它输出该位置元素的值...我搜索了一下,发现一些网站推荐“垫子”。 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 班轮来获得 a 的值垫子对象中的单个元素...但是一个衬垫需要能够在不知道类型的情况下运行,因此 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)
感谢您的任何建议......
【问题讨论】: