CV_BGR2GRAY vs CV_GRAY2BGR

来源:互联网 发布:广州极趣网络 编辑:程序博客网 时间:2024/06/06 09:59

转载地址:http://blog.csdn.net/timidsmile/article/details/9342855

---------------------------------------------------

来回转换过程中,应该没有什么损失吧




[cpp] view plaincopy
  1. #include "stdafx.h"  
  2. #include "stdio.h"  
  3. #include "cv.h"  
  4. #include "highgui.h"  
  5. #include "Math.h"  
  6. #include "vector"  
  7. using namespace std;  
  8.   
  9.   
  10. int _tmain(int argc, _TCHAR* argv[])  
  11. {  
  12.     IplImage* img = cvLoadImage("D:\\zj.jpg", 1);  
  13.   
  14.     if( !img )  
  15.         return 0;  
  16.   
  17.       
  18.     IplImage *gray = cvCreateImage(cvGetSize(img), 8, 1);  
  19.     IplImage *dst = cvCreateImage(cvGetSize(img), 8, 3);  
  20.     IplImage *dst_gray = cvCreateImage(cvGetSize(img), 8, 1);  
  21.   
  22.     cvCvtColor(img, gray, CV_BGR2GRAY);  
  23.     cvCvtColor(gray, dst, CV_GRAY2BGR); //灰度图转BGR3通道,但每通道的值都是原先单通道的值,所以也是显//示灰色的
  24.     cvCvtColor(dst, dst_gray, CV_BGR2GRAY);  
  25.   
  26.     cvNamedWindow( "img", 1 );  
  27.     cvNamedWindow( "gray", 1 );  
  28.     cvNamedWindow( "dst", 1);  
  29.     cvNamedWindow( "dst_gray", 1);  
  30.   
  31.     cvShowImage("img", img);  
  32.     cvShowImage("gray", gray);  
  33.     cvShowImage("dst", dst);  
  34.     cvShowImage("dst_gray", dst_gray);  
  35.   
  36.     cvWaitKey(-1);  
  37.   
  38.   
  39.     cvReleaseImage(&img);  
  40.     cvReleaseImage(&dst);  
  41.     cvReleaseImage(&dst_gray);  
  42.   
  43.     cvDestroyAllWindows();  
  44.   
  45.     return 0;  
  46. }  
0 0
原创粉丝点击