设为首页 加入收藏

TOP

用Python切掉图片的黑边
2014-11-23 22:06:59 来源: 作者: 【 】 浏览:12
Tags:Python 图片

手机里有很多G+里的截屏,都有一些黑边。像这样:



因为原图片的长宽不一定,导致黑边的大小不一定。


虽然图片都是居中的,但是有些图片是宽比高大,是横着截图的,所以这样的情况是上下左右都可能有黑边。


于是想到了用python的 PIL库来进行裁切。


研究了一下,原代码如下



代码作用是 遍历当前文件夹下的所有JPG PNG BMP GIF文件,找到内容上下左右的边距(实际上是内容矩形左上右下两点的坐标),将切出来的图片保存到目标文件夹中,并备份源文件到备份文件夹中。


boundaryFinder() 函数使用时间复杂度为O(log n)的算法来找到内容的边缘所在的线(可能是横线也可能是竖线,取决于checker使用的是哪一个函数)


hCheck() 和 vCheck() 函数分别水平和竖直地对图片上的某条线,相等间隔(默认50)的取点。如果这些点有一半被认为属于要被切掉的边,就会返回true


isCrust()函数判断点是否属于要切掉的边 本例中 RGB三色加起来小于25 就被认为是要黑边的内容


效果如下:



这个代码适用于有纯色边的图片剪切。通过修改isCrust() 函数的算法 可以适用于不同纯色边的裁切


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇用Python登录Dr.com 下一篇利用Node.js实现模拟Session验证..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: