使用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)

                             

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM