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

2025-06-29 03:31:47
推荐回答(3个)
回答1:

请问已经解决了吗?怎么做的呀???

回答2:

#ifdef _CH_
#pragma package
#endif

#include "cv.h"
#include "highgui.h"
#include
#include

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;
}

然后会显示你的图片,将鼠标点在你要的顶点上,会输出顶点坐标

回答3:

把图片贴出来,帮你看看。