![](/img/trans.png)
[英]access and change color of pixels based on another image - opencv c++
[英]Image pixels not equal size opencv/C++
我正在尝试使用 opencv2 预处理和显示图像以进行分类,但像素似乎没有正确格式化,我不确定格式化是否是正确的术语。 图像最初是 1080p,我使用 ffmpeg 裁剪并缩放到 480X800。 我得到了奇怪的结果,因此使用以下代码测试程序以覆盖一个简单的棋盘图案,其中所有正方形都应具有相同的大小和正方形-
std::string image_path = samples::findFile("/home/pi/test.jpg");
Mat img = imread(image_path, IMREAD_COLOR);
cv::cvtColor(img, img, COLOR_BGR2RGB);
for (int i = 0; i < 15 ; i++ ) {
for (int j = 0; j < 25 ; j++ ) {
int x;
if ((i + j) % 2 == 0) x = 1;
else x = 0;
for (int a = i * 32; a < (i + 1) * 32 ; a++) {
for (int b = j * 32; b < (j + 1) * 32 ; b++) {
img.at<int>(a, b) = x * img.at<int>(a, b);
}
}
}
}
我得到以下
原始图像看起来完全一样,没有任何拉伸或其他问题。 这显示在连接到树莓派的小型触摸屏上。 任何帮助将不胜感激。
我想通了,代码应该是 -
img.at<Vec3b>(a, b) = x * img.at<Vec3b>(a, b);
代替
img.at<int>(a, b) = x * img.at<int>(a, b);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.