当前位置: 首页 > 后端技术 > Python

Python去除图片的纯色边框(qbit)

时间:2023-03-25 23:53:04 Python

前言本文主要参考TrimwhitespaceusingPIL测试环境Windows102004Python3.8.3Pillow7.1.2ImageMagick7.0.10除了Pillow,qbit还尝试了skimage和opencv-python,效果并不比Pillow好,使用方法是更复杂的PillowPillow文档:https://pillow.readthedocs.io/#encoding:utf-8#author:qbit#date:2020-06-15#summary:RemovethesolidcolorborderoftheimageimportshutilfromPILimportImage,ImageChopsdefTrimImgEdge(inImgPath,outImgPath):r"""移除图像框inImgPath:输入图像路径outImgPath:输出图像路径"""print(f'TrimImgEdge{inImgPath}...')imgIn=Image.open(inImgPath)#创建边框颜色图像bg=Image.new(imgIn.mode,imgIn.size,imgIn.getpixel((0,0)))diff=ImageChops.difference(imgIn,bg)#diff=ImageChops.add(diff,diff,2.0,-10)#可选,是走的比较干净,副作用是误伤bbox=diff.getbbox()#返回上层的坐标左下角和右下角(左、上、右、下)ifbbox:imgIn.crop(bbox).save(outImgPath,quality=95)else:shutil.copyfile(inImgPath,outImgPath)if__name__=="__main__":TrimImgEdge('csharp.jpg','csharp_pillow.jpg')resize#LANCZOS在Pillow2.7之前它被称为ANTIALIASimg.resize((width,height),Image.LANCZOS)输入图像样本(点击图像查看边框)输出图像样本(点击图像查看边界)ImageMagick使用ImageMagick可以达到类似的目的magickconvertcsharp.jpg-fuzz7%-trimcsharp_magick.jpg相关阅读Python补图本文来自qbitsnap

最新推荐
猜你喜欢