上一课用的是直接访问像素的。现在采用函数bitwise_not();
好了,不说太多了,直接上代码:
// 图像的反转2.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "opencv2/opencv.hpp"
#include <iostream>
using namespace std;
using namespace cv;
int _tmain(int argc, _TCHAR* argv[])
{
Mat src;
Mat dst;
// read iamge frome image file
src= imread("F://Opencv_picture//1212.jpg", CV_LOAD_IMAGE_COLOR);
if(src.empty()) //equal == if(!src.data) ***
{
cout<<"Cannot find or read iamge file!"<<endl;
return -1;
}
//use bitwise_not function
bitwise_not(src, dst, noArray());
//Create window
namedWindow("src", CV_WINDOW_AUTOSIZE);
namedWindow("dst", CV_WINDOW_AUTOSIZE);
//show image
imshow("src", src);
imshow("dst", dst);
// wait until user press key
waitKey( 0);
return 0;
}
要结果图请看前一课。
函数简介:
C++: void bitwise_not(InputArray src, OutputArray dst, InputArray mask=noArray());