OpenCV学习笔记——多种Smooth平滑处理
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平滑处理的更多相关文章
- OpenCV 学习笔记 07 目标检测与识别
目标检测与识别是计算机视觉中最常见的挑战之一.属于高级主题. 本章节将扩展目标检测的概念,首先探讨人脸识别技术,然后将该技术应用到显示生活中的各种目标检测. 1 目标检测与识别技术 为了与OpenCV ...
- opencv学习笔记(二)寻找轮廓
opencv学习笔记(二)寻找轮廓 opencv中使用findContours函数来查找轮廓,这个函数的原型为: void findContours(InputOutputArray image, O ...
- OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波
http://blog.csdn.net/chenyusiyuan/article/details/8710462 OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波 201 ...
- OpenCV 学习笔记 02 使用opencv处理图像
1 不同色彩空间的转换 opencv 中有数百种关于不同色彩空间的转换方法,但常用的有三种色彩空间:灰度.BRG.HSV(Hue-Saturation-Value) 灰度 - 灰度色彩空间是通过去除彩 ...
- opencv学习笔记D01
目录 opencv学习笔记D01 一.图片读取 二.图片保存 三.图片展示 四.图片缩放 五.四种常用插值方式的比较 1.最近邻插值 2.双线性插值 3.区域插值 4.三次样条插值 我是尾巴: ope ...
- OpenCV学习笔记3
OpenCV学习笔记3 图像平滑(低通滤波) 使用低通滤波器可以达到图像模糊的目的.这对与去除噪音很有帮助.其实就是去除图像中的高频成分(比如:噪音,边界).所以边界也会被模糊一点.(当然,也有一些模 ...
- opencv学习笔记(七)SVM+HOG
opencv学习笔记(七)SVM+HOG 一.简介 方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子 ...
- opencv学习笔记(六)直方图比较图片相似度
opencv学习笔记(六)直方图比较图片相似度 opencv提供了API来比较图片的相似程度,使我们很简单的就能对2个图片进行比较,这就是直方图的比较,直方图英文是histogram, 原理就是就是将 ...
- opencv学习笔记(五)镜像对称
opencv学习笔记(五)镜像对称 设图像的宽度为width,长度为height.(x,y)为变换后的坐标,(x0,y0)为原图像的坐标. 水平镜像变换: 代码实现: #include <ios ...
随机推荐
- C++调用Object-C界面
在C++代码中想调用显示一个IOS界面,使用NSNotificationCenter 1.在界面中注册消息 [[NSNotificationCenter defaultCenter] addObse ...
- VS2010 error C3861: “exit”: 找不到标识符
#include <stdlib.h> 可以解决问题
- 三种配置linux环境变量的方法(以java为例)
1.先确认是否为openjdk:参考 2. 修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性 ...
- LINUX安全设置
3. 为单用户引导加上密码 在“/etc/lilo.conf”文件中加入三个参数:time-out,restricted,password.这三个参数可以使你的系统在启动lilo时就要求密码验证. ...
- 火车站(codevs 2287)
题目描述 Description 火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上.下车,但上.下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数 ...
- p364习题1
- linux shell的切换
查看系统可用shell种类:(一般是bash shell) ➜ ~ chsh -l /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/zsh 修改当前的sh ...
- 在Android软按键中添加Menu键
在Android中,有时候没有硬件Menu.于是需要软件Menu.但是默认Google想让你用ActionBar上的Menu. 但是,有时候我们确实需要在在底部的软按键上加Menu.这里提供一种方法, ...
- mac上安装gradle
首先,先download最新版本的gradle,网址如下:http://www.gradle.org/get-started然后将下载下来的zip包放在你要安装的路径上,我安装在/usr/local/ ...
- 编译包含Google Play服务App的SDK版本问题
编译包含Google Play服务App的SDK版本问题 错误信息:No Resouce identifier found for attribute 'touchscreen BlocksFoc ...