Opencv图像的反色处理

时间:2022-10-24 09:00:59
 
#include<opencv2/imgproc/imgproc.hpp>#include<opencv2/highgui/highgui.hpp>#include<iostream>#include<stdio.h>cv::Mat inverseColor(cv::Mat srcImage){	cv::Mat tempImage = srcImage.clone();	int row = tempImage.rows;	int col = tempImage.cols;	//对各个像素遍历进行取反	for (int i = 0; i < row;i++){		for (int j = 0; j < col; j++){			//分别对各个通道进行反色处理			tempImage.at<cv::Vec3b>(i, j)[0] = 255 - tempImage.at<cv::Vec3b>(i, j)[0];			tempImage.at<cv::Vec3b>(i, j)[1] = 255 - tempImage.at<cv::Vec3b>(i, j)[1];			tempImage.at<cv::Vec3b>(i, j)[2] = 255 - tempImage.at<cv::Vec3b>(i, j)[2];		}	}	return tempImage;}int main(int argc, char** argv){	cv::Mat srcImage,desIamge;	srcImage = cv::imread("..\\images\\Jay.png");	desIamge = inverseColor(srcImage);	cv::imshow("反色",desIamge);	cv::waitKey(0);	return 0;}