您的位置:首页 > 编程语言 > Python开发

python去除图片多余的白色边框

2018-11-05 16:10 3763 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。如有问题,欢迎指正。 https://blog.csdn.net/leenlutop/article/details/83751252

python去除图片多余的白色边框

为了减少图像信息的噪声或者视觉效果,需要去除图片周围的白色边框。

  1. 使用matplotlib.pyplot显示和保存没有边框的图片;但是在很多情况下不work;
  2. 使用图片的RGB值判断是否属于边框,再确定物体的位置,对阈值的更改可以去除白色、黑色、或者任何纯色的边框。
from skimage import io
def corp_margin(img):
img2=img.sum(axis=2)
(row,col)=img2.shape
row_top=0
raw_down=0
col_top=0
col_down=0
for r in range(0,row):
if img2.sum(axis=1)[r]<700*col:
row_top=r
break

for r in range(row-1,0,-1):
if img2.sum(axis=1)[r]<700*col:
raw_down=r
break

for c in range(0,col):
if img2.sum(axis=0)[c]<700*row:
col_top=c
break

for c in range(col-1,0,-1):
if img2.sum(axis=0)[c]<700*row:
col_down=c
break

new_img=img[row_top:raw_down+1,col_top:col_down+1,0:3]
return new_img
im = io.imread('test_blur2.jpg')
img_re = corp_margin(im)
io.imsave('result.png',img_re)
io.imshow(img_re)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: