日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

计算图像中任意四个点连成的四边形面积与Ground truth的IOU(Python)

發(fā)布時間:2023/12/16 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算图像中任意四个点连成的四边形面积与Ground truth的IOU(Python) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.先求任意四個點連成四邊形的面積

這個問題可以用下面的圖簡單的看一下

圖像的坐標如上圖所示,大致的想法就是四個點可以確定四條線,然后進行判斷,在紅色區(qū)域中則為面積中的一個像素,否則不在。先求四條線的斜率

def line_slope(x1,y1,x2,y2,x3,y3,x4,y4):k1=(y2-y1)/(x2-x1)k2=(y3-y2)/(x3-x2)k3=(y4-y3)/(x4-x3)k4=(y1-y4)/(x1-x4)return k1,k2,k3,k4

然后計算每個位置上的各個函數(shù)值

l1=int(tk1*(i-tx1)+ty1)l2=int(tk2*(i-tx2)+ty2)l3=int(tk3*(i-tx3)+ty3)l4=int(tk4*(i-tx4)+ty4)

判斷條件很重要,因為左邊是那樣排列的,所以判斷條件就是

(l1<=j)&(l2>=j)&(l3>=j)&(l4<=j)

也就是在紅色區(qū)域中任取一點都滿足這個條件。定義一個全局變量,滿足條件就+1。面積就求出來了。

其實求面積并不是我的目的

2.求相交的面積

兩個面積分別求出來以后,兩個面積的交集面積最簡單的可以通過對照兩個區(qū)域的坐標進行求解。

也就是在分別計算兩個面積的時候記下符合條件的坐標(x,y)存放到數(shù)組中,最后比較兩個數(shù)組中相等的元素的個數(shù)即可求解。

3.并面積

交的面積計算完后,可以用下面的公式(S1:四邊形1的面積、S2:四邊形2的面積、iu:交面積)

并面積=S1-iu+S2

4.IOU

交面積/并面積

5.測試

(1)

(2)

(3)

可以看到最后一種情況紅框已經(jīng)把ground truth包含了,所以可以直接用S2/S1來檢驗算法的準確性

而13882/19307=0.719013829181126,可以證明算法的準確性。

測試代碼:鏈接

和別的算法進行比較

還是有區(qū)別的。。。

v2是向量方法計算

v3是shapely包計算

總結(jié)

以上是生活随笔為你收集整理的计算图像中任意四个点连成的四边形面积与Ground truth的IOU(Python)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。