Mas*_*iff 7 python image-processing neural-network
我正在使用模拟图像训练神经网络,而现实生活中发生的事情之一就是低质量 JPEG 压缩。它以一种特殊的方式模糊锋利的边缘。有人有有效的方法来模拟这些效果吗?我的意思是创建一个干净输入的损坏版本。图像是灰度的,存储为 numpy 数组。
感谢评论中的答案,这里有一个解决方案,它将图像保存为 JPEG 并将其读回,所有这些都使用标准 python 库存储在内存中。
import io
import imageio
# Image is 2D numpy array, q is quality 0-100
def jpegBlur(im,q):
buf = io.BytesIO()
imageio.imwrite(buf,im,format='jpg',quality=q)
s = buf.getbuffer()
return imageio.imread(s,format='jpg')
Run Code Online (Sandbox Code Playgroud)
在我的函数中,我还对图像进行了预缩放和后缩放,以将 float64 转换为 uint8,然后再转换回来,但这是基本思想。