国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

OpenCV——最小外接矩形

這篇具有很好參考價(jià)值的文章主要介紹了OpenCV——最小外接矩形。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、主要函數(shù)

cv::RotatedRect cv::minAreaRect(
    const cv::Mat& points
);

? emspminAreaRect 函數(shù)用于計(jì)算給定點(diǎn)集的最小外接矩形。該矩形的長(zhǎng)和寬是可以任意旋轉(zhuǎn)的,因此被稱(chēng)為旋轉(zhuǎn)矩形。

  • points :是一個(gè)包含點(diǎn)集的 Mat 對(duì)象。點(diǎn)集可以是二維點(diǎn)集或三維點(diǎn)集,但是只有前兩個(gè)坐標(biāo)被使用。返回值是一個(gè) RotatedRect 對(duì)象,表示最小外接矩形。
    該函數(shù)的實(shí)現(xiàn)基于最小面積矩形算法,該算法的基本思路如下:
  1. 找到包含點(diǎn)集的最小矩形,其邊與 X 軸和 Y 軸平行;
  2. 對(duì)于每個(gè)矩形,計(jì)算它的面積;
  3. 對(duì)于所有矩形中面積最小的矩形,旋轉(zhuǎn)它使得其邊可以任意旋轉(zhuǎn)。

??在計(jì)算最小矩形時(shí),可以使用不同的算法。OpenCV 中提供了兩種算法:旋轉(zhuǎn)卡殼算法和基于凸包的算法。旋轉(zhuǎn)卡殼算法的時(shí)間復(fù)雜度為 O ( n 2 ) O(n^2) O(n2),而基于凸包的算法復(fù)雜度為 O ( n l o g n ) O(nlogn) O(nlogn)。因此,當(dāng)點(diǎn)集較大時(shí),建議使用基于凸包的算法。

??最后需要注意的是,當(dāng)點(diǎn)集中只有兩個(gè)點(diǎn)時(shí),minAreaRect 函數(shù)會(huì)返回一個(gè)包含這兩個(gè)點(diǎn)的最小外接矩形。

二、代碼實(shí)現(xiàn)

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main()
{
	// 生成一些帶有噪聲的數(shù)據(jù),用于擬合矩形
	vector<Point2f> points;
	for (int i = 0; i < 100; i++)
	{
		float x = rand() % 200 + 50;
		float y = rand() % 200 + 50;
		points.push_back(Point2f(x, y));
	}

	// 最小外接矩形
	RotatedRect rect = minAreaRect(points);
	// 在圖像中繪制矩形
	Mat image = Mat::zeros(300, 300, CV_8UC3);
	Point2f vertices[4];
	rect.points(vertices);
	for (int i = 0; i < 4; i++) 
	{
		line(image, vertices[i], vertices[(i + 1) % 4], Scalar(0, 255, 0), 2);
	}	
	// 繪制結(jié)果
	for (int i = 0; i < points.size(); i++)
	{
		circle(image, points[i], 5, cv::Scalar(255, 255, 0), -1);
	}
	// 顯示圖像
	imshow("Rect", image);
	waitKey(0);

	return 0;
}

三、結(jié)果展示

OpenCV——最小外接矩形文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-454180.html

到了這里,關(guān)于OpenCV——最小外接矩形的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包