相關(guān)學習推薦:python教程
廣德網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,廣德網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為廣德近千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的廣德做網(wǎng)站的公司定做!
圖像掩模(image mask):用選定的圖像、圖形或物體,對待處理的圖像(局部或全部)進行遮擋來控制圖像處理的區(qū)域或處理過程。由于覆蓋的特定圖像或物體稱為掩模(mask),在做圖像處理的時候,對圖像進行遮罩的需求非常多,接下來就以下面這張貓狗的圖片進行演示,我選擇的是小貓的頭像。
首先看效果圖:
Python實現(xiàn)對圖像進行掩膜遮罩處理導(dǎo)入所需的庫創(chuàng)建掩膜圖像方形掩膜圓形掩膜掩膜與原始圖像進行拼接展示圖像效果展示總結(jié)導(dǎo)入所需的庫此次需要的庫資源有cv2
和numpy
,可通過pip install xxx
進行下載。
import cv2 import numpy as np復(fù)制代碼創(chuàng)建掩膜圖像
創(chuàng)建掩膜具體需要看圖像的尺寸,根據(jù)圖像的尺寸所需創(chuàng)建自己的掩膜,當然掩膜的想也可以自己選擇。我這里創(chuàng)建的掩膜有方形掩膜和圓形掩膜。
方形掩膜掩膜坐標為[10:170, 50:220]。
# 創(chuàng)建掩膜 mask = np.zeros([img.shape[0], img.shape[1]], dtype=np.uint8) mask[10:170, 50:220] = 255復(fù)制代碼圓形掩膜
掩膜坐標:
x = 140
y = 100
r = 80
# 創(chuàng)建掩膜 x = 140 y = 100 r = 80 mask = np.zeros(img.shape[:2], dtype=np.uint8) mask = cv2.circle(mask, (x, y), r, (255, 255, 255), -1)復(fù)制代碼掩膜與原始圖像進行拼接
圖片合并用到了 cv2.add,將掩膜與原始圖像進行拼接合并。
image = cv2.add(img, np.zeros(np.shape(img), dtype=np.uint8), mask=mask)復(fù)制代碼展示圖像
# 展示原圖 cv2.imshow("img", img) # 展示掩膜圖片 cv2.imshow("mask", mask) # 展示添加掩膜效果圖片 cv2.imshow("image", image)復(fù)制代碼效果展示
原始圖像:
方形掩膜圖像:
方形掩膜與原圖合并圖像:
圓形掩膜圖像:
圓形掩膜與原圖合并圖像:
總結(jié)遮擋掩膜的原理很簡單,首先創(chuàng)建一個和圖片同樣大小的全黑圖像,再把需要顯示的區(qū)域像素改成白色,最后使用cv2.add疊加image和mask就可以實現(xiàn)圖像的遮擋顯示。
想了解更多編程學習,敬請關(guān)注php培訓欄目!
本文題目:詳細講解Python實現(xiàn)對圖像進行掩膜遮罩處理
URL地址:http://m.kartarina.com/article32/cpcgsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司、建站公司、響應(yīng)式網(wǎng)站、網(wǎng)站排名、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)