最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python?OpenCV中cv2.minAreaRect實例解析

 更新時間:2022年11月18日 11:22:35   作者:求則得之,舍則失之  
minAreaRect的主要作用是獲取一個多邊形(就是有很多個點組成的一個圖形)的最小旋轉(zhuǎn)矩形(旋轉(zhuǎn)矩形就是我們平常見到的水平框帶了角度),這篇文章主要給大家介紹了關(guān)于Python?OpenCV中cv2.minAreaRect的相關(guān)資料,需要的朋友可以參考下

在這個文章中,我們將學(xué)習(xí)如何在感興趣區(qū)域周圍畫最小面積矩形框。

1.最小面積矩形框

下圖顯示了兩個矩形框,綠色的是普通矩形框,紅色的是最小面積矩形框??梢园l(fā)現(xiàn),紅色的是旋轉(zhuǎn)矩形。

OpenCV提供了一個函數(shù)cv2.minAreaRect來尋找最小面積的旋轉(zhuǎn)矩形。將2D點集作為輸入,并返回一個Box2D結(jié)構(gòu),其中包括以下詳細(xì)信息–(中心(x,y),(寬度、高度)、旋轉(zhuǎn)角度)。

(center(x,y), (width, height), angle of rotation) = cv2.minAreaRect(points)

但是要繪制一個矩形,我們需要矩形的四個角,因此為了將Box2D結(jié)構(gòu)轉(zhuǎn)換為4個角點,OpenCV提供了另一個函數(shù)cv2.boxPoints(),這將Box2D結(jié)構(gòu)作為輸入并返回4個角點。4個角點從y最高的點開始按順時針順序排列。語法如下:

points = cv2.boxPoints(box)

在繪制矩形之前,需要將4個角點轉(zhuǎn)換為整數(shù)類型??梢允褂胣p.int32或者np.int64(不要使用np.int8,因為它允許最大值127并截斷)。有時,你可能會看到使用了np.int0,不要混淆,這相當(dāng)于np.int32或者np.int64,具體取決于你的系統(tǒng)結(jié)構(gòu)。完整的代碼如下:

rect = CV2.minAreaRect(cnt)
box = cv2.boxPoints(rect)
box = np.int0(box)

得到四個坐標(biāo)后,就可以輕松繪制圖形了?,F(xiàn)在,讓我們討論一下旋轉(zhuǎn)角度。

2.旋轉(zhuǎn)角度

獲得四個角點以后,這四個角點從具有最高y的點開始按順時針順序排列,如下所示。如果2個點具有相同的最高y,則最右的點是起點。這些點被編號為0,1,2,3(0開始,3結(jié)束)。

因此,OpenCV的cv2.minAreaRect()給出的旋轉(zhuǎn)角度實際上是直線(連接起點和終點)與水平線之間的角度,如下所示。

因此角度值始終位于[-90, 0)之間。為什么?因為如果對象旋轉(zhuǎn)超過90°,則使用下一條邊來計算與水平面的角度。因此計算出的角度始終位于[-90,0)之間。

請?zhí)砑訄D片描述

實際角度是對象旋轉(zhuǎn)的角度,計算出的角度是cv.minAreaRect()返回的角度。

補充:cv2.minAreaRect輸出旋轉(zhuǎn)角度測試

函數(shù)使用方法

min_rect = cv2.minAreaRect(cnt)  
# 輸入?yún)?shù)cnt是通過findContours識別出來的輪廓信息
# 輸出min_rect是一個元組,其中的結(jié)構(gòu)是最小外接矩形的(中心(x,y),(邊1長度,邊2長度),旋轉(zhuǎn)角度)

簡單測試一下對幾個角度的矩形和平行四邊形的識別效果

圖片可能較小,建議放大觀看

