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

OpenCV 對(duì)圖像的基本操作

今天要用的照片。

nasa.png

代碼

import cv2 as cv

import numpy as np

from matplotlib import pyplot as plt

BLUE = [255,0,0]

img1 = cv.imread('nasa.png')

replicate = cv.copyMakeBorder(img1,10,10,10,10,cv.BORDER_REPLICATE)

reflect = cv.copyMakeBorder(img1,10,10,10,10,cv.BORDER_REFLECT)

reflect101 = cv.copyMakeBorder(img1,10,10,10,10,cv.BORDER_REFLECT_101)

wrap = cv.copyMakeBorder(img1,10,10,10,10,cv.BORDER_WRAP)

constant= cv.copyMakeBorder(img1,10,10,10,10,cv.BORDER_CONSTANT,value=BLUE)

plt.subplot(231),plt.imshow(img1,'gray'),plt.title('ORIGINAL')

plt.subplot(232),plt.imshow(replicate,'gray'),plt.title('REPLICATE')

plt.subplot(233),plt.imshow(reflect,'gray'),plt.title('REFLECT')

plt.subplot(234),plt.imshow(reflect101,'gray'),plt.title('REFLECT_101')

plt.subplot(235),plt.imshow(wrap,'gray'),plt.title('WRAP')

plt.subplot(236),plt.imshow(constant,'gray'),plt.title('CONSTANT')


plt.show()

結(jié)果。

似乎工作得不是很好。讓我們嘗試一個(gè)有邊界的。

聽起來(lái)很簡(jiǎn)單。cv.copyMakeBorder() 函數(shù)在圖像周圍添加填充。

borz.jpg

結(jié)果。

不太明白為什么整個(gè)圖像看起來(lái)都是藍(lán)色的?梢詮某叽缟峡闯鎏畛湟殉晒μ砑。

發(fā)現(xiàn)問題在于 matplotlib 使用 RGB 格式,而 opencv 使用 BGR 格式。

img1 = cv.cvtColor(img1, cv.COLOR_BGR2RGB)

所以我們需要這一行來(lái)轉(zhuǎn)換格式。

更好了!

現(xiàn)在讓我們?cè)黾觾?nèi)邊距的寬度,使其更加明顯。

完美的!

       原文標(biāo)題 : OpenCV 對(duì)圖像的基本操作

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

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

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

暫無(wú)評(píng)論

暫無(wú)評(píng)論

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

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