Python呼叫OpenCV幾何變換

2021-09-26 22:44:40 字數 1179 閱讀 8490

這一篇就記錄三個:影象縮放、平移和映象。

影象縮放用到的函式是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...