jpg格式的都是三通道,灰度图的三个通道数值一样。
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;
void reverse(Mat &image, Mat &result)
{
result = image.clone();
int rows = image.rows, cols = image.cols;
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
for (int k = 0; k < 3; k++)
{
result.at<Vec3b>(i, j)[k] = image.at<Vec3b>(rows - 1 - i, cols - 1 - j)[k];
}
}
}
}
int main()
{
Mat image = imread("f:\\图片\\cute.jpg");
Mat result;
reverse(image, result);
namedWindow("原图");
namedWindow("反转图");
imshow("原图", image);
imshow("反转图", result);
waitKey(0);
return 0;
}