opencv绘制可以拉伸的选框

该博客介绍了如何利用OpenCV实现一个交互式的选框,允许用户通过鼠标左键画框,右键点击靠近角点的距离小于20的点来拉伸和调整选框大小。这种方法对于图像标定程序可能有所帮助,尽管作者认为其方法较为简单,期待更高效的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// opencvdrawrect.cpp : 定义控制台应用程序的入口点。
#include "opencv2/video/tracking.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <iostream>
#include <ctype.h>
#include <vector>
using namespace cv;
using namespace std;
float getdistance(Point pointO, Point pointA) //计算两点距离
{
	float distance;
	distance = powf((pointO.x - pointA.x), 2) + powf((pointO.y - pointA.y), 2);
	distance = sqrtf(distance);

	return distance;
}
class corner   //角点
{
public:
	Point lefttop;
	Point righttop;
	Point leftdown;
	Point rightdown;
//下面的四个bool量表示目前鼠标关联修改的是哪个角点
	bool lt = false; //lefttop
	bool rt = false; //righttop
	bool ld = false; //leftbottom
	bool rd = false; //rightbottom
	void resetcorner(); //角点刷新函数
};
void corner::resetcorner()  //角点刷新函数
{
	if (lt == true)
	{
		leftdown.x = lefttop.x;
		righttop.y = lefttop.y;
	}
	else if (rt == true)
	{
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值