国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

python 已知平行四邊形三個點,求第四個點的案例

瀏覽:5日期:2022-07-30 11:12:06

我就廢話不多說了,大家還是直接看代碼吧!

import numpy as np#已知平行四邊形三個點,求第四個點#計算兩點之間的距離def CalcEuclideanDistance(point1,point2): vec1 = np.array(point1) vec2 = np.array(point2) distance = np.linalg.norm(vec1 - vec2) return distance#計算第四個點def CalcFourthPoint(point1,point2,point3): #pint3為A點 D = (point1[0]+point2[0]-point3[0],point1[1]+point2[1]-point3[1]) return D#三點構成一個三角形,利用兩點之間的距離,判斷鄰邊AB和AC,利用向量法以及平行四邊形法則,可以求得第四個點Ddef JudgeBeveling(point1,point2,point3): dist1 = CalcEuclideanDistance(point1,point2) dist2 = CalcEuclideanDistance(point1,point3) dist3 = CalcEuclideanDistance(point2,point3) dist = [dist1, dist2, dist3] max_dist = dist.index(max(dist)) if max_dist == 0: D = CalcFourthPoint(point1,point2,point3) elif max_dist == 1: D = CalcFourthPoint(point1,point3,point2) else: D = CalcFourthPoint(point2,point3,point1) return D print(JudgeBeveling((0,1),(1,0),(1,1)))print(JudgeBeveling((5,39),(500,35),(496,17)))

補充知識:計算圖像中任意四個點連成的四邊形面積與Ground truth的IOU(Python)

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

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

python 已知平行四邊形三個點,求第四個點的案例

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

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

然后計算每個位置上的各個函數值

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)

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

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

2.求相交的面積

python 已知平行四邊形三個點,求第四個點的案例

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

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

3.并面積

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

并面積=S1-iu+S2

4.IOU

交面積/并面積

5.測試

(1)

python 已知平行四邊形三個點,求第四個點的案例

(2)

python 已知平行四邊形三個點,求第四個點的案例

(3)

python 已知平行四邊形三個點,求第四個點的案例

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

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

測試代碼:鏈接

和別的算法進行比較

還是有區別的。。。

v2是向量方法計算

v3是shapely包計算

以上這篇python 已知平行四邊形三個點,求第四個點的案例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
主站蜘蛛池模板: a级片免费 | 成人香蕉视频 | 免费国产精品视频 | 国产精品18久久久久久小说 | 91热久久免费频精品黑人99 | 99精品视频在线免费观看 | 欧美孕妇性xxxⅹ精品hd | 完整日本特级毛片 | 国产亚洲精品自在线观看 | 国产成人精品免费 | 亚洲毛片免费看 | 亚洲欧美高清视频 | 亚洲 欧美 日韩中文字幕一区二区 | 女人又黄的视频网站 | 日韩美三级 | 一级做a爰性色毛片免费 | 午夜手机看片 | 亚洲理论片在线中文字幕 | julia中文字幕久久亚洲 | 成年人免费在线视频网站 | 国产欧美日韩精品高清二区综合区 | 美女张开腿| 91九色精品国产免费 | 日韩三级视频 | 日本韩国中文字幕 | 欧美午夜性春猛交 | 久久久不卡国产精品一区二区 | 伊在人香蕉99久久 | 日本在线亚洲 | 一区二区三区在线免费观看视频 | 成熟的女性强烈交性视频 | 亚洲欧美日本综合一区二区三区 | 一区二区三区日韩精品 | 国产精品日韩欧美在线第3页 | 亚洲 欧美 日韩 在线 中文字幕 | 男人的天堂欧美 | 99视频99| 日本加勒比网站 | 一本久道综合久久精品 | 亚洲国产日韩女人aaaaaa毛片在线 | 国产高清一区二区三区视频 |