【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ù):
原圖:
復(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, 以邊界為中心點(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)文章希望大家以后多多支持腳本之家!
標(biāo)簽:葫蘆島 安慶 湘西 三亞 銀川 烏魯木齊 呼倫貝爾 呼倫貝爾
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《OpenCV半小時(shí)掌握基本操作之邊界填充》,本文關(guān)鍵詞 OpenCV,半小時(shí),掌握,基本操作,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。