opencv库提供了好几种模糊平滑Smooth操作的类型作为cvSmooth的参数传入,从而达到不同的平滑效果,另外复习了一下如何复制一份图像和重新调整图像大小。

调整图像大小目前是按照一下步骤进行:

1、先cvcreate一个新的图像,cvcreate中的参数设为调整之后的大小(用Cvsize的构造函数封装代入)

2、然后再用cvresize把原图像输入到刚才构造的已设定好尺寸的图像中

代码:

#include<cv.h>
#include<highgui.h>
//多种smooth的样例
int main(void)
{
IplImage *ori_src = cvLoadImage("cc.jpg");
IplImage *src = cvCreateImage(CvSize(ori_src->width>>1,ori_src->height>>1), ori_src->depth, ori_src->nChannels); cvResize(ori_src, src, CV_INTER_LINEAR); IplImage *dst_blur = cvCreateImage(cvGetSize(src), src->depth, src->nChannels);
IplImage *dst_blur_no_scale= cvCreateImage(cvGetSize(src), src->depth, src->nChannels);
IplImage *dst_gaussian = cvCreateImage(cvGetSize(src), src->depth, src->nChannels);
IplImage *dst_medeian= cvCreateImage(cvGetSize(src), src->depth, src->nChannels);
IplImage *dst_bilateral = cvCreateImage(cvGetSize(src), src->depth, src->nChannels); cvNamedWindow("Orignal",CV_WINDOW_AUTOSIZE);
cvNamedWindow("Cvsmooth_blur");
cvNamedWindow("Cvsmooth_blur_no_scale");
cvNamedWindow("Cvsmooth_gaussian");
cvNamedWindow("Cvsmooth_medeian");
cvNamedWindow("Cvsmooth_bilateral"); cvSmooth(src, dst_blur, CV_BLUR, 3, 3, 0, 0);
cvSmooth(src, dst_blur_no_scale, CV_BLUR_NO_SCALE, 3, 3, 0, 0);
cvSmooth(src, dst_gaussian, CV_GAUSSIAN, 3, 3, 0, 0);
cvSmooth(src, dst_medeian, CV_MEDIAN, 3, 3, 0, 0);
cvSmooth(src, dst_bilateral, CV_BILATERAL, 3, 3, 0, 0); cvShowImage("Orignal", src);
cvShowImage("Cvsmooth_blur", dst_blur);
cvShowImage("Cvsmooth_bur_no_scale", dst_blur_no_scale);
cvShowImage("Cvsmooth_gaussian", dst_gaussian);
cvShowImage("Cvsmooth_medeian", dst_medeian);
cvShowImage("Cvsmooth_bilateral", dst_bilateral); cvWaitKey(0); cvDestroyAllWindows();
cvReleaseImage(&ori_src);
cvReleaseImage(&src);
cvReleaseImage(&dst_blur);
cvReleaseImage(&dst_blur_no_scale);
cvReleaseImage(&dst_gaussian);
cvReleaseImage(&dst_medeian);
cvReleaseImage(&dst_bilateral);
return 0;
}

OpenCV学习笔记——多种Smooth平滑处理的更多相关文章

  1. OpenCV 学习笔记 07 目标检测与识别

    目标检测与识别是计算机视觉中最常见的挑战之一.属于高级主题. 本章节将扩展目标检测的概念,首先探讨人脸识别技术,然后将该技术应用到显示生活中的各种目标检测. 1 目标检测与识别技术 为了与OpenCV ...

  2. opencv学习笔记(二)寻找轮廓

    opencv学习笔记(二)寻找轮廓 opencv中使用findContours函数来查找轮廓,这个函数的原型为: void findContours(InputOutputArray image, O ...

  3. OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波

    http://blog.csdn.net/chenyusiyuan/article/details/8710462 OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波 201 ...

  4. OpenCV 学习笔记 02 使用opencv处理图像

    1 不同色彩空间的转换 opencv 中有数百种关于不同色彩空间的转换方法,但常用的有三种色彩空间:灰度.BRG.HSV(Hue-Saturation-Value) 灰度 - 灰度色彩空间是通过去除彩 ...

  5. opencv学习笔记D01

    目录 opencv学习笔记D01 一.图片读取 二.图片保存 三.图片展示 四.图片缩放 五.四种常用插值方式的比较 1.最近邻插值 2.双线性插值 3.区域插值 4.三次样条插值 我是尾巴: ope ...

  6. OpenCV学习笔记3

    OpenCV学习笔记3 图像平滑(低通滤波) 使用低通滤波器可以达到图像模糊的目的.这对与去除噪音很有帮助.其实就是去除图像中的高频成分(比如:噪音,边界).所以边界也会被模糊一点.(当然,也有一些模 ...

  7. opencv学习笔记(七)SVM+HOG

    opencv学习笔记(七)SVM+HOG 一.简介 方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子 ...

  8. opencv学习笔记(六)直方图比较图片相似度

    opencv学习笔记(六)直方图比较图片相似度 opencv提供了API来比较图片的相似程度,使我们很简单的就能对2个图片进行比较,这就是直方图的比较,直方图英文是histogram, 原理就是就是将 ...

  9. opencv学习笔记(五)镜像对称

    opencv学习笔记(五)镜像对称 设图像的宽度为width,长度为height.(x,y)为变换后的坐标,(x0,y0)为原图像的坐标. 水平镜像变换: 代码实现: #include <ios ...

随机推荐

  1. Servlet过滤器和监听器

    1,Servlet过滤器 <filter> <filter-name>charset</filter-name> <filter-class>org.g ...

  2. Redis、Memcache和MongoDB的区别

    >>Memcached Memcached的优点:Memcached可以利用多核优势,单实例吞吐量极高,可以达到几十万QPS(取决于key.value的字节大小以及服务器硬件性能,日常环境 ...

  3. a个人经验总结

    个人经验总结 js中事件有个 on前缀  比如 onclick  onmousemove jq中事件省略 on 如 click mousemove html引入其他页面 <iframe src= ...

  4. Sql server之路 (五)插入多条数据

    public bool GetDataUsingDataTaskReason(StationReasonCollection reason) { try { strCon.Open(); DateTi ...

  5. 51 NOD 1685 第K大区间2 二分+BIT

    题目描述: 定义一个长度为奇数的区间的值为其所包含的的元素的中位数. 现给出n个数,求将所有长度为奇数的区间的值排序后,第K大的值为多少. 样例解释: [l,r]表示区间的值 [1]:3 [2]:1 ...

  6. 小甲鱼PE详解之输入表(导入表)详解(PE详解07)

    捷径并不是把弯路改直了,而是帮你把岔道堵上! 走得弯路跟成长的速度是成正比的!不要害怕走上弯路,弯路会让你懂得更多,最终还是会在终点交汇! 岔路会将你引入万劫不复的深渊,并越走越深…… 在开始讲解输入 ...

  7. web的三种监听器

    servletcontextlistener servletrequestlistener httpsessionlistener

  8. 下拉更新列表Android-PullToRefresh

    项目地址:https://github.com/chrisbanes/Android-PullToRefresh

  9. Xamarin Anroid开发教程之验证环境配置是否正确

    Xamarin Anroid开发教程之验证环境配置是否正确 经过前面几节的内容已经把所有的编程环境设置完成了,但是如何才能确定所有的一切都处理争取并且没有任何错误呢?这就需要使用相应的实例来验证,本节 ...

  10. 寒假D1 B

    B - B Crawling in process... Crawling failed Time Limit:0MS     Memory Limit:0KB     64bit IO Format ...