0
点赞
收藏
分享

微信扫一扫

计算图片中每个像素点数值的差值python

JakietYu 2022-01-24 阅读 52

话不多说,直接亮出代码;
关键语句在代码中有注释。
环境:python3.6

from PIL import Image
import numpy as np
import glob

def ChaZhi(pngfile):
    maxmium = 0 ##因为最大值肯定大于0
    minnium = 255 ##因为最小值肯定小于255
    img = Image.open(pngfile)
    try:
        img.getdata()
        img.convert("L") ##将图像转化为灰度图像,于是转化后图像三个通道的值都相同
        img = np.array(img)
        for i in range(len(img)): ##用第一维的大小来遍历
            for j in range(len(img[0])):  ##用第二维的大小来遍历
                if img[i][j][0] > maxmium: ##因为三个通道的值都相同,取一个通道的值即可
                    maxmium = img[i][j][0]
                if img[i][j][0] < minnium:
                    minnium = img[i][j][0]
    except Exception as e:
        print(e)
    return maxmium - minnium ##计算差值

def main():
    i = 0
    m = 0
    for pngfile in glob.glob("D:\\~~你的文件夹路径~~\\*.png"): ##遍历文件夹中每一张图片
        i = i + 1
        print('OK'+ str(i))
        k = ChaZhi(pngfile)
        print('max'+str(i)+"="+str(k))
        if m < k:
            m = k
    print('max'+"="+str(m))
if __name__ == '__main__':
    main()

如有疑问请不吝赐教。
另外,想获得更多好内容与资源,请移步微信公众号

举报

相关推荐

0 条评论