600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 【OpenCV】将RGB图像转为灰度图

【OpenCV】将RGB图像转为灰度图

时间:2020-06-23 09:29:36

相关推荐

【OpenCV】将RGB图像转为灰度图

基本思路:

1、 输入RGB(彩色)图像

2、 处理图像

3、 输出GRAY(灰度)图像

这里将处理图像过程单独写成一个函数,供主函数调用

1 void RGB2GRAY(IplImage* src)

2

3 {

4

5//创建2个窗体,分别显示源图像和处理后的灰度图

6

7cvNamedWindow("RGB");

8

9cvNamedWindow("GRAY");

10

11

12//显示源图像

13

14cvShowImage("RGB",src);

15

16

17//创建一个源图像一样的IplImage指针

18

19IplImage* dst = cvCreateImage(cvGetSize(src),src->depth,1);

20

21

22//色彩空间转换,转换类型为CV_BGR2GRAY

23

24cvCvtColor(src,dst,CV_BGR2GRAY);

25

26

27//显示灰度图

28

29cvShowImage("GRAY",dst);

30

31

32//释放资源

33

34cvReleaseImage(&dst);

35

36

37//Wait for the user to hit a key, then clean up the windows

38

39cvWaitKey(0);

40

41cvDestroyWindow("RGB");

42

43cvDestroyWindow("GRAY");

44

45 }

1 //主函数

2

3 int main(int argc, char** argv)

4

5 {

6

7IplImage* img = cvLoadImage(argv[1]);

8

9RGB2GRAY(img);

10

11while(1)

12

13{

14if(cvWaitKey(100)==27)

15

16break;

17}

18

19

20cvReleaseImage(&img);

21

22exit(0);

23

24 }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。