Можно ли передать массив имен изображений в код, который преобразует изображения в оттенки серого?
Я могу преобразовать изображение в оттенки серого, используя этот код:
public static void makeGrey() {
try{
//Read in original image.
BufferedImage image = ImageIO.read(new File("images\\012.jpg"));
//Obtain width and height of image.
double image_width = image.getWidth();
double image_height = image.getHeight();
BufferedImage bimg = null;
BufferedImage img = image;
//Draw the new image.
bimg = new BufferedImage((int)image_width, (int)image_height, BufferedImage.TYPE_BYTE_GRAY);
Graphics2D gg = bimg.createGraphics();
gg.drawImage(img, 0, 0, img.getWidth(null), img.getHeight(null), null);
//Save new greyscale (output) image.
String temp = "_inverted";
File fi = new File("images\\" + temp + ".jpg");
ImageIO.write(bimg, "jpg", fi);
}
catch (Exception e){
System.out.println(e);
}
}
Однако этот код работает только с одним файлом за раз, и я хотел бы знать, как заставить его работать со всеми файлами, расположенными в каталоге images
?
Я создал массив, которыйпроходит через каталог images
и хранит имена всех файлов, и я хотел бы знать, как передать эти имена файлов в мой метод makeGrey()
?
static File dir = new File("images");
static File imgList[] = dir.listFiles();
public static void listFiles(String imageName) {
if(dir.isDirectory()){
for(File img : imgList){
if(img.isFile()){
MakeGrey.makeGrey();
}
}
}
Спасибо.