随笔 - 46  文章 - 39  trackbacks - 0
<2016年7月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

常用链接

留言簿(2)

随笔分类

随笔档案

友情链接

搜索

  •  

最新评论

阅读排行榜

评论排行榜

提示:学习这课之前,我们假设你已经知道如何用imread载入图像并用imshow显示在窗口中。 如果还不知道那么先看
新手入门学习OpenCV2.4.13 载入并显示图像 (二)
目标:
在这个教程中你将会学到:
1、使用imread载入图像
2、使用cvtColor将图像冲BGR格式转换为Grayscale格式
3、使用imwrite将转换好的图像保存到硬盘上

源码:
 1 #include <cv.h>
 2 #include <highgui.h>
 3 
 4 using namespace cv;
 5 
 6 int main(int argc, char ** argv)
 7 {
 8     char* imageName = argv[1];
 9     Mat image;
10     image = imread(imageName, 1);
11 
12     if (2 != argc || !image.data)
13     {
14         printf("No image data\n");
15         return -1;
16     }
17 
18     Mat gray_image;
19     cvtColor(image, gray_image, CV_BGR2GRAY);
20 
21     imwrite("D:/images/Gray_Image.jpg", gray_image);
22 
23     namedWindow(imageName, CV_WINDOW_AUTOSIZE);
24     namedWindow("Gray image", CV_WINDOW_AUTOSIZE);
25 
26     imshow(imageName, image);
27     imshow("Gray image", gray_image);
28 
29     waitKey(0);                                      
30     return 0;
31 }

说明:
1、通过imread载入一个BGR图像。
2、将图像冲BGR转换成Grayscale格式:
cvtColor( image, gray_image, CV_BGR2GRAY);
cvtColor参数:
a、源图像(image)
b、目标图像(gray_image),用于保存转换好的图像。
c、指定转换类型。

3、保存图像
imwrite("../../images/Gray_Image.jpg", gray_image);

4、最后通过窗口显示图像,查看转换效果。
namedWindow(imageName, CV_WINDOW_AUTOSIZE);
 namedWindow("Gray image", CV_WINDOW_AUTOSIZE);
 imshow(imageName, image);
 imshow("Gray image", gray_image);

结果:
posted on 2016-07-12 07:40 canaan 阅读(1100) 评论(0)  编辑 收藏 引用 所属分类: OPenCV学习

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理