步驟:將一幅影象先轉灰度,再canny邊緣檢測得到二值化邊緣影象,再尋找輪廓,輪廓是由一系列點構成的,要想獲得輪廓的最小外接矩形,首先需要得到輪廓的近似多邊形,用程式設計客棧道格拉斯-普克抽稀(dp)演算法,道格拉斯-普克抽稀演算法,是將曲線近似表示為一系列點,並減少點的數量的一種演算法。
該演算法實現抽稀的過程是:
1)對曲線的首末點虛連一條直線,求曲線上所有點與直線的距離,並找出最大距離值dmax,用dmax與事先給定的閾值d相比:
2)若dmax
若dmax≥d,保留dmax對應的座標點,並以該點為界,把曲線分為兩部分,對這兩部分重複使用該方法,即重複1),2)步,直到所有dmax均
#include
using namespace cv;
using namespace std;
int value = 60;
rng rng(1);
mat src,gray_img,canny_img,dst;
void callback(int, void*);
int main(int arc, char** ar**)
void callback(int, void*) }
//繪製
src.copyto(dst);
point2f pts[4];
for (int j = 0; j < contours.size(); j++)
} }imshow("output", dst); }
執行結果如下:
本文標題: opencv實現最小外接矩形和圓
本文位址:
圓 最小外包矩形 Opencv實現最小外接矩形和圓
步驟 將一幅影象先轉灰度,再canny邊緣檢測得到二值化邊緣影象,再尋找輪廓,輪廓是由一系列點構成的,要想獲得輪廓的最小外接矩形,首先需要得到輪廓的近似多邊形,用道格拉斯 普克抽稀 dp 演算法,道格拉斯 普克抽稀演算法,是將曲線近似表示為一系列點,並減少點的數量的一種演算法。該演算法實現抽稀的過程...
opencv6 最小外接矩形minAreaRect
最近在做目標跟蹤相關的實驗,其中牽涉到最小外接矩形或最小外接圓形的函式使用,把自己實驗的過程記錄一下,希望可以幫助大家。minarearect 函式用於給定的2d點集,函式原型 rotatedrect minarearect inputarray points 只有乙個輸入引數,型別可以是vecto...
字塔識別,opencv最小外接矩形
include stdafx.h include pch.h include include include include include include include include include include using namespace cv using namespace std ...