python使用numpy計(jì)算兩個(gè)框的iou方法示例
程序
需求簡(jiǎn)單,記錄一下。
import numpy as np import cv2 def iou(bbox1, bbox2): xmin1, ymin1, xmax1, ymax1 = bbox1 xmin2, ymin2, xmax2, ymax2 = bbox2 # 獲取矩形框交集對(duì)應(yīng)的頂點(diǎn)坐標(biāo)(intersection) xx1 = np.max([xmin1, xmin2]) yy1 = np.max([ymin1, ymin2]) xx2 = np.min([xmax1, xmax2]) yy2 = np.min([ymax1, ymax2]) # 計(jì)算交集面積 inter_area = (np.max([0, xx2 - xx1])) * (np.max([0, yy2 - yy1])) # 計(jì)算兩個(gè)矩形框面積 area1 = (xmax1 - xmin1 ) * (ymax1 - ymin1) area2 = (xmax2 - xmin2) * (ymax2 - ymin2) # 計(jì)算交并比(交集/并集) iou = inter_area / (area1 + area2 - inter_area ) # 注意:這里inter_area不能乘以2,乘以2就相當(dāng)于把交集部分挖空了 return iou def main(): img = np.zeros((600,600), dtype=np.uint8)+255 # 創(chuàng)建一個(gè)全白畫(huà)板(灰度圖) img = np.stack((img,)*3, axis=-1) # 將灰度圖轉(zhuǎn)化為三通道圖。目的是能在畫(huà)板上畫(huà)出彩色的圖案。 # 初始化兩個(gè)框 bbox1 = [200, 200, 400, 400] # xmin, ymin, xmax, ymax bbox2 = [275, 300, 325, 550] # xmin, ymin, xmax, ymax # 在畫(huà)板上畫(huà)出這兩個(gè)彩色框 cv2.rectangle(img, (bbox1[0:2]), (bbox1[2:4]), (255,69,0), -1) cv2.rectangle(img, (bbox2[0:2]), (bbox2[2:4]), (218,112,214), -1) # 計(jì)算這兩個(gè)框的iou rst = iou(bbox1, bbox2) cv2.putText(img, 'iou: %.6f' % rst, (10,30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0,0,255), 2) cv2.imwrite('res.png',img) if __name__ == "__main__": main()
結(jié)果
以上就是python使用numpy計(jì)算兩個(gè)框的iou方法示例的詳細(xì)內(nèi)容,更多關(guān)于python numpy計(jì)算兩個(gè)框iou的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Pandas+openpyxl進(jìn)行Excel處理詳解
這篇文章主要為大家詳細(xì)介紹了如何使用pandas和openpyxl庫(kù)對(duì)多個(gè)Excel文件進(jìn)行多種處理的方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2025-02-02linux mint中搜狗輸入法導(dǎo)致pycharm卡死的問(wèn)題
這篇文章主要介紹了linux mint中搜狗輸入法導(dǎo)致pycharm卡死的問(wèn)題,這篇文章給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10python [::-1] [::-1,::-1]的具體使用
本文主要介紹了python [::-1] [::-1,::-1]的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05利用Python如何畫(huà)一顆心、小人發(fā)射愛(ài)心
這篇文章主要給大家介紹了關(guān)于利用Python如何畫(huà)一顆心、小人發(fā)射愛(ài)心的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02pycharm2022.1最新永久激活碼破解補(bǔ)丁一鍵安裝教程免費(fèi)分享(2022持續(xù)更新)
更新到Pycharm 2022.2.x版,pycharm2022.2最新可用永久激活碼分享(持續(xù)更新),pycharm激活補(bǔ)丁一鍵安裝簡(jiǎn)單方便,無(wú)需手動(dòng)修改文件,兼容蘋(píng)果MAC,linux,Windows系統(tǒng)2022-07-07Python基于PycURL實(shí)現(xiàn)POST的方法
這篇文章主要介紹了Python基于PycURL實(shí)現(xiàn)POST的方法,涉及Python實(shí)現(xiàn)curl傳遞post數(shù)據(jù)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07