python 物件測量

2021-10-17 05:22:03 字數 4396 閱讀 7676

"""

多邊形擬合:以特定的精度逼近多邊形曲線

方法:從輪廓中找到距離最遠的兩個點,並將兩個點相連,在輪廓上找到乙個距離該線最遠的點,並

將該點與原有直線連線成為乙個封閉多邊形,此時找到乙個三角形,將上述過程不斷迭代,將新找到的

距離當前多邊形最遠距離的點加入到結果中,當輪廓上的點到當前的多邊形距離低於epsilon時,停止迭代

curve:2d向量點

epsilon:精度,原始曲線與近似曲線的最大距離 (一般設為多邊形總長的百分比)

closed:曲線是否閉合

"""# 多邊形擬合

凸包擬合

類似於多邊形輪廓擬合,凸包的特點是任意鏈結兩點都在凸包的內部,

hull=cv2.convexhull(points[,hull[,clockwise[,returnpoints]]])

points:輪廓

clockwise:布林型值,該值為true,凸包角點按順時針排列

returnpoints:布林型值,預設為true,返回座標,當false返回索引

"""# 凸包擬合

矩形包圍框擬合

x,y,w,h=cv2.boundingrect(cnt)

x:矩形邊界左上角定點的x座標

y:矩形邊界左上角定點的y座標

w:矩形邊界x方向上的長度

h:矩形邊界y方向上的長度

"""# 矩形包圍框擬合

旋轉包圍框擬合

繪製輪廓的最小包圍矩形

retval = cv2.minarearect(points)

retval:矩形特徵資訊,中心(x,y),(寬度,高度),旋轉角度

points:輪廓

"""# 旋轉包圍框擬合

圓形包圍框擬合:

通過迭代演算法構造乙個最小的圓形

center,radius=cv2.minenclosingcircle(points)

center:返回值,圓形的中心

radius:返回值,半徑

points:引數,輪廓

"""# 圓形包圍框擬合

OpenCV 物件測量

二值化影象 print start to detect lines.n gray cv.cvtcolor frame,cv.color bgr2gray ret,binary cv.threshold gray,0,255,cv.thresh binary inv cv.thresh otsu cv...

python 效能測量

一些python使用者對了解同一問題的不同方法的相對效能產生了濃厚的興趣。python提供了一種可以立即回答這些問題的測量工具。例如,元組封包和拆包功能相比傳統的交換引數可能更具吸引力。timeit 模組可以快速演示在執行效率方面一定的優勢 from timeit import timer time...

python效能測量工具cProfile使用解析

背景 python是一種解釋性的語言,執行速度相比c c 等語言十分緩慢 因此我們需要在其它地方上下功夫來提高 的執行速度。首先需要對 進行分析,這個時候則需要用一些工具。這裡介紹cprofile 全 分析 命令列 cprofile s tottime your program.py 結果如下 程式...