在Android上分类图像
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Android上分类图像相关的知识,希望对你有一定的参考价值。
我需要按文件夹对图像进行排序。例如可绘制/照片,可绘制/项目,可绘制/照片。并将每个文件夹放到注册表中,或者至少找到一种方法将它们从那里移出。我想要的只是类似于“ ../img/photos/photo0.jpg”的php。有没有办法做这样的事情。和包含图片的文件夹必须包含在apk文件中。
可能的解决方案是在R文件中建立链接,但我没有找到如何做的方法,其他解决方案是具有逻辑的find命令,如我将在此处显示的内容:
ImageView img = (ImageView)CloningTable.findViewById(R.id.img);
String ImgPath = "com.test.test/img/img0.jpg";
img.setImageDrawable(Drawable.createFromPath(ImgPath));
OR
ImageView img = (ImageView)CloningTable.findViewById(R.id.img);
String ImgPath = "com.test.test/img/img0.jpg";
img.setImageResource(ImgPath);
请告诉我最好的处理方法。并指定它是否包含路径,使我知道文件所在的路径。
File ImgFile = new File("test/test.jpg");
TextView testtext = (TextView)CloningTable.findViewById(R.id.testtext);
if (ImgFile.exists())
test.setImageBitmap(BitmapFactory.decodeFile(ImgFile.getPath()));
testtext.setText("asdasuidjasdk");
谁能说为什么程序无法找到文件并且文件存在100%= /?
文件路径:Project>资产/test/test.jpg
找到的解决方案:Android Show image by path
在这种情况下,您应该将资源放在资产文件夹中,并且可以通过路径访问它们!
因此,如果要保存路径字符串,最好的方法是创建一个类,该类具有2个变体:1个位图用于存储数据,而1个字符串用于存储路径。
如果不是,则创建一个可以在需要时访问的String数组。
在两种情况下,您都需要在加载图像之前将路径放入路径字符串存储中。
希望我理解您的问题。
编辑:满足您要求的最终答案:
没有可绘制的路径,它们都被转换为ID。如果放在资产文件夹中,只需按其名称命名。例如,资产文件夹中有“ Test.bmp”,其路径为“ Test.bmp”。如果资产文件夹的“ TestFolder”中有“ SubTest.bmp”,则其路径为“ TestFolder / SubTest.bmp”。抱歉,很长一段时间,我不得不睡觉,那是我所在时区的午夜。
很难理解为什么您需要对APK中将为[[static的资源进行排序,但是您不应该使用路径直接使用路径,而应使用API来访问它们。
在此处查看开发指南中的主题:http://developer.android.com/guide/topics/resources/accessing-resources.html
http://developer.android.com/guide/topics/resources/drawable-resource.html
这些将教您如何访问资源。要从它们创建位图,最简单的方法是使用BitmapFactory
class
记住,您
知道
APK在构建时拥有哪些资源,因此您可以解决它。如果要使用在运行时创建的位图,请改用BitmapFactory
。以上是关于在Android上分类图像的主要内容,如果未能解决你的问题,请参考以下文章
TensorFlow Android Camera Demo - 灰度图像分类
如何将张量流图像分类数据存储在Android应用程序的内部存储中?