Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在对图像应用空间过滤器时,如何处理零除?_Python_Image Processing_Filtering_Divide By Zero - Fatal编程技术网

Python 在对图像应用空间过滤器时,如何处理零除?

Python 在对图像应用空间过滤器时,如何处理零除?,python,image-processing,filtering,divide-by-zero,Python,Image Processing,Filtering,Divide By Zero,我试图应用空间滤波器来减少图像中的噪声 手边的滤波器是谐波平均滤波器: 它与3x3内核一起应用。问题是有两种可能出现零除例外的情况:分母中的除和整个除。我的问题是:在对图像应用过滤器时,我们应该如何处理这个问题 式中,S为从原始图像中提取的3x3子图像,g(r,c)为原始图像在(r,c)位置上的像素值 PS:如果有人想知道我在3x3子映像上使用这个lambda函数作为内核函数: filter\u harmonic\u mean=lambda子图像:(subimage.shape[0]*sub

我试图应用空间滤波器来减少图像中的噪声

手边的滤波器是谐波平均滤波器:

它与3x3内核一起应用。问题是有两种可能出现零除例外的情况:分母中的除和整个除。我的问题是:在对图像应用过滤器时,我们应该如何处理这个问题

式中,S为从原始图像中提取的3x3子图像,g(r,c)为原始图像在(r,c)位置上的像素值

PS:如果有人想知道我在3x3子映像上使用这个lambda函数作为内核函数:

filter\u harmonic\u mean=lambda子图像:(subimage.shape[0]*subimage.shape[1])/(sum([1/g表示子图像中的g.flatte()]))

提前感谢

您应该使用浮点算法进行此计算,然后如果像素为0,则得到1/0=无穷大,这使得和无限大,并且过滤器的结果为1/inf=0。浮点运算允许这种情况自然发生。或者,如果内核下的任何输入像素为0,那么您知道输出将为0,因此不需要计算任何内容。