Python 像素值的除法和乘法

Python 像素值的除法和乘法,python,image-processing,pixel,Python,Image Processing,Pixel,使用Python代码,我被要求将一个图像加载到一个变量I中,然后设置一个变量n=5。然后使用ip.immultiply()将I中的所有像素值除以n,并将结果存储在一个新变量J中。再次使用ip.immultiply()将J中的所有像素值乘以n,并将结果存储在一个变量K中。然后我们要比较图像I和K。然而,我们被要求增加n的值。并解释为什么使用较高n值的图像会更失真 我写代码没有问题。我能够获得两个正确的和不同的图像。我将n=15,图像的失真程度就大得多。我的问题是,为什么除以较大的n值,然后乘以相同

使用Python代码,我被要求将一个图像加载到一个变量I中,然后设置一个变量n=5。然后使用ip.immultiply()将I中的所有像素值除以n,并将结果存储在一个新变量J中。再次使用ip.immultiply()将J中的所有像素值乘以n,并将结果存储在一个变量K中。然后我们要比较图像I和K。然而,我们被要求增加n的值。并解释为什么使用较高n值的图像会更失真


我写代码没有问题。我能够获得两个正确的和不同的图像。我将n=15,图像的失真程度就大得多。我的问题是,为什么除以较大的n值,然后乘以相同的较大的n值,会得到一个更扭曲的图像。还有为什么分割和相乘像素值会使图像失真。

一个词:我认为这是重复使用中值滤波器造成的,任何减少图像中颜色数量的操作都会导致后期处理。中值滤波器当然可以做到这一点,但在您的情况下,这将是由于除法以及随后将结果转换为int而导致的精度损失。好的,原因是当您除以较大的数字时,您正在除以像素。剪裁不会发生,因为第一步中像素的值是原始值的1/15。因为我们使用的是整数数组,所以在减半和加倍后,最终结果中的奇数像素值将减少1。这是因为分割步骤将奇数像素值舍入为最接近的整数。还是像你一样,我完全放弃了我的推理。减半和加倍是最好的情况,除以15会使原来的255种颜色可能性缩小到17种。