I'm trying to use the "new" 2.0 c++ version of OpenCV, but everything is else like in simple C version. I have some problem with changing the values in image.
The image is 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;
}
}
}
It's not working. What am I doing wrong???
Thank you!
Shouldn't you be using Vec3b
instead of Vec3i
?
CV_8UC3
means your image is 8 bit, 3 channels, unsigned char. While Vec3i
is for 3 channels integers and Vec3b
is for 3 channels unsigned char.
So I think you should be using Vec3b
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With