1.2 利用Opencv 裁剪图片有效范围
原理:找出所有不是白色的像素点的横纵坐标,筛选出最小最大横纵坐标,截取矩形框,只保留有意义部分。
1. Cut_img
def cut_img(img): loc = np.where(img<255) # 内容为非白色部分(有意义部分) lx = [] ly = [] for pt in zip(*loc[::-1]): #pt 为每个像素点的坐标 lx.append(pt[1]) ly.append(pt[2]) sx = min(lx) bx = max(lx) sy = min(ly) by = max(ly) cv2.imwrite('full_file_path'+'.png',img[sy:by,sx:bx]) #保存时只保留有意义部分
2. Main
import numpy as np import cv2 import os img = cv2.imread('full_file_path') cut_img(img)
3. 效果
原图:
效果图: