OpenCV半小時(shí)掌握基本操作之邊界填充
【OpenCV】⚠️高手勿入! 半小時(shí)學(xué)會(huì)基本操作⚠️邊界填充
概述
OpenCV 是一個(gè)跨平臺(tái)的計(jì)算機(jī)視覺(jué)庫(kù), 支持多語(yǔ)言, 功能強(qiáng)大. 今天小白就帶大家一起攜手走進(jìn) OpenCV 的世界.

邊界填充
cv2.copyMakeBorder可以幫助我們實(shí)現(xiàn)邊界填充.

格式:
cv.copyMakeBorder(img,top, bottom, left, right ,borderType)
參數(shù):
- img: 需要填充的圖像
- top: 上邊界填充像素
- bottom: 下邊界填充像素
- left: 左邊界填充像素
- right: 右邊界填充像素
- borderType: 圖像填充的方法
原圖:

復(fù)制法
復(fù)制法: 復(fù)制最邊緣像素.
例子:
# 讀取圖片
img = cv2.imread("picture2.jpg")
# 填充像素
top_size = 50
bottom_size = 50
left_size = 50
right_size = 50
# Replicate (復(fù)制法)
replicate = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, borderType=cv2.BORDER_REPLICATE)
cv2.imshow("replicate", replicate)
cv2.waitKey(0)
cv2.destroyAllWindows()
輸出結(jié)果:

反射法
反射法, 對(duì)圖像邊緣像素進(jìn)行反射.
例子:
# 讀取圖片
img = cv2.imread("picture2.jpg")
# 填充像素
top_size = 50
bottom_size = 50
left_size = 50
right_size = 50
# Reflect (反射法)
reflect = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_REFLECT)
cv2.imshow("reflect", reflect)
cv2.waitKey(0)
cv2.destroyAllWindows()
輸出結(jié)果:

反射法 101
反射法 101, 以邊界為中心點(diǎn), 對(duì)圖像邊緣像素進(jìn)行反射.
代碼:
# 填充像素
top_size = 50
bottom_size = 50
left_size = 50
right_size = 50
# Reflect101 (反射法101)
reflect101 = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_REFLECT_101)
cv2.imshow("reflect101", reflect101)
cv2.waitKey(0)
cv2.destroyAllWindows()
輸出結(jié)果:

注: BORDER_REFLECT_101和 BORDER_REFLECT的區(qū)別是, BORDER_REFLECT_101以邊界為中心反射擴(kuò)充.
外包法
外包法: 用相反位置對(duì)圖片進(jìn)行包裹.
代碼:
# 讀取圖片
img = cv2.imread("picture2.jpg")
# 填充像素
top_size = 50
bottom_size = 50
left_size = 50
right_size = 50
# wrap (外包方法)
wrap = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_WRAP)
cv2.imshow("wrap", wrap)
cv2.waitKey(0)
cv2.destroyAllWindows()
輸出結(jié)果:

常量法
常量法: 用常數(shù)值填充. 需要設(shè)置一個(gè) value 值,代表填充的顏色.
代碼:
# 讀取圖片
img = cv2.imread("picture2.jpg")
# 填充像素
top_size = 50
bottom_size = 50
left_size = 50
right_size = 50
# constant (常量法)
constant = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_CONSTANT, value=0)
cv2.imshow("constant", constant)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.imwrite("constant.jpg", constant)
調(diào)試輸出:

到此這篇關(guān)于OpenCV半小時(shí)掌握基本操作之邊界填充的文章就介紹到這了,更多相關(guān)OpenCV邊界填充內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用pycharm設(shè)置控制臺(tái)不換行的操作方法
今天小編就為大家分享一篇使用pycharm設(shè)置控制臺(tái)不換行的操作方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
python爬蟲(chóng)豆瓣網(wǎng)的模擬登錄實(shí)現(xiàn)
這篇文章主要介紹了python爬蟲(chóng)豆瓣網(wǎng)的模擬登錄實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
Python爬蟲(chóng)數(shù)據(jù)的分類及json數(shù)據(jù)使用小結(jié)
這篇文章主要介紹了Python爬蟲(chóng)數(shù)據(jù)的分類及json數(shù)據(jù)使用小結(jié),幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-03-03
python Django的web開(kāi)發(fā)實(shí)例(入門(mén))
這篇文章主要介紹了python Django的web開(kāi)發(fā)實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Python+Pygame實(shí)戰(zhàn)之實(shí)現(xiàn)小蜜蜂歷險(xiǎn)記游戲
這篇文章主要為大家介紹了如何利用Python中的Pygame模塊實(shí)現(xiàn)小蜜蜂歷險(xiǎn)記游戲,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python游戲開(kāi)發(fā)有一定幫助,需要的可以參考一下2022-08-08
Python3多目標(biāo)賦值及共享引用注意事項(xiàng)
這篇文章主要介紹了Python3多目標(biāo)賦值及共享引用注意事項(xiàng),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05
python 解決Fatal error in launcher:錯(cuò)誤問(wèn)題
這篇文章主要介紹了python 解決Fatal error in launcher:錯(cuò)誤問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05
python反爬蟲(chóng)方法的優(yōu)缺點(diǎn)分析
在本篇文章里小編給大家整理的是一篇關(guān)于python反爬蟲(chóng)方法的優(yōu)缺點(diǎn)分析,需要的朋友們可以學(xué)習(xí)下。2020-11-11
Python+SQLAlchemy輕松實(shí)現(xiàn)管理數(shù)據(jù)庫(kù)
QLAlchemy是一個(gè)強(qiáng)大的ORM(對(duì)象關(guān)系映射)庫(kù),它允許您通過(guò)Python代碼與關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行交互,本文我們將學(xué)習(xí)如何使用Python和SQLAlchemy庫(kù)來(lái)輕松管理數(shù)據(jù)庫(kù),需要的可以參考下2023-05-05

