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;
}

转载于:https://www.cnblogs.com/Blackops/p/5857010.html

OpenCV学习笔记——多种Smooth平滑处理相关推荐

  1. OpenCV学习笔记(十六)——CamShift研究 OpenCV学习笔记(十七)——运动分析和物体跟踪Video OpenCV学习笔记(十八)——图像的各种变换(cvtColor*+)imgproc

    OpenCV学习笔记(十六)--CamShift研究 CamShitf算法,即Continuously Apative Mean-Shift算法,基本思想就是对视频图像的多帧进行MeanShift运算 ...

  2. OpenCV学习笔记(十一)(十二)(十三)(十四)(十五)

    OpenCV学习笔记(十一)--谈谈像素的类型和对Templates的限制使用 Templates是c++的一个很强大的特征,可以是数据结构更加安全高效.但也会增加编译时间和代码的长度,当函数被频繁调 ...

  3. opencv学习笔记11:图像滤波(均值,方框,高斯,中值)

    为什么要使用滤波 消除图像中的噪声成分叫作图像的平滑化或滤波操作.信号或图像的能量大部分集中在幅度谱的低频和中频段是很常见的,而在较高频段,感兴趣的信息经常被噪声淹没.因此一个能降低高频成分幅度的滤波 ...

  4. OpenCV学习笔记(十三):霍夫变换:HoughLines(),HoughLinesP(),HoughCircles( )

    OpenCV学习笔记(十三):霍夫变换:HoughLines(),HoughLinesP(),HoughCircles( ) 1.霍夫线变换HoughLines() OpenCV支持三种不同的霍夫线变 ...

  5. OpenCV学习笔记(十二):边缘检测:Canny(),Sobel(),Laplace(),Scharr滤波器

    OpenCV学习笔记(十二):边缘检测:Canny(),Sobel(),Laplace(),Scharr滤波器 1)滤波:边缘检测的算法主要是基于图像强度的一阶和二阶导数,但导数通常对噪声很敏感,因此 ...

  6. OpenCV学习笔记(十):图像金字塔Pyramid和图像缩放:pyrDown(),pyrUp(),resize()

    OpenCV学习笔记(十):图像金字塔Pyramid和图像缩放:pyrDown(),pyrUp(),resize() 一.图像金字塔定义: 图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是 ...

  7. OpenCV学习笔记(八):形态学morpholgy(2):开/闭运算,形态学梯度、顶帽/黑帽morphologyEx()

    OpenCV学习笔记(八):形态学morpholgy(2):开.闭运算,形态学梯度.顶帽.黑帽:morphologyEx() 数学形态学(Mathematical morphology) 是一门建立在 ...

  8. OpenCV学习笔记(六):非线性滤波-中值、双边:medianBlur(),bilateralFilter()

    OpenCV学习笔记(六):非线性滤波-中值.双边:medianBlur(),bilateralFilter() 1.中值滤波(Median filter) 是一种典型的非线性滤波技术,基本思想是用像 ...

  9. opencv学习笔记02

    原创博文地址:opencv学习笔记02 OpenCV-Python教程:11.图片阈值 https://www.jianshu.com/p/267a32ad0a23 cv2阈值处理:https://b ...

最新文章

  1. 【Java并发编程】面试必备之线程池
  2. python做bi系统_2020年很受Python工程师喜爱的5款数据可视化bi软件
  3. 使用 ApplicationDomain 类
  4. [题解] 2038: [2009国家集训队]小Z的袜子(hose)
  5. 【人工智能数学基础(五)】信息论
  6. 获取dm数据库基本信息
  7. 计算机界面没磁盘驱动器,驱动器中没有磁盘的原因和解决办法
  8. C语言经典回文数三种求法
  9. R2-React之ES6基础
  10. mian函数传入参数
  11. 利用Meshlab旋转三维点云模型
  12. prod和probor在matlab,智能控制讲义第六章Matlab在模糊控制中的应用.
  13. Java逍遥游记_我与《Java逍遥游记》
  14. android中setClickable,setEnabled,setFocusable的含义及区别
  15. JAVA EE JSP collection
  16. 未来十年,互联网将如何颠覆17个传统行业
  17. Nginx缓存、静态文件缓存配置
  18. 调频广播信号监测监播系统(广播电台调频广播监控系统)解决方案
  19. springBoot将Service实现类交给spring容器管理的两种方法
  20. VUE调用高德地图之电子围栏

热门文章

  1. php5.3 本地调试,WIN7下PHP 5.3.27和PHPStorm6调试
  2. hp服务器pe系统安装win7系统安装系统安装,惠普Folio 1040 G1 u盘pe如何重装win7系统...
  3. java 方法调用表达式_java lambda怎么表达式判断被调用接口名称和接口中方法
  4. 网易云api接口_网易云音乐你喜欢吗?你自己也可以做一个
  5. java不带括号_java – 打印数组,不带括号和逗号
  6. 单总线和i2c总线结合实现数字温度计的设计c语言程序,1《单片机原理应用》课程设计指导书2010-6-8.doc...
  7. oracle jde 实施,OracleJDE系统EDI数据接口的实施.doc
  8. svn迁移到git_SVN到GIT的迁移完整教程
  9. 方向导数、梯度与梯度下降
  10. python 获取几小时之前,几分钟前,几天前,几个月前,及几年前的具体时间