#include <iostream>
#include "opencv2/opencv.hpp"
using namespace std;
using namespace cv;
int main(int argc, char* argv[])
{
//"C:\\openCV\\data\\lena.bmp": 이미지 경로
Mat src = imread("C:\\openCV\\data\\lena.bmp", IMREAD_COLOR);
if (src.empty()) {
cout << "Image load failed!\n";
return -1;
}
//Mat dst(src.rows, src.cols, src.type());
////픽셀값과 각각의 색상 채널 으로 접근해 색상을 반전
////반전시켜서다른메모리에저장
//for (int r = 0; r < src.rows; r++) {
// for (int c = 0; c < src.cols; c++) {
// Vec3b& p1 = src.at<Vec3b>(r, c);
// Vec3b& p2 = dst.at<Vec3b>(r, c);
// p2[0] = 255 - p1[0];
// p2[1] = 255 - p1[1];
// p2[2] = 255 - p1[2];
// }
//}
////픽셀값하나로만 접근해 색상을 반전
////반전시켜서다른메모리에저장
//for (int r = 0; r < src.rows; r++) {
// for (int c = 0; c < src.cols; c++) {
// dst.at<Vec3b>(r, c) = Vec3b(255, 255, 255) - src.at<Vec3b>(r, c);
// }
//}
//반전시켜서다른메모리에저장
Mat dst = Scalar(255, 255, 255) - src;
imshow("src", src);
imshow("dst", dst);
waitKey();
destroyAllWindows();
}