📄 18-6.cpp
字号:
// ************************* 程序 18-6 ****************************
/*** 程序功能:
canny边缘检测
// ***************************************************************/
//
/*
#include "cv.h"
#include "cxcore.h"
#include "highgui.h"
int main ( int argc, char **argv )
{
//声明IplImage指针
IplImage *pImg = NULL;
IplImage *pContourImg = NULL;
CvMemStorage *storage = cvCreateMemStorage ( 0 );
CvSeq *contour = 0;
int mode = CV_RETR_EXTERNAL;
//创建窗口
cvNamedWindow ( "src", 1 );
cvNamedWindow ( "contour", 1 );
//载入图像,强制转化为Gray
if ( ( pImg = cvLoadImage ( "4.png", 0 ) ) != 0 )
{
cvShowImage ( "src", pImg );
//为轮廓显示图像申请空间
//3通道图像,以便用彩色显示
pContourImg = cvCreateImage ( cvGetSize ( pImg ), IPL_DEPTH_8U, 3 );
//将图像转换为BGR模式
cvCvtColor ( pImg, pContourImg, CV_GRAY2BGR );
//查找contour 提取黑色背景下的物品轮廓
cvFindContours ( pImg,
storage,
&contour,
sizeof ( CvContour ),
mode,
CV_CHAIN_APPROX_SIMPLE );
}
else
{
//销毁窗口
cvDestroyWindow ( "src" );
cvDestroyWindow ( "contour" );
cvReleaseMemStorage ( &storage );
return -1;
}
//将轮廓画出
cvDrawContours ( pContourImg, contour, CV_RGB ( 0, 255, 0 ), CV_RGB ( 0, 0, 0 ), 1, 1, 8 );
//显示图像
cvShowImage ( "contour", pContourImg );
cvWaitKey ( 0 );
//销毁窗口
cvDestroyWindow ( "src" );
cvDestroyWindow ( "contour" );
//释放图像
cvReleaseImage ( &pImg );
cvReleaseImage ( &pContourImg );
cvReleaseMemStorage ( &storage );
return 0;
}
//*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -