我正在创建一个基于深度学习的Android应用程序。我有一个Canvas
,我允许用户绘制一些东西。然后我将Canvas
的位图传递给我的模型进行分类。我使用Tensorflow MNIST项目作为我项目的基础。我的问题是,在MNIST示例中,允许用户使用28x28
大小Canvas
进行绘制。但是我不想这样做,因为利用Canvas
来绘制图形。我正在绘制完整尺寸Canvas
,但在将Bitmap
画布发送到Tensorflow
模型时,我想将其调整为28x28
以进行分类(否则我会得到) ArrayIndexOutOfBoundException
)。
如何在不丢失信息的情况下将位图的大小调整为28x28
?或其他任何可能的解决方案?
以下是MNIST画布的图片:
这是我的应用程序画布的图像。我尝试将其调整为28x28但我丢失了图像信息:
答案 0 :(得分:1)
假设您输入的是100 x 100图像,并且想要将其调整为28 x 28。
100 x 100像素 - > 10000个功能
28 x 28像素 - > 784功能
在数学上不可能在调整大小时丢失输入信息。
然而,还有其他方法可以解决。