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. object-c学习笔记

    原文地址 最近开始学习object-c,分享一下学习oc的经验以及对oc的理解,其中难免会有错误,请大家理解. 对初学者来说,objective-c存在了很多令人费解的写法,当然也包括我! 我刚开始看 ...

  2. 基于gitosis的Git云端服务器配置

    (本文需要自己实践,由于时间关系,我仅仅是做了整理和快速的练习,至于笔记中的账号和ip域名都是我参考文章中的.如果读者有任何问题欢迎留言和发邮件到luoquantao@126.com) 硬件:云端阿里 ...

  3. July 21st, Week 30th Thursday, 2016

    What youth deemed crystal, age finds out was dew. 年少时的水晶,在岁月看来不过是露珠. As time goes by, we are gradual ...

  4. Markdown 语法速查表

      Markdown 语法速查表 1 标题与文字格式 标题 # 这是 H1 <一级标题> ## 这是 H2 <二级标题> ###### 这是 H6 <六级标题> 文 ...

  5. javascript ASCII和Hex互转

    <script> var symbols = " !\"#$%&'()*+,-./0123456789:;<=>?@"; var loAZ ...

  6. unsatisfied类型的异常

    一般为libs包下arm64-v8a,armeabi,armeabi-v7a,mips,mips64,x86,x86_64等文件夹下的.so文件丢失. 一般情况,armeabi下的so文件需要拷贝一份 ...

  7. ip

    D组播地址 主机号 用于识别该网络中的主机. IP地址分为五类,A类保留给政府机构,B类分配给中等规模的公司,C类分配给任何需要的人,D类用于组播,E类用于实验,各类可容纳的地址数目不同. A.B.C ...

  8. error: Refusing to undefine while domain managed save image exists

    [root@ok libvirt]# virsh undefine win7 error: Refusing to undefine while domain managed save image e ...

  9. Redis笔记(三)Redis的数据类型

    前面说过,Redis的一大特性是支持丰富的数据类型, 这为更多的应用场景提供了可能. Redis有五种数据类型,包括string,list,set,sorted set和hash,注意,Redis的数 ...

  10. php加密解密

    <?php . [代码][PHP]代码      <?php , ;         return setcookie($name, $value, $expire, $path, $do ...