訂閱
糾錯(cuò)
加入自媒體

每個(gè)cver都應(yīng)該知道的十大OpenCV函數(shù)

下面是cvtColor的一些其他標(biāo)志:COLOR_BGR2GRAY、COLOR_BGR2HSV和COLOR_BGR2YUV等。這是雙向的,例如,COLOR_YUV2BGR也是可能的。

resize有時(shí)你只需要一個(gè)不同于原來大小的圖像,所以resize就是你需要的函數(shù)。cv2.resize(image, dimension, interpolation = cv2.INTER_AREA)

它獲取原始圖像,并按尺寸創(chuàng)建一個(gè)新圖像。尺寸定義為:dimension = (width, height)

插值是一種重采樣圖片的方法,在我的例子中,它使用基于INTER_AREA的區(qū)域間重采樣,還有更多類似的方法INTER_NEAREST: 最近鄰插值INTER_LINEAR: 雙線性插值INTER_CUBIC: 4×4像素鄰域上的雙三次插值INTER_LANCZOS4: 8×8鄰域上的Lanczos插值https://scc.ustc.edu.cn/zlsc/sugon/intel/ipp/ipp_manual/IPPI/ippi_appendices/ippi_appB_LanczosInterpolation.htm

split/merge每張圖片有3個(gè)通道,如果我們想把它們分割成不同的圖片,我們可以使用分割函數(shù)來實(shí)現(xiàn)。(channel_b, channel_g, channel_r) = cv2.split(img)

如果圖像是BGR格式,它會(huì)將每個(gè)通道分成你定義的三個(gè)變量。如果你已經(jīng)分割通道,但希望將它們合并到一起,你可以使用merge。cv2.merge(channel_b, channel_g, channel_r)

vconcat / hconcat使用vconcat(),hconcat()可以垂直和水平連接(合并)圖像。v表示垂直,h表示水平。cv2.vconcat([image1, image2])

cv2.hconcat([image1, image2])

ones/zeros如果要在三維圖像(矩陣)中都填充1或0(因?yàn)榫仃囈蟛噬珗D像具有3個(gè)維度)。size = 200, 200, 3

m = np.zeros(size, dtype=np.uint8)

n = np.ones(size, dtype=np.uint8)

作為一個(gè)附加函數(shù),我想在這里添加一個(gè)東西,那就是轉(zhuǎn)置函數(shù)。transpose如果我們有一個(gè)要轉(zhuǎn)置的已定義矩陣mat,我們所要做的就是直接對mat使用這個(gè)函數(shù):

import numpy as np

mat = np.a(chǎn)rray([[1, 2, 3], [4, 5, 6]])

mat_transpose = mat.transpose()

print(mat_tranpose)

得到輸出:[[1 4]

[2 5]

[3 6]]

#original input

[[1, 2, 3]

[4, 5, 6]]

<上一頁  1  2  
聲明: 本文由入駐維科號的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報(bào)。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個(gè)字

您提交的評論過于頻繁,請輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無評論

暫無評論

    掃碼關(guān)注公眾號
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯(cuò)
    x
    *文字標(biāo)題:
    *糾錯(cuò)內(nèi)容:
    聯(lián)系郵箱:
    *驗(yàn) 證 碼:

    粵公網(wǎng)安備 44030502002758號