cvCanny

核心函数:cvCanny

程序:

代码:

#include "cv.h"
#include "cxcore.h"
#include "highgui.h"
#include <iostream>
int canny(int argc,char** argv)
{
IplImage* src1=cvLoadImage("e:\\picture\\7.jpg",0);  //源图像和目的图像都必须为灰度图像
IplImage* src2=cvLoadImage("e:\\picture\\8.jpg",0);
IplImage* src3=cvLoadImage("e:\\picture\\4.jpg",0);
IplImage* dst1=cvCreateImage(cvGetSize(src1),8,1);
IplImage* dst2=cvCreateImage(cvGetSize(src2),8,1);
IplImage* dst3=cvCreateImage(cvGetSize(src3),8,1);
cvCanny(src1,dst1,50,125); //第三个和第四个参数分别为上下阀值,建议上下阀值的比为2:1到3:1
cvCanny(src2,dst2,50,125);
cvCanny(src3,dst3,50,125);
cvNamedWindow("src1");
cvNamedWindow("src2");
cvNamedWindow("src3");
cvNamedWindow("dst1");
cvNamedWindow("dst2");
cvNamedWindow("dst3");
cvShowImage("src1",src1);
cvShowImage("src2",src2);
cvShowImage("src3",src3);
cvShowImage("dst1",dst1);
cvShowImage("dst2",dst2);
cvShowImage("dst3",dst3);
cvWaitKey(0);
cvDestroyWindow("src1");
cvDestroyWindow("src2");
cvDestroyWindow("src3");
cvDestroyWindow("dst1");
cvDestroyWindow("dst2");
cvDestroyWindow("dst3");
cvReleaseImage(&src1);
cvReleaseImage(&src2);
cvReleaseImage(&src3);
cvReleaseImage(&dst1);
cvReleaseImage(&dst2);
cvReleaseImage(&dst3);
return 0;
}

cvCanny

时间: 2024-08-28 22:18:41

cvCanny的相关文章

图像边缘检测--OpenCV之cvCanny函数

图像边缘检测--OpenCV之cvCanny函数 分类: C/C++ void cvCanny( const CvArr* image, CvArr* edges, double threshold1, double threshold2, int aperture_size=3 ); image单通道输入图像.edges单通道存储边缘的输出图像threshold1第一个阈值threshold2第二个阈值aperture_sizeSobel 算子内核大小 (见 cvSobel). 函数 cvCa

【练习6.7】设置cvCanny的不同参数处理图像,对比结果

提纲 题目要求 程序代码 结果图片 要言妙道 题目要求: 通过设置cvCanny中好的低阈值和高阈值,使用三种不同的高低阈值比,分别为1.5:1 .2.75:1.4:1 a.设置高阈值小于50 b.设置50<高阈值<100 c.设置100<高阈值<150 e.设置200<高阈值<250 程序代码: 1 // OpenCVExerciseTesting.cpp : 定义控制台应用程序的入口点. 2 // 3 //D:\\Work\\Work_Programming\\So

【练习6.8】霍夫直线变换、圆变换,cvCanny边缘检测,找圆找直线

提纲 题目要求 程序代码 结果图片 要言妙道 题目要求: 使用霍夫直线变换和霍夫圆变换 a.找圆 b.找直线 程序代码: 1 // OpenCVExerciseTesting.cpp : 定义控制台应用程序的入口点. 2 // 3 //D:\\Work\\Work_Programming\\Source\\Image\\lena.jpg 4 5 6 #include "stdafx.h" 7 #include <cv.h> 8 #include <highgui.h&

MAC平台下Xcode配置使用OpenCV的具体方法 (2016最新)

1.序言: 1.1 背景 本人小白一枚,不过因为最近在从事机器视觉方面的工作,所以接触到OpenCV. 因为工作需求,本人要在MAC端使用OpenCV实现一些视觉功能,配置环境成了最大的阻碍,网上查了很多相关资料和博客,都因为版本环境问题屡试屡败,不过经历重重尝试,笔者最终还是配置成功并运行了自己的源码.当然成功的关键还是因为笔者站在了巨人的肩膀上,借鉴了很多网上的教程,为了不误导大家配置的过程,参考文章的地址统一放在文章里,望各位大大看见之后能够理解,废话不说进入正题. 1.2 环境说明 如果

Canny边缘检测算法原理及其VC实现详解(二)

转自:http://blog.csdn.net/likezhaobin/article/details/6892629 3.  Canny算法的实现流程 由于本文主要目的在于学习和实现算法,而对于图像读取.视频获取等内容不进行阐述.因此选用OpenCV算法库作为其他功能的实现途径(关于OpenCV的使用,作者将另文表述).首先展现本文将要处理的彩色图片. 图2 待处理的图像 3.1 图像读取和灰度化 编程时采用上文所描述的第二种方法来实现图像的灰度化.其中ptr数组中保存的灰度化后的图像数据.具

OpenCV图像处理

OpenCV实现图像的灰度化->二值化->Canny边缘检测以及对比度(Contrast)和亮度(Brightness)值调整 图像灰度化:简单的来说就是使R,G,B value在阈值[0,255]间取得相同的值,总共有256个等级,黑白两种颜色其实可以看成是灰度化处于两个极端时的情形,中间254个等级分别代表灰度化的程度(浅深). 图像二值化:简单的来说就是将图像上的像素点的灰度值设置为(0,0,0)(黑色)或(255,255,255)(白色),使图像只呈现出明显的黑白效果. Canny算子

opencv将图像转化为灰度图,然后边缘检测

1:代码如下: #include "stdafx.h" #include "highgui.h" #include "cv.h" #include "iostream" using namespace std; IplImage* doCanny(IplImage* in,double lowThresh,double highThresh,double aperture) { if(in->nChannels !=1)

Canny边缘检测算法原理及C语言实现详解(原创码字)

Canny算子是John Canny在1986年提出的,那年老大爷才28岁,该文章发表在PAMI顶级期刊上的(1986. A computational approach to edge detection. IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 8, 1986, pp. 679-698).老大爷目前在加州伯克利做machine learning,80-90年代视觉都是图像处理,现在做视觉都是机器

从视频文件中读入数据--&gt;将数据转换为灰度图--&gt;对图像做candy边缘检测

//从视频文件中读入数据-->将数据转换为灰度图-->对图像做candy边缘检测 //作者:sandy //时间:2015-10-10 #include <cv.h> #include <highgui.h> int main(int argc, char *argv[]){ //预备工作 CvCapture* capture=cvCreateFileCapture("E:\\Videos\\xx.avi");//让capture变量指向视频文件 i