牟平做网站,南宁企业宣传片制作,电子商务网站与普通网站的区别,个人网站建设研究意义原理
通过连通域分析算法能够找到最大的连通域#xff0c;即图片的主体部分#xff0c;然后保存该连通域的最小外接矩阵#xff0c;即可去除掉无关的背景区域
代码 使用连通域分析算法去除图像中的空白部分
并将图像变为统一大小的正方形
from skimage import measure
imp…原理
通过连通域分析算法能够找到最大的连通域即图片的主体部分然后保存该连通域的最小外接矩阵即可去除掉无关的背景区域
代码 使用连通域分析算法去除图像中的空白部分
并将图像变为统一大小的正方形
from skimage import measure
import skimage
import numpy as np
import os
import cv2current_path os.path.abspath(__file__)
# 待处理图片的路径
image_father_path current_path.split(src)[0] datapath
files os.listdir(image_father_path)
# 保存处理后的图片的路径
save_path current_path.split(src)[0] datapath
if not os.path.exists(save_path):os.mkdir(save_path)
i0
for image in files:# if i2:# breakraw_image cv2.imread(f{image_father_path}\\{image})# 1. 二值化gray_image cv2.cvtColor(raw_image, cv2.COLOR_BGR2GRAY)ret, binary_image cv2.threshold(gray_image, 1, 255, cv2.THRESH_BINARY)# 2. 连通域分析labels measure.label(binary_image, connectivity2)# 3. 找出最大的连通域properties measure.regionprops(labels)max_area 0i1print(len(properties))for prop in properties:print(prop.bbox, prop.area)if prop.area max_area:max_area prop.areamax_prop prop# 4. 找出最大连通域的最小外接矩形minr, minc, maxr, maxc max_prop.bboxprint(minr, minc, maxr, maxc)# 5. 将最小外接矩形的区域保存下来crop_image raw_image[minr:maxr, minc:maxc]# 将图片变为统一大小的正方形crop_image cv2.resize(crop_image, (224, 224))# 6. 保存图片cv2.imwrite(f{save_path}\\{image.split(.)[0]}.png, crop_image)更多
更多图像预处理操作工具集包含在这个github仓库中