1.2 利用Opencv 裁剪圖片有效范圍


原理:找出所有不是白色的像素點的橫縱坐標,篩選出最小最大橫縱坐標,截取矩形框,只保留有意義部分。

1. Cut_img

def cut_img(img):
    loc = np.where(img<255) # 內容為非白色部分(有意義部分)
    lx = []
    ly = []
    for pt in zip(*loc[::-1]): #pt 為每個像素點的坐標
        lx.append(pt[1])
        ly.append(pt[2])
    sx = min(lx)
    bx = max(lx)
    sy = min(ly)
    by = max(ly)
    cv2.imwrite('full_file_path'+'.png',img[sy:by,sx:bx]) #保存時只保留有意義部分

 

2. Main

import numpy as np
import cv2
import os

img = cv2.imread('full_file_path')
cut_img(img)

 3. 效果

    原圖:

    

 

    效果圖:

     

 


免責聲明!

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



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