码迷,mamicode.com
首页 > 其他好文 > 详细

OpenCV 入门示例之四:一个简单的变换

时间:2014-05-20 02:35:49      阅读:376      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   class   c   code   

前言

  图像的平滑处理,是计算机视觉中非常重要的操作,本文将展示一个可以对图像进行平滑处理的简单程序。而关于平滑处理深层次的知识,会在以后的文章中重点探讨。

代码示例

bubuko.com,布布扣
 1 // 此头文件包含图像IO函数的声明
 2 #include "highgui.h"
 3  // 此头文件包含基本的图像处理函数和高级计算机视觉算法
 4 #include "cv.h"
 5 
 6 int main (void) {
 7 
 8     // 将D盘目录下名为" 1.jpg "的图像加载至内存并获得一个指向该图像内存块的指针img
 9     IplImage * img = cvLoadImage ("D:\\1.jpg");
10 
11     // 创建一个窗口显示平滑处理前的图像
12     cvNamedWindow ("平滑前", CV_WINDOW_AUTOSIZE);
13 
14     // 将图像装载进窗口并显示此窗口
15     cvShowImage ("平滑前", img);
16 
17     // 创建一个新的图像内存块,以存放平滑结果。
18     IplImage * out = cvCreateImage (
19         cvGetSize (img),
20         img->depth,
21         img->nChannels
22     );
23 
24     // 平滑处理函数,具体参数暂不去理会。
25     cvSmooth (
26         img, 
27         out, 
28         CV_GAUSSIAN, 
29         3, 
30         3
31     );
32 
33     // 创建一个窗口显示平滑处理前的图像
34     cvNamedWindow ("平滑前", CV_WINDOW_AUTOSIZE);
35 
36     // 将图像装载进窗口并显示此窗口
37     cvShowImage ("平滑后", out);
38 
39     // 该函数的参数为 0 时,程序将等待用户触发一个按键操作。
40     // 若参数为正整数,则程序将暂停该整数个毫秒单位直至用户有任何按键。
41     cvWaitKey (0);
42 
43     // 释放图像内存块
44     cvReleaseImage (&img);
45     cvReleaseImage (&out);
46 
47     // 关闭窗口同时释放窗口内存块
48     cvDestroyWindow ("平滑前");
49     cvDestroyWindow ("平滑后");
50 }
bubuko.com,布布扣

运行测试

  1. 将如下测试图片另存到 D 盘,命名为 "1.jpg":

  bubuko.com,布布扣

  2. 运行结果:

  bubuko.com,布布扣bubuko.com,布布扣

  仔细观察,发现右边的图像模糊了。

OpenCV 入门示例之四:一个简单的变换,布布扣,bubuko.com

OpenCV 入门示例之四:一个简单的变换

标签:des   style   blog   class   c   code   

原文地址:http://www.cnblogs.com/scut-fm/p/3731035.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!