OpenCV半小時掌握基本操作之邊界填充
【OpenCV】⚠️高手勿入! 半小時學會基本操作⚠️邊界填充
概述
OpenCV 是一個跨平臺的計算機視覺庫, 支持多語言, 功能強大. 今天小白就帶大家一起攜手走進 OpenCV 的世界.
邊界填充
cv2.copyMakeBorder
可以幫助我們實現邊界填充.
格式:
cv.copyMakeBorder(img,top, bottom, left, right ,borderType)
參數:
- img: 需要填充的圖像
- top: 上邊界填充像素
- bottom: 下邊界填充像素
- left: 左邊界填充像素
- right: 右邊界填充像素
- borderType: 圖像填充的方法
原圖:
復制法
復制法: 復制最邊緣像素.
例子:
# 讀取圖片 img = cv2.imread("picture2.jpg") # 填充像素 top_size = 50 bottom_size = 50 left_size = 50 right_size = 50 # Replicate (復制法) 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()
輸出結果:
反射法
反射法, 對圖像邊緣像素進行反射.
例子:
# 讀取圖片 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()
輸出結果:
反射法 101
反射法 101, 以邊界為中心點, 對圖像邊緣像素進行反射.
代碼:
# 填充像素 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()
輸出結果:
注: BORDER_REFLECT_101
和 BORDER_REFLECT
的區(qū)別是, BORDER_REFLECT_101
以邊界為中心反射擴充.
外包法
外包法: 用相反位置對圖片進行包裹.
代碼:
# 讀取圖片 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()
輸出結果:
常量法
常量法: 用常數值填充. 需要設置一個 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)
調試輸出:
到此這篇關于OpenCV半小時掌握基本操作之邊界填充的文章就介紹到這了,更多相關OpenCV邊界填充內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
基于Python_腳本CGI、特點、應用、開發(fā)環(huán)境(詳解)
下面小編就為大家?guī)硪黄赑ython_腳本CGI、特點、應用、開發(fā)環(huán)境(詳解)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05python中strip(),lstrip(),rstrip()函數的使用講解
這篇文章主要介紹了python中strip(),lstrip(),rstrip()函數的使用講解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11