OpenCV 入门示例之四:一个简单的变换
前言
图像的平滑处理,是计算机视觉中非常重要的操作,本文将展示一个可以对图像进行平滑处理的简单程序。而关于平滑处理深层次的知识,会在以后的文章中重点探讨。
代码示例
// 此头文件包含图像IO函数的声明
#include "highgui.h"
// 此头文件包含基本的图像处理函数和高级计算机视觉算法
#include "cv.h" int main (void) { // 将D盘目录下名为" 1.jpg "的图像加载至内存并获得一个指向该图像内存块的指针img
IplImage * img = cvLoadImage ("D:\\1.jpg"); // 创建一个窗口显示平滑处理前的图像
cvNamedWindow ("平滑前", CV_WINDOW_AUTOSIZE); // 将图像装载进窗口并显示此窗口
cvShowImage ("平滑前", img); // 创建一个新的图像内存块,以存放平滑结果。
IplImage * out = cvCreateImage (
cvGetSize (img),
img->depth,
img->nChannels
); // 平滑处理函数,具体参数暂不去理会。
cvSmooth (
img,
out,
CV_GAUSSIAN,
, ); // 创建一个窗口显示平滑处理后的图像
cvNamedWindow ("平滑后", CV_WINDOW_AUTOSIZE); // 将图像装载进窗口并显示此窗口
cvShowImage ("平滑后", out); // 该函数的参数为 0 时,程序将等待用户触发一个按键操作。
// 若参数为正整数,则程序将暂停该整数个毫秒单位直至用户有任何按键。
cvWaitKey (); // 释放图像内存块
cvReleaseImage (&img);
cvReleaseImage (&out); // 关闭窗口同时释放窗口内存块
cvDestroyWindow ("平滑前");
cvDestroyWindow ("平滑后"); return ;
}
运行测试
1. 将如下测试图片另存到 D 盘,命名为 "1.jpg":
2. 运行结果:
仔细观察,发现右边的图像模糊了。
OpenCV 入门示例之四:一个简单的变换的更多相关文章
- OpenCV 入门示例之五:一个复杂点的变换
前言 前文介绍了一个简单的变换.需要注意的是,很多时候,输出和输入图像的格式是不同的( 大小,深度,通道 ).在本文将展示的程序中,对图像进行了缩放( 使用cvPyrDown 函数 ),这种情况下需要 ...
- JAVA WEB快速入门之通过一个简单的Spring项目了解Spring的核心(AOP、IOC)
接上篇<JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构.调试.部署>,通过一个简单的JSP WEB网站了解了JAVA WEB相关的知识,比如:Ser ...
- Express入门教程:一个简单的博客
来自: http://ourjs.com/detail/56b2a6f088feaf2d031d2468 Express 简介 Express 是一个简洁而灵活的 node.js Web应用框架, ...
- WCF入门, 到创建一个简单的WCF应用程序
什么是WCF? WCF, 英文全称(windows Communication Foundation) , 即为windows通讯平台. windows想到这里大家都知道了 , WCF也正是由微软公 ...
- struts2入门第一天----------一个简单例
搭建完环境后就可以动手去打代码了.首先创建一个简单的提交表单的jsp页面(html页面也可以), <%@ page language="java" import=" ...
- 无废话WCF入门教程六[一个简单的Demo]
一.前言 前面的几个章节介绍了很多理论基础,如:什么是WCF.WCF中的A.B.C.WCF的传输模式.本文从零开始和大家一起写一个小的WCF应用程序Demo. 大多框架的学习都是从增.删.改.查开始来 ...
- 微信小程序入门之构建一个简单TODOS应用
最近开始了解微信小程序,虽然小程序已经出了很久了,刚出的那段时间很火,看到很多关于小程序的技术文章,不过现在似乎没那么火了,anyway,我们还是可以学习下的. 一.了解微信小程序 1.理念:小程序开 ...
- 【转】WCF入门教程六[一个简单的Demo]
一.前言 前面的几个章节介绍了很多理论基础,如:什么是WCF.WCF中的A.B.C.WCF的传输模式.本文从零开始和大家一起写一个小的WCF应用程序Demo. 大多框架的学习都是从增.删.改.查开始来 ...
- Android 入门第一课 一个简单的提示框
1.打开Android开发环境Eclipse来到主界面 2.新建一个安卓项目 File->New->Android Application project 在上面有红色错误的地方填上应用程 ...
随机推荐
- MOSFET 符號解說
符號 上面這個是 空乏型 的 MOSFET 符號 (有做過修改), 一個是 P channel, 一個是 N channel, 空乏型本身就有通道,所以中間是沒有斷掉的直線, P 代表 + , 有外放 ...
- 常用公共DNS服务器地址
DNS,全称Domain Name System,即域名解析系统,帮助用户在互联网上寻找路径,它在互联网的作用是把域名转换成为网络可以识别的IP地址.目前国内电信运营商通过使用DNS劫持和DNS污染的 ...
- 转载——Java与WCF交互(二):WCF客户端调用Java Web Service
在上篇< Java与WCF交互(一):Java客户端调用WCF服务>中,我介绍了自己如何使用axis2生成java客户端的悲惨经历.有同学问起使用什么协议,经初步验证,发现只有wsHttp ...
- html5---音频视频基础一
//html5 音频和视频 :标签 a: audio,video b: source :视频容器 a:容器文件,类似于压缩了一组文件 -音频轨道 -视频轨道 -元数据:封面,标题,字幕等 -格式:.a ...
- centos 7 mysql 离线安装教程
1. 解压下载的zip包,会发现有以下几个rpm包: MySQL-client-advanced-5.6.22-1.el7.x86_64.rpm MySQL-devel-advanced-5.6.22 ...
- IIS配置支持apk文件下载
写在前面 最近项目中涉及到移动端的东西,有一个功能是要下载apk文件,apk为安卓安装程序,但是iis默认是不支持该类型的文件下载的. 解决方案 找到该站点,并切换到功能视图 找到MIME类型,双击进 ...
- 查找python项目依赖并生成requirements.txt
1.如果使用virtualenv环境,直接使用 pip freeze > requirements.txt ➜ ~ .virtualenvs/xxx/bin/pip freeze > r ...
- redis参数配置
redis.conf配置文件 配置项 值 说明 slave-read-only yes slave是否只读 slave-serve-stale-data yes 当slave与master断开连接,s ...
- 2017.2.7 开涛shiro教程-第六章-Realm及相关对象(三)
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 第六章 Realm及相关对象(三) 1.准备3个Realm MyR ...
- Linux下防火墙iptables用法规则详及其防火墙配置
转:http://www.linuxidc.com/Linux/2012-08/67952.htm iptables规则 规则--顾名思义就是规矩和原则,和现实生活中的事情是一样的,国有国法,家有家规 ...