python使用opencv切割图片白边

这篇文章主要为大家详细介绍了python使用opencv切割图片的白边,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一

本文实例为大家分享了python使用opencv切割图片白边的具体代码,可以横切和竖切,供大家参考,具体内容如下

废话不多说直接上码,分享使人进步:

 from PIL import Image from itertools import groupby import cv2 import datetime import os # from core.rabbitmq import MessageQueue THRESHOLD_VALUE = 230  # 二值化时的阈值 PRETREATMENT_FILE = 'hq'  # 横切时临时保存的文件夹 W = 540  # 最小宽度 H = 960  # 最小高度 class Pretreatment(object): __doc__ = "图片横向切割" def __init__(self, path, save_path, min_size=960): self.x = 0 self.y = 0 self.img_section = [] self.continuity_position = [] self.path = path self.save_path = save_path self.img_obj = None self.min_size = min_size self.mkdir(self.save_path) self.file_name = self.path.split('/')[-1] def get_continuity_position_new(self): img = cv2.imread(self.path) gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) ret, thresh1 = cv2.threshold(gray_image, THRESHOLD_VALUE, 255, cv2.THRESH_BINARY) width = img.shape[1] height = img.shape[0] self.x = width self.y = height for i in range(0, height): if thresh1[i].sum() != 255 * width: self.continuity_position.append(i) def filter_rule(self): if self.y  1: self.img_section.append([min(l1), max(l1)]) def split_img(self): print(self.img_section) for k, s in enumerate(self.img_section): if s: if not self.img_obj: self.img_obj = Image.open(self.path) if self.x 

原始图片:

结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持0133技术站。

以上就是python使用opencv切割图片白边的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » python