Я делаю этот проект в OpenCV C ++, где я делаю отражение данного изображения, точно так же, как функция переворачивания, но с координатами каждого пикселя. проблема в том, что все полученное изображение выводится синим цветом с горизонтальной линией, я считаю, что мой код влияет только на первый канал.
Я попытался сделать imageReflectionFinal.at<Vec3b>(r,c) = image.at<Vec3b>(r,c);
, чтобы решить его, но Ничего не изменилось. Я оставлю код ниже, спасибо заранее.
Mat image = imread("image_dir/image.jpg");
Mat imageReflectionFinal = Mat::zeros(image.size(), image.type());
for(unsigned int r=0; r<image.rows; r++) {
for(unsigned int c=0; c<image.cols; c++) {
imageReflectionFinal.at<Vec3b>(r,c) = image.at<Vec3b>(r,c);
Vec3b sourcePixel = image.at<Vec3b>(r,c);
imageReflectionFinal.at<Vec3b>(r, c) = (uchar)(c, -r + (220)/2);
}
}