可以看到,輸出的旋轉(zhuǎn)角度和矩形邊2的選擇有關(guān),具體函數(shù)是按照什么規(guī)則來確定邊1和邊2,我還不清楚,但是根據(jù)上面的實驗結(jié)論,大致可以推測出以下規(guī)律:

  • 規(guī)定水平矩陣為上圖第一個矩形形狀,即長邊平行于x軸,短邊垂直于x軸,
  • 按住水平矩形的左上角,逆時針旋轉(zhuǎn)矩形不超過90度 形成的矩形,長邊作為邊2;
  • 按住水平矩形的左上角,順時針旋轉(zhuǎn)矩形小于90度 形成的矩形,短邊作為邊2。

參考目錄

https://theailearner.com/tag/cv2-minarearect/

總結(jié)

到此這篇關(guān)于Python OpenCV中cv2.minAreaRect的文章就介紹到這了,更多相關(guān)OpenCV cv2.minAreaRect解析內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python使用tkinter實現(xiàn)自定義多參數(shù)對話框

    python使用tkinter實現(xiàn)自定義多參數(shù)對話框

    Tkinter模塊是Python標(biāo)準(zhǔn)庫中的一部分,用于創(chuàng)建圖形用戶界面(GUI)應(yīng)用程序,它提供了一組工具和組件,用于創(chuàng)建窗口、按鈕、文本框等用戶界面元素,并且可以響應(yīng)用戶的輸入,本文將給大家講講python如何使用tkinter實現(xiàn)自定義多參數(shù)對話框
    2023-08-08
  • tornado 多進(jìn)程模式解析

    tornado 多進(jìn)程模式解析

    這篇文章主要介紹了tornado 多進(jìn)程模式解析,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • python自動分箱,計算woe,iv的實例代碼

    python自動分箱,計算woe,iv的實例代碼

    今天小編就為大家分享一篇python自動分箱,計算woe,iv的實例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • 地圖可視化神器kepler.gl python接口的使用方法

    地圖可視化神器kepler.gl python接口的使用方法

    這篇文章主要介紹了python 地圖可視化神器kepler.gl近期重要更新的的相關(guān)資料,幫助大家利用python實現(xiàn)地圖可視化,感興趣的朋友可以了解下
    2020-12-12
  • python更新列表的方法

    python更新列表的方法

    這篇文章主要介紹了python更新列表的方法,實例分析了Python列表賦值的相關(guān)技巧,需要的朋友可以參考下
    2015-07-07
  • 遺傳算法之Python實現(xiàn)代碼

    遺傳算法之Python實現(xiàn)代碼

    本篇文章主要介紹了Python 遺傳算法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • 基于python爬取梨視頻實現(xiàn)過程解析

    基于python爬取梨視頻實現(xiàn)過程解析

    這篇文章主要介紹了基于python爬取梨視頻實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • Python字符串字母大小寫轉(zhuǎn)換的各種情況詳析

    Python字符串字母大小寫轉(zhuǎn)換的各種情況詳析

    在使用python語言開發(fā)中經(jīng)常會碰到,需要大寫轉(zhuǎn)小寫,小寫轉(zhuǎn)換大寫,甚至字符串中的單詞首字母大寫,以及字符串手字字母大寫的問題,下面這篇文章主要給大家介紹了關(guān)于Python字符串字母大小寫轉(zhuǎn)換的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Python 判斷 有向圖 是否有環(huán)的實例講解

    Python 判斷 有向圖 是否有環(huán)的實例講解

    下面小編就為大家分享一篇Python 判斷 有向圖 是否有環(huán)的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • Python中的文件輸入輸出問題

    Python中的文件輸入輸出問題

    這篇文章主要介紹了Python中的文件輸入輸出問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11

最新評論

元阳县| 灌阳县| 青州市| 从江县| 临朐县| 黔西县| 和静县| 东乡族自治县| 安岳县| 扬州市| 奉节县| 通榆县| 宽城| 彭山县| 清丰县| 恩平市| 博爱县| 盈江县| 顺昌县| 衡南县| 会泽县| 汶川县| 开封县| 罗江县| 青川县| 唐河县| 武鸣县| 巴彦县| 铜鼓县| 奈曼旗| 小金县| 嘉定区| 从江县| 彭山县| 绥棱县| 龙门县| 崇州市| 长葛市| 介休市| 鸡泽县| 株洲县|