我正在尝试解决Android设备上的MNIST分类问题。我已经有了一个训练好的模型,现在我想能够识别照片上的单个数字。
拍摄照片后,在将图像传递给模型之前,我会进行一些预处理。以下是原始图像的示例:
然后,我将其变为黑白色,使其开始看起来像这样:
请不要关注尺寸上的变化-它们是由于我截取屏幕造成的,在应用程序中,两个图像仍具有相同的大小。
将其转换为黑白色后,我提取数字的斑点,将其缩小到20*20(保持纵横比),然后添加填充以使其适合MNIST 28*28的大小。最终结果如下: 请注意,我将图像放大以显示问题。问题是:缩小后会丢失很多有用的信息,有时整个数字的边缘都会消失。有没有办法避免这种情况?也许我可以在缩小之前使白线变粗?
附注:我使用Catalano框架进行图像处理。
编辑:应用答案中建议的滤镜后,这是我的结果:
拍摄照片后,在将图像传递给模型之前,我会进行一些预处理。以下是原始图像的示例:
![enter image description here](https://istack.dev59.com/rLBdQ.webp)
![enter image description here](https://istack.dev59.com/BvH4E.webp)
将其转换为黑白色后,我提取数字的斑点,将其缩小到20*20(保持纵横比),然后添加填充以使其适合MNIST 28*28的大小。最终结果如下: 请注意,我将图像放大以显示问题。问题是:缩小后会丢失很多有用的信息,有时整个数字的边缘都会消失。有没有办法避免这种情况?也许我可以在缩小之前使白线变粗?
附注:我使用Catalano框架进行图像处理。
编辑:应用答案中建议的滤镜后,这是我的结果:
![enter image description here](https://istack.dev59.com/oZDTu.webp)