zoukankan      html  css  js  c++  java
  • 使用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)

                                 

  • 相关阅读:
    Beta 冲刺 (2/7)
    Beta 冲刺 (1/7)
    2017软件工程实践总结
    华为软件开发云评测
    android开发——用户头像
    学生&部门智能匹配程序
    学生会里学生汇
    数独棋盘生成器
    读与思
    Java接口
  • 原文地址:https://www.cnblogs.com/leenlu/p/9909823.html
Copyright © 2011-2022 走看看