OPENCV图像边缘处理(canny)后无法在原图上绘制特定图形

Peter3_ 2017-08-15 03:32:05
我在自写霍夫变换检测圆的过程中出现一个问题:在做完canny边缘处理后想把圆画在该处理后的图上,但是发现无法实现。以下是我的代码,请大家帮忙解决一下,谢谢!
int main ()
{
Mat simg,midimg,edge;//source image->simg middle image->midimg
simg=imread("sample_3.jpg");
imshow("原始图",simg);
cvtColor( simg, midimg, COLOR_BGR2GRAY);
GaussianBlur( midimg, midimg, Size(9, 9), 2, 2 );
Canny( midimg, edge, 50, 200);
imshow("canny",edge);
vector<struct center> centers=houghCircle(edge,150);//自写函数,过长不方便贴出
cout<<centers.size()<<endl;
drawCircles(edge,centers);//自写函数,其中调用了库函数circle(img,p,30,Scalar(0,0,255),thickness,lineType);
drawCircles(simg,centers);
imshow("simg效果图",simg);
imwrite("simg3_result.jpg",simg);
//imshow("edge效果图",edge);没有办法画出图形,什么原因呢
//imwrite("edge3_result.jpg",edge);
waitKey();

return 0;
}

下面分别是sample_3.jpg,edge3_result.jpg,simg3_result.jpg


...全文
355 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

4,246

社区成员

发帖
与我相关
我的任务
社区描述
OpenCV相关技术交流专区
计算机视觉人工智能opencv 技术论坛(原bbs) 广东省·深圳市
社区管理员
  • OpenCV
  • 幻灰龙
  • OpenCV中国团队
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

OpenCV中国团队官方博客:https://blog.csdn.net/opencvchina

试试用AI创作助手写篇文章吧