读书人

图像(像素)的反转一

发布时间: 2013-11-03 15:39:14 作者: rapoo

图像(像素)的反转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
  1. // opencv测试板块.cpp : 定义控制台应用程序的入口点。
  2. //
  3. #include "stdafx.h"
  4. #include "opencv2/opencv.hpp"
  5. int _tmain(int argc, _TCHAR* argv[])
  6. {
  7. //窗口的命名
  8. cvNamedWindow("Src", 0);
  9. cvNamedWindow("Dst", 0);
  10. IplImage* src;
  11. IplImage* dst;
  12. //加载图像
  13. src= cvLoadImage("F:\\Opencv_picture\\1212.jpg");
  14. if(!src) //判断图像时候加载成功
  15. {
  16. printf("Could not find this image\n");
  17. }
  18. dst= cvCreateImage(cvGetSize(src), src->depth, src->nChannels);
  19. //显示图像
  20. cvShowImage("Src", src);
  21. //使用cvNot()反转
  22. cvNot(src, dst);
  23. //显示反转后的图像
  24. cvShowImage("Dst", dst);
  25. cvWaitKey(0 );
  26. cvReleaseImage(&src);
  27. cvDestroyWindow("Src");
  28. cvDestroyWindow("Dst");
  29. return 0;
  30. }

结果图:

(原图来自《数字图像处理》的乳房X射线图)

图像(像素)的反转一

读书人网 >图形图像

热点推荐