博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenCV 入门示例之四:一个简单的变换
阅读量:4659 次
发布时间:2019-06-09

本文共 1293 字,大约阅读时间需要 4 分钟。

前言

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

代码示例

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->nChannels22     );23 24     // 平滑处理函数,具体参数暂不去理会。25     cvSmooth (26         img, 27         out, 28         CV_GAUSSIAN, 29         3, 30         331     );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 51     return 0;52 }

运行测试

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

  

  2. 运行结果:

  

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

转载于:https://www.cnblogs.com/scut-fm/p/3731035.html

你可能感兴趣的文章
不同的领导,不同的关注点
查看>>
虚拟机报错:无法打开内核设备"\\.\Global\vmx86":
查看>>
Chapter 3 Phenomenon——8
查看>>
网络编程
查看>>
sublime text 按下Ctrl + B 显示空白的解决办法
查看>>
.net批量上傳Csv檔資料應用程序開發總結
查看>>
Java知识点总结
查看>>
C#中的String.Format()方法
查看>>
hdu 1000&hdu1001
查看>>
堆积木----vector防止内存超限
查看>>
MySQL 5.5 表分区功能增强
查看>>
more web
查看>>
VS2010 开发建立webservice服务并发布,使用VB6.0测试调用
查看>>
有限状态机FSM
查看>>
C# MemoryStream先写后读的奇怪现象
查看>>
自定义UITableViewCell详细步骤
查看>>
MySQL外键(foreign key)使用及说明详解
查看>>
Net记忆(转)
查看>>
ASP.NET MVC3关于生成纯静态后如何不再走路由直接访问静态页面
查看>>
图解 魔方快速还原 7步法
查看>>