gpt4 book ai didi

opencv - 如何检索 cvPoint 值以进行进一步处理?

转载 作者:太空宇宙 更新时间:2023-11-03 21:56:06 26 4
gpt4 key购买 nike

这是绘制矩形的函数,提供相应的参数值

void rectangle(Mat& img, Point pt1, Point pt2,const Scalar& color, int thickness=1,int lineType=8, int shift=0);

用户可以使用此功能通过鼠标设置 ROI,在 Templte Matching 应用程序中检测到的匹配项上绘制矩形。我的问题是,第二个和第三个参数是这里的点。如果用户想要获取第 1 点和第 2 点的值以进行进一步处理,如何获取?!如何打印两个点值?!指向double或int转换?!

任何人,清除我的疑虑。在此先感谢您的帮助!

更新:

void mouseHandler(int event, int x, int y, int flags, void* param)

{

if (event == CV_EVENT_LBUTTONDOWN && !drag)
{
/* left button clicked. ROI selection begins */
point1 = Point(x,y);
drag = 1;

}

if (event == CV_EVENT_MOUSEMOVE && drag)
{
/* mouse dragged. ROI being selected */
Mat img1 = mod_tempimg.clone();
point2 = Point(x, y);
rectangle(img1, point1, point2, CV_RGB(255, 0, 0), 1, 8, 0);
imshow("image", img1);

}

if (event == CV_EVENT_LBUTTONUP && drag)
{

Mat img2=mod_tempimg.clone();
point2 = Point(x, y);
rect = Rect(point1.x,point1.y,x-point1.x,y-point1.y);
drag = 0;
roiImg = mod_tempimg(rect1);
imshow("image", img2);
}

if (event == CV_EVENT_LBUTTONUP)
{
/* ROI selected */
select_flag = 1;
drag = 0;
}

在上面的代码中,如何从此行中检索点值?!

  rect = Rect(point1.x,point1.y,x-point1.x,y-point1.y);

如果我知道有助于找到 rect 角度的值。

最佳答案

即使更新后,我也不清楚这个问题。我不确定你到底在问什么。无论如何,据我了解,您正在此处创建一个矩形对象:

rect = Rect(point1.x,point1.y,x-point1.x,y-point1.y);

然后你想得到矩形的角点。

rect.tl() 给出左上角点,rect.br() 给出右下角点。您还可以通过以下方式获取角的 x 和 y 值:rect.tl().x 或 rect.br().y

我不知道你所说的“找到矩形的角度”是什么意思。矩形有 90 度角。

关于opencv - 如何检索 cvPoint 值以进行进一步处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15629384/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com