我有一个程序需要重复生成图像,将图像写入磁盘,然后再次读取图像并进行处理。由于我正在使用的库的怪癖,我遇到了困难,这迫使我从不同的上下文中读取和写入,如以下伪代码所示:
while (true)
captureAndPrintTo("src/images/xxxx.jpg"); //prints relative to project directory
readImageAt("images/xxxx.jpg"); //reads relative to default package directory
这会导致我的程序在 Eclipse 中运行时将图像打印到 src/成功,然后尝试从不存在的 bin/再次读取它,从而导致崩溃。程序退出后,Eclipse 将图像从 src/镜像到 bin/,以便下次执行时,循环将比上一次多运行一次。我目前已将图像打印到 src/和 bin/。
我对以下任何一项感兴趣:1)一种改变Eclipse行为的方法,以便打印到src/的图像立即镜像到bin/2)在惯用Java中执行此操作的更好方法3)使用我正在使用的特定库执行此操作的更好方法
特别是,我正在使用Java的class.getResource("src/...")来输入和OpenCV库的Highgui.imwrite(...)。输出。谢谢!
bin 是在编译应用程序时生成的,在应用程序运行时无法更新它。您必须将图像保存在另一个地方(SD卡或内部存储器),然后从那里读取。当然,您可以将这些资源作为应用程序的私有资源。
您应该看看:存储选项