我正在尝试使用“新”OpenCV 2.0 c++版本,但其他一切都像简单的 C 版本一样。我在更改图像中的值时遇到一些问题。
该图像是 CV_8UC3。
for (int i=0; i<image.rows; i++)
{
for (int j=0; j<image.cols; j++)
{
if (someArray[i][j] == 0)
{
image.at<Vec3i>(i,j)[0] = 0;
image.at<Vec3i>(i,j)[1] = 0;
image.at<Vec3i>(i,j)[2] = 0;
}
}
}
它不起作用。我究竟做错了什么???
谢谢你!
你不应该使用Vec3b
代替Vec3i
?
CV_8UC3
表示您的图像是 8 位、3 通道、无符号字符。尽管Vec3i
适用于 3 通道整数并且Vec3b
用于 3 个通道的无符号字符。
所以我认为你应该使用Vec3b
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)