图像滤波,均值和高斯-------学习记录(8)
2015-06-09 16:55
260 查看
#include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" using namespace std; using namespace cv; int DELAY_CAPTION = 1500; int DELAY_BLUR = 1000; int MAX_KERNEL_LENGTH = 31; Mat src, dst; char window_name[] = "Fliter Demo 1"; /// 函数申明 int display_caption( char* caption ); //用于滤波器名称显示 int display_dst( int delay ); //用于于滤波执行时间 int main(int argc, char* argv[]) { namedWindow( window_name, CV_WINDOW_AUTOSIZE ); src = imread("lena.jpg"); //载入原图像 if( display_caption( "Original Image" ) != 0 ) { return 0; } dst = src.clone(); if ( display_dst(DELAY_CAPTION) != 0){return 0;} //使用均值滤波函数 if( display_caption( "Homogeneous Blur" ) != 0 ) { return 0; } for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 ) { blur( src, dst, Size( i, i ), Point(-1,-1) ); if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } } //使用高斯滤波 if( display_caption( "Gaussian Blur" ) != 0 ) { return 0; } for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 ) { GaussianBlur( src, dst, Size( i, i ), 0, 0 ); if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } } display_caption( "End: Press a key!" ); waitKey(0); return 0; } int display_caption(char* caption){ dst = Mat::zeros( src.size(), src.type() ); putText( dst, caption, Point( src.cols/4, src.rows/2 ), CV_FONT_HERSHEY_COMPLEX, 1, Scalar(255,255,255)); imshow( window_name, dst ); int c = waitKey( DELAY_CAPTION ); if ( c >= 0 ) { return -1; } return 0; } int display_dst( int delay ){ imshow( window_name, dst ); int c = waitKey( DELAY_BLUR ); if ( c >= 0) { return -1; } return 0; }
相关文章推荐
- 类设计的原则
- 封装标签省,市,县。三级联动
- 技术普及帖:你刚才在淘宝上买了一件东西
- ios简单动画的实现
- CF305 Mike and Feet 单调栈(求每个长度对应的最小数字)
- chrome中自动填充功能,背景出现黄色问题
- Drill for windows 安装以及使用
- org.tinygroup.validatecomponent-流程校验组件
- Qt中设置widget背景颜色背景图片的注意事项
- 从单链表中删除最大的元素,单链表元素排序
- java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.badlogic.androidgames.
- 路,从这里开始
- ThunderBird的恼人特性:自动转换文本附件的换行
- 《C++语言基础》程序阅读——二进制文件及文件的随机读写
- C#模拟百度登录
- 怎样通过iPhone Safari 来安装测试版ipa
- GRE写作范文——法律的公正
- 用Editplus配置JAVA编辑环境
- 用 Apache Tika 理解信息内容
- 防止Cross-site scripting (XSS)