這一篇就記錄三個:影象縮放、平移和映象。
影象縮放用到的函式是cv2.resize()函式,函式原型如下:
resize(src, dsize, dst = none, fx = none, fy = none, interpolation = none)
opencv提供了幾種縮放方式:cv2.inter_area、cv2.inter_cubic、cv2.inter_linear和cv2.inter_linear,預設引數是cv2.inter_linear,這幾種方式在使用的時候有兩個建議,如果是縮小尺寸,建議用cv2.inter_area,如果是放大建議用cv2.inter_cubic和cv2.inter_linear,cv2.inter_cubic的話可能會相對較慢。
平移可以先構造乙個平移矩陣,然後傳遞給cv2.warpaffine()函式做模板進行平移,該平移矩陣可以通過numpy來構造實現:
src = cv2.imread('lena.bmp')
rows = src.shape[0]
cols = src.shape[1]
cv2.imshow('src', src)
m = np.float32([[1, 0, 100], [0, 1, 50]])
dst = cv2.warpaffine(src, m, (cols, rows))
cv2.imshow('dst', dst)
cv2.waitkey(0)
cv2.destroyallwindows()
結果顯示如下:
水平映象和垂直映象的實現都可以使用cv2.flip來實現:
cv.flip(src,0,dst) #垂直映象
cv.flip(src,1,dst) #水平映象
cv.flip(src,-1,dst) #主對角映象
人生並非只有一處繽紛爛漫那凋零的是花——不是春天
Python呼叫OpenCV畫素操作
python呼叫opencv進行操作的時候基本上感覺就是對numpy進行操作,跟numpy是挺相關的。opencv獲取影象 x,y 處的畫素值 px img x,y 當影象是三通道的時候返回的是bgr三通道的值,如果是灰度圖的話就返回乙個亮度值 同樣的如果要對影象 x,y 處賦值的話,也通過這種方式...
Python呼叫OpenCV閾值化
這一篇主要有兩點 普通閾值化和自適應閾值化。普通閾值化用到的函式是cv2.threshold,其函式原型為 threshold src,thresh,maxval,type,dst none 其中,type的取值有以下幾種cv2.thresh binary cv2.thresh binary inv...
呼叫OpenCV靜態庫
呼叫靜態庫的好處在於,發布軟體時不需要附帶dll,只需要乙個.exe,但是檔案的體積會比較大。呼叫方法 1 設定專案屬性的目錄,可執行目錄 opencv build x86 vc11 bin,包含目錄opencv build include,庫目錄opencv build x86 vc11 stat...