【OpenCV】將RGB圖像轉為灰度圖


基本思路:

1、  輸入RGB(彩色)圖像

2、  處理圖像

3、  輸出GRAY(灰度)圖像

這里將處理圖像過程單獨寫成一個函數,供主函數調用

 1 void RGB2GRAY(IplImage* src)
2
3 {
4
5 //創建2個窗體,分別顯示源圖像和處理后的灰度圖
6
7 cvNamedWindow("RGB");
8
9 cvNamedWindow("GRAY");
10
11
12 //顯示源圖像
13
14 cvShowImage("RGB",src);
15
16
17 //創建一個源圖像一樣的IplImage指針
18
19 IplImage* dst = cvCreateImage(cvGetSize(src),src->depth,1);
20
21
22 //色彩空間轉換,轉換類型為CV_BGR2GRAY
23
24 cvCvtColor(src,dst,CV_BGR2GRAY);
25
26
27 //顯示灰度圖
28
29 cvShowImage("GRAY",dst);
30
31
32 //釋放資源
33
34 cvReleaseImage(&dst);
35
36
37 //Wait for the user to hit a key, then clean up the windows
38
39 cvWaitKey(0);
40
41 cvDestroyWindow("RGB");
42
43 cvDestroyWindow("GRAY");
44
45 }


 

 1 //主函數
2
3 int main(int argc, char** argv)
4
5 {
6
7 IplImage* img = cvLoadImage(argv[1]);
8
9 RGB2GRAY(img);
10
11 while(1)
12
13 {
14 if(cvWaitKey(100)==27)
15
16 break;
17 }
18
19
20 cvReleaseImage(&img);
21
22 exit(0);
23
24 }


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM