实现图片的2次缩放后再进行candy边缘检测
//实现图片的2次缩放后再进行candy边缘检测
//Author:SD
//Date:2015-9-27
#include "cv.h"
#include "highgui.h"
//图像的缩放处理
//cvPyrDown()函数进行图像长宽的缩放(1/2)
	IplImage* doPyrDown(IplImage * in, int filter = IPL_GAUSSIAN_5x5){
assert( in->width%2==0 && in->height%2==0);//要求输入的图片的长、宽可以被2整除。。。。
		IplImage * end =cvCreateImage(cvSize (in->width/2, in->height/2),in->depth, in->nChannels);//图像的宽、高,图像元素的位深度,每个元素(像素)通道号
		cvPyrDown(in,end);
		return (end);
	};
	//candy边缘检测
	IplImage* doCanny(IplImage* in ,double lowThresh, double highThresh, double aperture){
	if(in->nChannels !=1) return (0);
	IplImage* out =cvCreateImage(cvGetSize(in),IPL_DEPTH_8U,1);//像素8位,通道1号
	cvCanny(in,out,lowThresh,highThresh,aperture);
	return (out);
};
	//主函数
	int main(int argc, char **argv){
		//载入图片
		IplImage* img=cvLoadImage("E:\\picture\\y.jpg",0);
		//申明调用函数
		IplImage* doPyrDown(IplImage * in, int filter = IPL_GAUSSIAN_5x5);//缩放
		IplImage* doCanny(IplImage* in ,double lowThresh, double highThresh, double aperture);//边缘检测
		//2次缩放处理
		IplImage* img1 =doPyrDown(img,IPL_GAUSSIAN_5x5);
		IplImage* img2 =doPyrDown(img1,IPL_GAUSSIAN_5x5);
		//边缘检测
		IplImage* docanny_img=doCanny(img2 ,10, 200, 3);
		//创建输出窗口
		cvNamedWindow("原始图片");
		cvNamedWindow("一次缩放");
		cvNamedWindow("二次缩放");
		cvNamedWindow("边缘检测");
		//显示图片
		cvShowImage("原始图片",img);
		cvShowImage("一次缩放",img1);
		cvShowImage("二次缩放",img2);
		cvShowImage("边缘检测",docanny_img);
		//等待按键事件,0毫秒
		 cvWaitKey(0);
		 //释放空间
		  cvReleaseImage(&img);
		  cvDestroyWindow("原始图片");
		  cvDestroyWindow("一次缩放");
		  cvDestroyWindow("二次缩放");
		  cvDestroyWindow("边缘检测");
}
实现图片的2次缩放后再进行candy边缘检测的更多相关文章
- java后台中处理图片辅助类汇总(上传图片到服务器,从服务器下载图片保存到本地,缩放图片,copy图片,往图片添加水印图片或者文字,生成二维码,删除图片等)
		
最近工作中处理小程序宝箱活动,需要java画海报,所以把这块都快百度遍了,记录一下处理的方法,百度博客上面也有不少坑! 获取本地图片路径: String bgPath = Thread.current ...
 - C#图片处理示例(裁剪,缩放,清晰度,水印)
		
C#图片处理示例(裁剪,缩放,清晰度,水印) 吴剑 2011-02-20 原创文章,转载必需注明出处:http://www.cnblogs.com/wu-jian/ 前言 需求源自项目中的一些应用,比 ...
 - PHP实现图片的等比缩放和Logo水印功能示例
		
文章来自于:脚本之家 文章链接:https://www.jb51.net/article/112909.htm 这篇文章主要介绍了PHP实现图片的等比缩放和Logo水印功能,结合实例形式分析了php图 ...
 - android项目 之 记事本(12) ----- 图片的等比例缩放及给图片加入边框
		
本文是自己学习所做笔记.欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020 在Android的UI开发中常常会遇到图片的缩放,就比方记事本,如今的图片都比較 ...
 - 【原创】iOS图片预览(支持缩放和移动)
		
1.传入图片 PreViewController.h: #import <UIKit/UIKit.h> @interface PreViewController : UIViewContr ...
 - 超大图片显示,可任意缩放,移动,不用DiskLruCache
		
1.演示,代码 下载示例apk 下载项目 : https://gitee.com/xi/LImage.git 2.遇到的问题 想省内存,不太可能 只支持拖拽手势,不支持缩放相对简单,解码v ...
 - js实现图片的等比例缩放
		
js实现图片的等比例缩放 CreateTime--2018年3月6日14:04:18 Author:Marydon 1.代码展示 /** * 图片按宽高比例进行自动缩放 * @param ImgO ...
 - IOS中录音后再播放声音太小问题解决
		
1.AVAudioSessionCategory说明 1.1 AVAudioSessionCategoryAmbient 或 kAudioSessionCategory_AmbientSound 用于 ...
 - 工作总结 1 sql写法 insert into select from  2 vs中 obj文件和bin文件  3 npoi 模板copy CopySheet 最好先全部Copy完后 再根据生成sheet写数据  4 sheet.CopyRow(rowsindex, rowsindex + x);    5 npoi 复制模板如果出现单元格显示问题
		
我们可以从一个表中复制所有的列插入到另一个已存在的表中: INSERT INTO table2SELECT * FROM table1; 或者我们可以只复制希望的列插入到另一个已存在的表中: INSE ...
 
随机推荐
- Oracle DBWR,LGWR,CKPT,ARCH 触发条件 总结
			
一. DBWR写磁盘数据触发条件 1. 当进程在辅助LRU链表和主LRU链表上扫描以查找可以覆盖的buffer header[空闲缓冲区]时,如果已经扫描的buffer header的数量到达一定的 ...
 - Python字典笔记
			
1.字典是Python中=唯一的映射类型.映射类型对象里哈希值(键,key)和只指向的对象(值,value)是一对多的关系,一个字典是可变的,是一个容器类型.字典类型和序列类型(元组,列表)的不同在于 ...
 - threading模块和queue模块实现程序并发功能和消息队列
			
简介: 通过三个例子熟悉一下python threading模块和queue模块实现程序并发功能和消息队列. 说明:以下实验基于python2.6 基本概念 什么是进程? 拥有独立的地址空间,内存,数 ...
 - for循环小题
			
已知数列1,1,2,3,5,8,…….,N.输出前N项的和: 出1到100之间所有偶数之和 国际象棋问题 已知数列1,1,2,3,5,8,…….,N.输出前N项的和: int a = 1, b = 1 ...
 - IntelliJ IDEA中配置reportNG
			
找了好多资料,各种设置都是eclipse上面的.后来发现原来就在Run->Edit Configurations->TestNG->Configuration->Listenn ...
 - 通过命令行安装Android app
			
手动安装安卓app的命令为:adb install -r C:\Users\Lihao\workspace\Appium_Demo\apps\app_F_1.3.0.apk
 - 【Android】【录音】Android录音--AudioRecord、MediaRecorder
			
[Android][录音]Android录音--AudioRecord.MediaRecorder Android提供了两个API用于实现录音功能:android.media.AudioRecord. ...
 - Python教程:[69]strip()函数详解
			
strip()用于裁剪字符串首尾的某些字符,是一个用处非常多的函数,今天我们来通过例子来探讨一下它的基本用法: 假如有一个这样的字符串 strip()不带任何参数,可以删除首位的空格 但是strip( ...
 - HTML5服务器推送事件
			
目前客户端(浏览器)和服务端交互大致有以下几种方式: 1)form表单提交方式,适合访问量不大,对用户体验要求不高的web系统开发,或者页面整体刷新无伤大雅的场合,通信方向是客户端提交给服务端,是客户 ...
 - 【转载】springMVC表单校验+全注解
			
在这篇文章中,我们将学习如何使用Spring表单标签, 表单验证使用 JSR303 的验证注解,hibernate-validators,提供了使用MessageSource和访问静态资源(如CSS, ...