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;
}