#include<opencv2\opencv.hpp>
#include<highgui.h>
using namespace cv;
int main(int argc, char** argv)
{
Mat in_img = imread("D:/vcprojects/images/123.jpg");
Mat out_img;
in_img.copyTo(out_img);
int channels = in_img.channels();
int rows = in_img.rows;
int cols = in_img.cols * channels;
if (in_img.isContinuous()) {
cols *= rows;
rows = 1;
}
uchar* p1;
uchar* p2;
for (int row = 0; row < rows; row++) {
p1 = in_img.ptr<uchar>(row); // 获取像素指针
p2 = out_img.ptr<uchar>(row);
for (int col = 0; col < cols; col++) {
*p2 = 255 - *p1; // 取反
p2++;
p1++;
}
}
imshow("in_img", in_img);
imshow("out_img", out_img);
waitKey(0);
return 0;
}
![]()
![]()