Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-将函数应用于给定目录中的所有文件_Java_Image Processing - Fatal编程技术网

Java-将函数应用于给定目录中的所有文件

Java-将函数应用于给定目录中的所有文件,java,image-processing,Java,Image Processing,我想知道是否可以使用Java将函数应用于目录中的所有文件 更具体地说,我希望读入文件夹中的所有图像,将它们转换为二进制(两种颜色/黑白),然后将二进制图像作为新图像保存在另一个目录中(例如,可能是目录\二进制) 大概是这样的: for(all images in folder) read in image make(binaryImg) saveNewImage endFor 我有300张照片,所以我希望有办法做到这一点 非常感谢。这应该相对容易做到,这里有很多帖子涉及

我想知道是否可以使用Java将函数应用于目录中的所有文件

更具体地说,我希望读入文件夹中的所有图像,将它们转换为二进制(两种颜色/黑白),然后将二进制图像作为新图像保存在另一个目录中(例如,可能是
目录\二进制

大概是这样的:

for(all images in folder)
    read in image
    make(binaryImg)
    saveNewImage
endFor
我有300张照片,所以我希望有办法做到这一点


非常感谢。

这应该相对容易做到,这里有很多帖子涉及到这个程序的许多部分。例如,查看前面的这些问题:


应该有足够多的信息让你开始

是的,这是可能的。查看并尝试搜索有关在Java中使用文件的主题,以获取有关如何访问目录并获取其包含的文件列表的信息


如果你想找人为你写代码,那是不可能的。

我能想到的唯一“更好的方法”是在这里使用多线程设计。例如,每100个图像都应该在单独的线程中处理

您可以这样做:

File dir = new File("/dir/");
for(File f : dir.listFiles())
  processImage(f);
当然,由于您有许多文件,您可以为每个文件创建一个
Runnable
,并将它们传递给
ExecutorService
以在多个线程中处理:

public static void main(String... args){

    ExecutorService pool = Executors.newFixedThreadPool(4); //nbr of active threads

    File dir = new File("/dir/");
    for(File f : dir.listFiles())
    pool.submit(new Runnable() {
         public void run(){
             processImage(f);
        }
    } 
}
为(文件f:folder.listFiles())性能操作(f)尝试