"""
多邊形擬合:以特定的精度逼近多邊形曲線
方法:從輪廓中找到距離最遠的兩個點,並將兩個點相連,在輪廓上找到乙個距離該線最遠的點,並
將該點與原有直線連線成為乙個封閉多邊形,此時找到乙個三角形,將上述過程不斷迭代,將新找到的
距離當前多邊形最遠距離的點加入到結果中,當輪廓上的點到當前的多邊形距離低於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 結果如下 程式...