我有一个包含许多不同背景图像的文件夹。我需要根据背景颜色对这些图像进行排序。
我可以制作一个java程序来读取文件夹和每个图像文件,并确定每个文件的图像吗?请分享选项。
答案 0 :(得分:2)
是的,有可能。您可以使用ImageIO加载图像。
BufferedImage img = ImageIO.read(imageFile);
int rgb = img.getRGB(x,y);
Color color = new Color(rgb);
但是你必须创建一个算法,找出哪种颜色是背景颜色。这取决于图像的种类。
答案 1 :(得分:2)
因此,不知道你的图像是什么样的,你可能想要尽可能多地平均背景,以便能够很好地呈现背景颜色。
我会考虑几件事:
*读入四个边缘中每个边缘的像素。如果像素颜色的变化很小,那么你可能会完成,只需取平均值即可
*执行相同的操作,但也可以从边缘到中间读取直线,直到您遇到颜色与运行平均值不同的像素。为所有边缘执行此操作。
这些是我能想到的最便宜的东西,可以涵盖背景颜色的变化。根据您正在使用的图像,您可能必须得到更好的效果。
BufferedImage可以为您提供图像数据。
标记