delphi中使用opencv检测圆的问题.

its2000 2011-05-06 11:23:52
在用cvHoughCircles检测圆时,最后返回的坐标特别大,检测到的圆的数量倒是正确的,请问大虾问题出在哪里?
procedure TForm1.Button2Click(Sender: TObject);
var
img, gray: PIplImage;
storage : PCvMemStorage;
circles : PCvSeq;
s : CvSize;
i : integer;
r : PCVRect;
pt:pCVPoint;
begin
image1.Picture.Bitmap.LoadFromFile('hough1.bmp');
img := cvLoadImage(pchar('hough1.bmp'),1); // OpenPictureDialog1.FileName
s.width := img.width;
s.height := img.height;
gray := cvCreateImage(s,8,1);
storage := cvCreateMemStorage(0);
cvCvtColor(PCvArr(img),PCvArr(gray),CV_BGR2GRAY);
cvSmooth(PCvArr(gray),PCvArr(gray),CV_GAUSSIAN,9,9,0,0);
r.x:=0;
r.y:=0;
circles := cvHoughCircles(PCvArr(gray),storage,CV_HOUGH_GRADIENT,2,gray.height/4,100,50);//200,100,0,0);
for i:=0 to circles.total-1 do
begin
r := PCvRect(cvGetSeqElem(circles,i));
Image1.Canvas.Brush.Color := clRed;
Image1.Canvas.Ellipse(r.x,r.y,r.x+r.width,r.y+r.height);
end;
self.Image1.Repaint;
end;
...全文
521 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanjueniku 2013-03-26
  • 打赏
  • 举报
回复
引用 2 楼 its2000 的回复:
已经解决了
您好,想问下怎么解决的,谢谢!
s421600 2012-05-10
  • 打赏
  • 举报
回复
谁可以帮忙弄一个opencv的程序吗?付费的,价格可以商量,可以加QQ2445834687 联系我,非常感谢啊
holding300 2012-04-05
  • 打赏
  • 举报
回复
同样遇到了这个问题,楼主怎么解决的,告诉兄弟下啊
its2000 2011-05-15
  • 打赏
  • 举报
回复
已经解决了
its2000 2011-05-09
  • 打赏
  • 举报
回复
自己顶一下

4,445

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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