将数字图像转换为numpy数组的问题
Problem in converting digit image to numpy array
我正在练习 MNIST 数字数据集。
我很高兴能使用任何方法将我的手写数字转换为 numpy 数组。但是没有得到预期的结果。
这是我在 photoshop 中写的:
然后我编写了一个代码,将 png 图像转换为 np 数组,如下所示:
from PIL import Image
img =Image.open('New Project (11).png')
img_arr = np.array(img)
img_arr = img_arr.flatten()
img_arr = img_arr.astype('float64')
some_digit = img_arr.reshape(28,28)
import matplotlib as mpl
import matplotlib.pyplot as plt
plt.imshow(some_digit,cmap='binary')
给出的结果是这样的:
我做错了什么或者其他简单的选择是什么。感谢您的帮助。
我发现了问题。我从图像中转换的 numpy 数组实际上是正确的。由于某种原因,它显示不同。我使用 skimage 而不是 PIL 并将图像反转并且它起作用了。代码如下:
import skimage.io as lo
from skimage import util
img = lo.imread("New Project (16).png")
img = util.invert(img)
img_arr = np.array(img)
img_arr = img_arr.flatten()
# type(img_arr)
img_arr = img_arr.astype('float64')
some_digit = img_arr.reshape(28,28)
# some_digit = np.invert(some_digit)
# some_digit
import matplotlib as mpl
import matplotlib.pyplot as plt
# some_digit = X[0]
# some_digit_image = some_digit.reshape(28,28)
plt.imshow(some_digit,cmap='binary')
我正在练习 MNIST 数字数据集。
我很高兴能使用任何方法将我的手写数字转换为 numpy 数组。但是没有得到预期的结果。
这是我在 photoshop 中写的:
然后我编写了一个代码,将 png 图像转换为 np 数组,如下所示:
from PIL import Image
img =Image.open('New Project (11).png')
img_arr = np.array(img)
img_arr = img_arr.flatten()
img_arr = img_arr.astype('float64')
some_digit = img_arr.reshape(28,28)
import matplotlib as mpl
import matplotlib.pyplot as plt
plt.imshow(some_digit,cmap='binary')
给出的结果是这样的:
我做错了什么或者其他简单的选择是什么。感谢您的帮助。
我发现了问题。我从图像中转换的 numpy 数组实际上是正确的。由于某种原因,它显示不同。我使用 skimage 而不是 PIL 并将图像反转并且它起作用了。代码如下:
import skimage.io as lo
from skimage import util
img = lo.imread("New Project (16).png")
img = util.invert(img)
img_arr = np.array(img)
img_arr = img_arr.flatten()
# type(img_arr)
img_arr = img_arr.astype('float64')
some_digit = img_arr.reshape(28,28)
# some_digit = np.invert(some_digit)
# some_digit
import matplotlib as mpl
import matplotlib.pyplot as plt
# some_digit = X[0]
# some_digit_image = some_digit.reshape(28,28)
plt.imshow(some_digit,cmap='binary')