簡體   English   中英

如何在Java程序中識別圖像顏色?

[英]How to identify image color in java program?

我有一個文件夾,其中包含許多背景不同的圖像。 我必須根據背景色對這些圖像進行排序。

我可以制作一個Java程序來讀取文件夾和其中的每個圖像文件,並確定每個文件的圖像嗎? 請分享選擇。

對的,這是可能的。 您可以使用ImageIO加載圖像。

BufferedImage img = ImageIO.read(imageFile);
int rgb = img.getRGB(x,y);
Color color = new Color(rgb);

但是您必須創建一種算法來找出哪種顏色是背景色。 這取決於圖像的種類。

因此,可能不知道圖像的真實外觀,可能希望平均盡可能多的背景,以很好地表現背景顏色。

我會考慮幾件事:
*讀取四個邊緣中每個邊緣的像素。 如果像素顏色幾乎沒有差異,那么您可以做一下,只取平均值即可。
*進行相同的操作,但也要從邊緣到中間逐行讀取,直到您擊中的顏色與移動平均值相比有很大不同。 對所有邊緣執行此操作。

這些將是我想到的最便宜的東西,可以覆蓋背景顏色的變化。 根據您正在使用的圖像,您可能會變得更幻想。

BufferedImage應該可以為您獲取圖像數據。

標記

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM