void CCVMFCView::OnCannyBorddetec()
{
IplImage* src = 0;
IplImage* dst = 0;
IplImage* color_dst = 0;
CvMemStorage* storage = cvCreateMemStorage(0);
CvSeq* lines = 0;
int i;
if (workImg->nChannels==3) {
src = cvCreateImage(cvGetSize(workImg), IPL_DEPTH_8U, 1);
cvCvtColor(workImg, src, CV_BGR2GRAY);
}
else {
src = cvCloneImage( workImg );
}
cvFlip(src);
dst = cvCreateImage( cvGetSize(src), 8 ,1 );
color_dst = cvCreateImage( cvGetSize(src), 8, 3 );
cvCanny( src, dst, 50, 200, 3 );
cvCvtColor( dst, color_dst, CV_GRAY2BGR );
cvFlip(color_dst);
m_dibFlag=imageClone(color_dst,&workImg);
Invalidate();
}
{
IplImage* src = 0;
IplImage* dst = 0;
IplImage* color_dst = 0;
CvMemStorage* storage = cvCreateMemStorage(0);
CvSeq* lines = 0;
int i;
if (workImg->nChannels==3) {
src = cvCreateImage(cvGetSize(workImg), IPL_DEPTH_8U, 1);
cvCvtColor(workImg, src, CV_BGR2GRAY);
}
else {
src = cvCloneImage( workImg );
}
cvFlip(src);
dst = cvCreateImage( cvGetSize(src), 8 ,1 );
color_dst = cvCreateImage( cvGetSize(src), 8, 3 );
cvCanny( src, dst, 50, 200, 3 );
cvCvtColor( dst, color_dst, CV_GRAY2BGR );
cvFlip(color_dst);
m_dibFlag=imageClone(color_dst,&workImg);
Invalidate();
}
本文详细介绍了如何使用Canny边缘检测算法对图像进行处理,包括图像灰度化、翻转、Canny边缘检测、颜色转换及翻转等步骤,并最终将处理后的图像与原始图像进行对比,展示Canny算法在图像处理领域的应用效果。
530

被折叠的 条评论
为什么被折叠?



