掩膜(可参考opecv-图像处理)
openCV 参考链接:https://www.cnblogs.com/huahuawang/p/15866812.html(掩膜)
作用:排除掉干扰数据
#!\Users\Local\Programs\Python37 # -*- coding: utf-8 -*- """ 掩膜示例 """ import numpy as np import cv2 as cv from matplotlib import pyplot as plt import os def test_mask(): """ 蒙版中黑色的区域表示删除掉该区域像素,白色表示保留该区域像素。黑色是0,白色是255 """ # 1.读取图像 img = cv.imread(r'D:\rsrc\data\coal-project\shaft\yuhua\org_images\00155.jpg') print(img.shape) # 2. 创建蒙版 mask = np.zeros(img.shape[:2], np.uint8) mask[200:350, 580:890] = 0 mask[0:200]=255 mask[200:350,0:580]=255 mask[200:350,890:]=255 mask[350:]=255 # 3.掩模 masked_img = cv.bitwise_and(img,img,mask = mask) # 5. 图像展示 fig,axes=plt.subplots(nrows=2,ncols=2,figsize=(10,8)) axes[0,0].imshow(img) axes[0,0].set_title("原图") axes[0,1].imshow(mask) axes[0,1].set_title("蒙版数据") axes[1,0].imshow(masked_img) axes[1,0].set_title("掩膜后数据") plt.rcParams['font.sans-serif']=['SimHei'] #设置字体 plt.show() def handle_img(root_path,img_dir="org_images",save_dir="JPEGImages"): img_dir_path =os.path.join(root_path,img_dir) save_path =os.path.join(root_path,save_dir) img_name_lists =os.listdir(img_dir_path) for img_name in img_name_lists: img_path =os.path.join(img_dir_path,img_name) img = cv.imread(img_path) mask = np.zeros(img.shape[:2], np.uint8) mask[200:350, 580:890] = 0 mask[0:200] = 255 mask[200:350, 0:580] = 255 mask[200:350, 890:] = 255 mask[350:] = 255 masked_img = cv.bitwise_and(img, img, mask=mask) cv.imwrite(fr'{save_path}/{img_name}', masked_img) print(f"{img_name}--保存成功") if __name__ == '__main__': # test_mask() #window img_dir = "org_images" root_path =r"D:\rsrc\data\coal-project\shaft\yuhua" save_dir ="JPEGImages" handle_img(root_path,img_dir,save_dir)
--> 
作者:华王
博客:https://www.cnblogs.com/huahuawang/
浙公网安备 33010602011771号