簡體   English   中英

如何使用 PIL Lib 將圖像標准化為 0 255 范圍

[英]How to normalize image to range 0 255 with PIL Lib

我有灰度圖像標准化的問題。 OpenCV 有一個cv2.normalize()方法(使用代碼中的參數),但我需要使用Pillow 庫來讀取圖像和 numpy 對它們進行操作。 我需要將其從輸入范圍標准化為[0,255] 這是我的代碼,但結果不好。

def disparity_normalization(self, disp): # disp is an array in uint8 data type
        # disp_norm = cv2.normalize(src=disp, dst= disp, beta=0, alpha=255, norm_type=cv2.NORM_MINMAX)
        _min = np.amin(disp)
        _max = np.amax(disp)
        disp_norm = disp - _min * 255.0 / (_max - _min)
        disp_norm = np.uint8(disp_norm)
        plt.imshow(disp_norm)
        plt.show()

        return disp_norm 

編輯: function 的最小值和最大值是正確的,但繪圖結果不好。

這里是 function plot

這是 cv2.normalize() plot

我想你忘記了括號。

大概應該是:

def disparity_normalization(self, disp): # disp is an array in uint8 data type
        # disp_norm = cv2.normalize(src=disp, dst= disp, beta=0, alpha=255, norm_type=cv2.NORM_MINMAX)
        _min = np.amin(disp)
        _max = np.amax(disp)
        #disp_norm = disp - _min * 255.0 / (_max - _min)
        disp_norm = (disp - _min) * 255.0 / (_max - _min)
        disp_norm = np.uint8(disp_norm)
        plt.imshow(disp_norm)
        plt.show()

        return disp_norm 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM