直方圖反向投影:
直方圖反向投影可以用於影象中某個圖案的追蹤查詢,直方圖漂移通過在規定範圍內不斷漂移,然後對比原影象直方圖,直到找出最相似的區域。
直方圖得反向投影多數基於hsv色彩空間,直方圖得反向投影基於2維直方圖建立、實現。
#建立得二維直方圖
defhist2d_demo(image):
#hsv色彩空間得轉換
hsv = cv.cvtcolor(image,cv.color_bgr2hsv)
#[image] 影象檔案
#[0,1] channels,色彩通道
#none mask,本例中無mask
#[180,256] histsize,直方圖得
hist = cv.calchist([image],[0,1],none,[180,256],[0,180,0,256])
plt.imshow(hist,interpolation='nearest')
plt.title("2d histrgam")
plt.show()
#cv.imshow("hist2d_demo",hist)
#直方圖得反向投影
defback_projection_demo():
sample = cv.imread("timg_example.png")
target = cv.imread("timg.png")
roi_hsv = cv.cvtcolor(sample, cv.color_bgr2hsv)
target_hsv = cv.cvtcolor(target, cv.color_bgr2hsv)
cv.imshow("sample",sample)
cv.imshow("target",target)
#計算第乙個直方圖
roihist = cv.calchist([roi_hsv],[0,1],none,[36,48],[0,36,0,48])
#歸一化到0-255之間
cv.normalize(roihist,roihist,0,255,cv.norm_minmax)
#產生反向投影
dst = cv.calcbackproject(target_hsv,[0,1],roihist,[0,180,0,256],1)
cv.imshow("backprojectiondemo",dst)
#cv.imshow("fomate",src)
#hist2d_demo(src)
back_projection_demo()
cv.waitkey(0)
cv.destroyallwindows()
Python的Opencv初學部分知識點(三)
roi region of interest 區域範圍獲取,可以通過numpy來指定寬高獲取roi位置 通過numpy來獲取制定高度寬度得roi區域範圍 face src 10 600,500 1000 將roi區域轉換為灰色 gray cv.cvtcolor face,cv.color bgr2g...
OpenCV初學筆記(一)
1 多通道矩陣中,通道是連續的,在乙個二維的rgb矩陣中,矩陣資料儲存格式如下 rgbrgbrgb。故而使用cvptr d函式族得到指向某個矩陣元素的指標,只需要 1便可移動到下一通道,或者加上合適的偏移量移動到下乙個矩陣元素的相應通道。2 矩陣陣列中的step元素代表矩陣中行的長度,單位為位元組。...
python初學函式 python 初學函式
len s 金老闆小 len s def my len 自定義函式 i 0 for k in s i 1 print i length my len print length 函式 定義了之後,可以在任何需要它的地方呼叫 沒有返回長度,只是單純的列印 返回的重要性 a,b len a 內建函式 le...