gpt4 book ai didi

image - PIL中的ImageFilter如何在使用Kernel或mask过滤后将0到255之间的像素值归一化

转载 作者:行者123 更新时间:2023-12-03 19:11:44 24 4
gpt4 key购买 nike

PIL 中的 ImageFilter 如何在使用内核或掩码过滤后将像素值(不是内核)归一化到 0 到 255 之间?(特别是零和内核,如:( -1,-1,-1,0,0, 0,1,1,1 ))

my code was like:import Imageimport ImageFilterHoriz = ImageFilter.Kernel((3, 3), (-1,-2,-1,0,0,0,1,2,1), scale=None, offset=0) #sobel maskim_fltd = myimage.filter(Horiz)

最佳答案

答案在 documentation 中对于 Kernel :

If the scale argument is given, the result of applying the kernel to each pixel is divided by the scale value. The default is the sum of the kernel weights.

编辑:我做了一些实验,发现当比例为零时会发生什么,因为除以零不会很好地工作。任何结果值 <= 0变成 0和任何东西> 0变成 255。

在您的情况下,我建议使用 1 的比例和 128 的偏移量相反。

附言您可以验证 scale 的计算通过查看参数 the source :

    if scale is None:
# default scale is sum of kernel
scale = reduce(lambda a,b: a+b, kernel)

关于image - PIL中的ImageFilter如何在使用Kernel或mask过滤后将0到255之间的像素值归一化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15906368/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com