OpenCV入門 | 使用Python實(shí)現(xiàn)計(jì)算機(jī)視覺的第一步
太酷了,我們必須使用OpenCV讀取和顯示圖像,并了解如何將GBR顏色轉(zhuǎn)換為RGB以使用Matplolib內(nèi)聯(lián)顯示它們。其他顏色格式可以使用OpenCV處理,例如HSV,CMYK等。色彩由于我們將重復(fù)很多次,因此我們創(chuàng)建一個(gè)使用Matplotlib進(jìn)行繪圖的方法。我們可以設(shè)置圖的大小并刪除軸以使其更好。def show(img): fig, ax = plt.subplots(1, figsize=(12,8)) ax.a(chǎn)xis('off') plt.imshow(img, cmap='Greys')請注意,我還將.imshow中的顏色圖定義為“灰色”。當(dāng)我們繪制RGB圖像時(shí),該參數(shù)將被忽略,但是稍后在繪制數(shù)組的各個(gè)維度時(shí)將很有用。現(xiàn)在,讓我們嘗試一下我們的方法。image = cv2.imread('img2.jpeg')image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
show(image)
現(xiàn)在讓我們嘗試將其轉(zhuǎn)換為灰度然后再轉(zhuǎn)換為RGB。image = cv2.imread('img2.jpeg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)image = cv2.cvtColor(gray, cv2.COLOR_GRAY2RGB)
show(image)
我們可以使用.split獲取顏色的單個(gè)數(shù)組,然后將圖片與.merge組合在一起。這對于修改,檢查和過濾數(shù)組的單個(gè)維度非常實(shí)用。例如,我們可以將數(shù)組乘以零以將其刪除;img = cv2.imread('img2.jpeg')
B, G, R = cv2.split(img) img = cv2.merge([B*0, G, R*0])
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)show(img)
我們可以增加或減少顏色的強(qiáng)度,或者構(gòu)建具有相同形狀的新的Numpy數(shù)組來替換它,或者你可以考慮使用任何其他方法。img = cv2.merge([np.ones_like(B)*255, G, R])
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)show(img)
同樣的分割和合并概念也適用于其他格式,如HSV和HSL。img = cv2.imread('img2.jpeg')img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
H, S, V = cv2.split(img)
img = cv2.merge([np.ones_like(H)*30, S+10, V-20])
img = cv2.cvtColor(img, cv2.COLOR_HSV2RGB)show(img)

發(fā)表評論
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個(gè)字
最新活動(dòng)更多
-
10月23日火熱報(bào)名中>> 2025是德科技創(chuàng)新技術(shù)峰會(huì)
-
10月23日立即報(bào)名>> Works With 開發(fā)者大會(huì)深圳站
-
10月24日立即參評>> 【評選】維科杯·OFweek 2025(第十屆)物聯(lián)網(wǎng)行業(yè)年度評選
-
11月27日立即報(bào)名>> 【工程師系列】汽車電子技術(shù)在線大會(huì)
-
12月18日立即報(bào)名>> 【線下會(huì)議】OFweek 2025(第十屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會(huì)
-
精彩回顧立即查看>> 【限時(shí)福利】TE 2025國際物聯(lián)網(wǎng)展·深圳站
推薦專題