图像(像素)的反转一
图像(像素)的反转1图像是由一个个像素组成的,每个像素都有不同的(R,G,B)三个表示,且像素最大为255,其中0代
图像(像素)的反转1
图像是由一个个像素组成的,每个像素都有不同的(R,G,B)三个值表示,且像素最大值为255,其中0代表黑色,255代表白色。
图像的反转就是用值255减去像素点上的RGB值。反转就是用255(白色)-0(黑色)得到的是255(白色)。
一:使用函数:cvNot
cvNot
计算数组元素的按位取反
void cvNot( const CvArr* src, CvArr* dst );
src1
原数组
dst
输出数组
函数不取反每个数组元素的每一位
dst(I)=~src(I)
代码:
[cpp] view plaincopy
- // opencv测试板块.cpp : 定义控制台应用程序的入口点。
- //
-
- #include "stdafx.h"
- #include "opencv2/opencv.hpp"
-
- int _tmain(int argc, _TCHAR* argv[])
- {
- //窗口的命名
- cvNamedWindow("Src", 0);
- cvNamedWindow("Dst", 0);
-
- IplImage* src;
- IplImage* dst;
-
- //加载图像
- src= cvLoadImage("F:\\Opencv_picture\\1212.jpg");
- if(!src) //判断图像时候加载成功
- {
- printf("Could not find this image\n");
- }
-
- dst= cvCreateImage(cvGetSize(src), src->depth, src->nChannels);
- //显示图像
- cvShowImage("Src", src);
-
- //使用cvNot()反转
- cvNot(src, dst);
- //显示反转后的图像
- cvShowImage("Dst", dst);
-
- cvWaitKey(0 );
-
- cvReleaseImage(&src);
- cvDestroyWindow("Src");
- cvDestroyWindow("Dst");
-
- return 0;
- }
结果图:
(原图来自《数字图像处理》的乳房X射线图)