OpenCV 對圖像的基本操作
今天要用的照片。
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é)果。
似乎工作得不是很好。讓我們嘗試一個有邊界的。
聽起來很簡單。cv.copyMakeBorder() 函數(shù)在圖像周圍添加填充。
borz.jpg
結(jié)果。
不太明白為什么整個圖像看起來都是藍色的?梢詮某叽缟峡闯鎏畛湟殉晒μ砑。
發(fā)現(xiàn)問題在于 matplotlib 使用 RGB 格式,而 opencv 使用 BGR 格式。
img1 = cv.cvtColor(img1, cv.COLOR_BGR2RGB)
所以我們需要這一行來轉(zhuǎn)換格式。
更好了!
現(xiàn)在讓我們增加內(nèi)邊距的寬度,使其更加明顯。
完美的!
原文標題 : OpenCV 對圖像的基本操作

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
推薦專題
- 1 先進算力新選擇 | 2025華為算力場景發(fā)布會暨北京xPN伙伴大會成功舉辦
- 2 人形機器人,正狂奔在批量交付的曠野
- 3 宇樹機器人撞人事件的深度剖析:六維力傳感器如何成為人機安全的關(guān)鍵屏障
- 4 解碼特斯拉新AI芯片戰(zhàn)略 :從Dojo到AI5和AI6推理引擎
- 5 AI版“四萬億刺激”計劃來了
- 6 2025年8月人工智能投融資觀察
- 7 特斯拉三代靈巧手:演進歷程與核心供應(yīng)鏈梳理
- 8 a16z最新AI百強榜:硅谷頂級VC帶你讀懂全球生成式AI賽道最新趨勢
- 9 Manus跑路,大廠掉線,只能靠DeepSeek了
- 10 地平線的野心:1000萬套HSD上車