opencv——擴充圖像邊界

import cv2
import numpy as np
from matplotlib import pyplot as plt
'''
擴充圖像邊界
• src 輸入圖像
• top, bottom, left, right 對應邊界的像素數目。
• borderType 要添加那種類型的邊界,類型如下
– cv2.BORDER_CONSTANT 添加有顏色的常數值邊界,還需要
下一個參數(value)。
– cv2.BORDER_REFLECT 邊界元素的鏡像。比如: fedcba|abcde-
fgh|hgfedcb
– cv2.BORDER_REFLECT_101 or cv2.BORDER_DEFAULT
跟上面一樣,但稍作改動。例如: gfedcb|abcdefgh|gfedcba
– cv2.BORDER_REPLICATE 重複最後一個元素。例如: aaaaaa|
abcdefgh|hhhhhhh
– cv2.BORDER_WRAP 不 知 道 怎 麼 說 了, 就 像 這 樣: cdefgh|
abcdefgh|abcdefg
• value 邊界顏色,如果邊界的類型是 cv2.BORDER_CONSTANT
'''
BLUE=[255,0,0]
img1=cv2.imread('test.png')
replicate = cv2.copyMakeBorder(img1,10,10,10,10,cv2.BORDER_REPLICATE)
reflect = cv2.copyMakeBorder(img1,10,10,10,10,cv2.BORDER_REFLECT)
reflect101 = cv2.copyMakeBorder(img1,10,10,10,10,cv2.BORDER_REFLECT_101)
wrap = cv2.copyMakeBorder(img1,10,10,10,10,cv2.BORDER_WRAP)
constant= cv2.copyMakeBorder(img1,10,10,10,10,cv2.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()
發佈了98 篇原創文章 · 獲贊 104 · 訪問量 28萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章