利用opencv读入一张图片,如何得知图片中矩形的四个顶点的坐标,希望有代码可以参考一下 20

我已经把图像变为灰度图像,进行了二值化,但是下一步进行最小外接矩阵时,提取轮廓,找到的矩阵顶点却是整副图像的顶点,是不是在提取轮廓前要对图像进行边缘检测?intmode=... 我已经把图像变为灰度图像,进行了二 值化,但是下一步进行最小外接矩阵时,提取轮廓,找到的矩阵顶点却是整副图像的顶点,是不是在提取轮廓前要对图像进行边缘检测? int mode = CV_RETR_EXTERNAL;
cvFindContours( GrayImage, storage, &contour, sizeof(CvContour),
mode, CV_CHAIN_APPROX_SIMPLE ,cvPoint(0,0));
展开
 我来答
高涵菲heart
2018-07-09
知道答主
回答量:2
采纳率:0%
帮助的人:1947
展开全部
请问已经解决了吗?怎么做的呀???
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7282aae
推荐于2018-07-10
知道答主
回答量:28
采纳率:0%
帮助的人:21.8万
展开全部
#ifdef _CH_
#pragma package <opencv>
#endif

#include "cv.h"
#include "highgui.h"
#include <stdio.h>
#include <stdlib.h>

IplImage* img0 = 0, *img = 0;
CvPoint prev_pt = {-1,-1};
int str1,str2;
void on_mouse( int event, int x, int y, int flags, void* )
{
if( !img )
return;
else if( event == CV_EVENT_LBUTTONDOWN )
{
prev_pt = cvPoint(x,y);
printf("%d %d\n",x,y);
str1=x,str2=y;
}

}

int main( int argc, char** argv )
{
char* filename = argc >= 2 ? argv[1] : (char*)"XXX.jpg"; 【请将XXX换成你的图片名称】

if( (img0 = cvLoadImage(filename,-1)) == 0 )
return 0;
cvNamedWindow( "image", 1 );

img = cvCloneImage( img0 );
cvShowImage( "image", img );
cvSetMouseCallback( "image", on_mouse, 0 );
cvWaitKey();
return 1;
}

然后会显示你的图片,将鼠标点在你要的顶点上,会输出顶点坐标
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
轻一鸿
2012-06-08 · TA获得超过141个赞
知道小有建树答主
回答量:118
采纳率:0%
帮助的人:126万
展开全部
把图片贴出来,帮你看看。
追问
就是想查看途中矩形的偏移角度和矩形的中心点位置
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式