opencv中对roi区域进行角点检测

我要对图片下面的区域进行角点检测,为啥点会在上边??CvRect*r=(CvRect*)cvGetSeqElem(objects,i);cvRectangle(m_Fra... 我要对图片下面的区域进行角点检测,为啥点会在上边??
CvRect* r=(CvRect*)cvGetSeqElem(objects,i);

cvRectangle(m_Frame, cvPoint(r->x*scale,r->y*scale), cvPoint((r->x+r->width)*scale,(r->y+r->height)*scale), colors[i%8]);
cvRectangle(m_Frame,cvPoint(r->x-r->width,r->y*1.5+r->height),cvPoint((r->x+r->width)*1.6,(r->y+r->height*2.1)*scale), colors[1]);
CvRect rect;

rect=cvRect(r->x-r->width,r->y*1.5+r->height,(r->x+r->width)*1.6 ,(r->y+r->height*2.1)*scale);

cvSetImageROI(gray, rect );
IplImage *img2 = cvCreateImage(cvGetSize(gray),
gray->depth,
gray->nChannels);
cvCopy(gray, img2, NULL);
cvResetImageROI(gray);
corners1 = cvCreateImage(cvGetSize(img2) ,IPL_DEPTH_32F,1);
corners2 = cvCreateImage(cvGetSize(img2),IPL_DEPTH_32F,1);
cvGoodFeaturesToTrack(img2,corners1,
corners2,corners,
&cornersCount,0.05,
30,//角点的最小距离是30
img2,//整个图像
3,0,0.4);

}
if (cornersCount>0)
{
for (p1=0;p1<cornersCount;p1++)
{
cvCircle(m_Frame,cvPoint((int)(corners[p1].x),(int)(corners[p1].y)),
2,colors[1],2,CV_AA,0);
}
展开
 我来答
百度网友379bc16173
2014-04-24
知道答主
回答量:10
采纳率:0%
帮助的人:3.1万
展开全部
不想看你的代码 我只知道 MFC控件上的点到图片上的点不一致 还要转换一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式