#include <stdio.h>
#include <opencv2/opencv.hpp>

int main(int argc, char** argv )
{
    char * addr = "/home/youchen/Downloads/webwxgetmsg.jpg";
    cv::String imageName(addr);
    //创建Mat
    cv::Mat image;
    //读取图片
    image = cv::imread(imageName, 1 );
    //判断图片是否存在
    if(!image.empty()){
        // 三通道
        assert(image.channels() == 3);
        // 列反序
        for (int j = 0; j < image.rows; j++)
        {
            for (int i = 0; i < image.cols / 2; i++)
            {
                cv::Vec3b left = image.at<cv::Vec3b>(j, i);
                cv::Vec3b right = image.at<cv::Vec3b>(j, image.cols - i);
                // cv::Vec3b temp = left;
                // left[0] = right[0];
                // left[1] = right[1];
                // left[2] = right[2];
                // right[0] = temp[0];
                // right[1] = temp[1];
                // right[2] = temp[2];
                image.at<cv::Vec3b>(j, i) = right;
                image.at<cv::Vec3b>(j, image.cols - i) = left;
            }
        }
        cv::namedWindow("Display Image", cv::WINDOW_KEEPRATIO);
        cv::imshow("Display Image", image);
        cv::waitKey(0);
    }
}