我一直致力于手写数字识别,我想保存MNIST图像并再次读取并转换为数组,以便为CNN提供信息。
逻辑是,如果我能够正确读取识别这些图像..我可以使用相同的功能进行实际输入。
代码1:
def create_images():
for a in range(1):
num_test = 7885
image= data.test.images[num_test]
plot_image(image)
pixels = 255 * (1.0 - image)
pixels.resize((28,28))
im = Image.fromarray(pixels.astype(np.uint8), mode='L')
im.save("2.jpeg")
对应输出:
代码2:
def ImagetoArray(image):
im = Image.open(image)
tv = list(im.getdata())
# normalize pixels to 0 and 1. 0 is pure white, 1 is pure black.
tva = [(255 - x) * 1.0 / 255.0 for x in tv]
tva = np.asarray(tva)
count=0
#plot_image(tva)
return tva
对应输出:
虽然我知道噪音似乎非常微不足道,但图像只有28X28像素且噪音可能会干扰。
我想知道噪音的添加位置以及如何克服噪音? 使用opencv会有什么不同吗?
答案 0 :(得分:2)
不要使用JPEG。使用PNG或TIFF进行无损图像压缩。
通过JPEG算法的有损压缩添加噪声。