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()
結果。
似乎工作得不是很好。讓我們嘗試一個有邊界的。
聽起來很簡單。cv.copyMakeBorder() 函數在圖像周圍添加填充。
borz.jpg
結果。
不太明白為什么整個圖像看起來都是藍色的。可以從尺寸上看出填充已成功添加。
發(fā)現問題在于 matplotlib 使用 RGB 格式,而 opencv 使用 BGR 格式。
img1 = cv.cvtColor(img1, cv.COLOR_BGR2RGB)
所以我們需要這一行來轉換格式。
更好了!
現在讓我們增加內邊距的寬度,使其更加明顯。
完美的!
原文標題 : OpenCV 對圖像的基本操作

最新活動更多
-
10月23日火熱報名中>> 2025是德科技創(chuàng)新技術峰會
-
10月23日立即報名>> Works With 開發(fā)者大會深圳站
-
10月24日立即參評>> 【評選】維科杯·OFweek 2025(第十屆)物聯網行業(yè)年度評選
-
即日-11.25立即下載>>> 費斯托白皮書《柔性:汽車生產未來的關鍵》
-
11月27日立即報名>> 【工程師系列】汽車電子技術在線大會
-
12月18日立即報名>> 【線下會議】OFweek 2025(第十屆)物聯網產業(yè)大會
-
10 大模型的盡頭是開源
- 1 特斯拉工人被故障機器人打成重傷,索賠3.6億
- 2 【行業(yè)深度研究】退居幕后四年后,張一鳴終于把算法公司變成AI公司?
- 3 人形機器人廠商,正在批量復刻宇樹G1
- 4 AI 時代,阿里云想當“安卓” ,那誰是“蘋果”?
- 5 華為公布昇騰芯片三年計劃,自研HBM曝光
- 6 硬剛英偉達!華為發(fā)布全球最強算力超節(jié)點和集群
- 7 機器人9月大事件|3家國產機器人沖刺IPO,行業(yè)交付與融資再創(chuàng)新高!
- 8 谷歌“香蕉”爆火啟示:國產垂類AI的危機還是轉機?
- 9 00后華裔女生靠兩部AI電影狂賺7.8億人民幣,AI正式進軍好萊塢
- 10 美光:AI Capex瘋投不止,終于要拉起存儲超級周期了?