5
我有成千上萬的圖像,我需要清除那些不是照片或其他「有趣」的圖像。例如,「無趣」圖像可以全部是一種顏色,或者大多是一種顏色,或者是簡單的圖標/標誌。如何使用Python成像庫(PIL)識別非照片或「無趣」圖像
該解決方案不一定非常完美,只需移除最不感興趣的圖像即可。
我到目前爲止最好的想法是採取像素的隨機採樣,然後...做些什麼與他們。
我有成千上萬的圖像,我需要清除那些不是照片或其他「有趣」的圖像。例如,「無趣」圖像可以全部是一種顏色,或者大多是一種顏色,或者是簡單的圖標/標誌。如何使用Python成像庫(PIL)識別非照片或「無趣」圖像
該解決方案不一定非常完美,只需移除最不感興趣的圖像即可。
我到目前爲止最好的想法是採取像素的隨機採樣,然後...做些什麼與他們。
丹菲打敗了我。這裏是我的圖像熵計算方法:
import Image
from math import log
def get_histogram_dispersion(histogram):
log2 = lambda x:log(x)/log(2)
total = len(histogram)
counts = {}
for item in histogram:
counts.setdefault(item,0)
counts[item]+=1
ent = 0
for i in counts:
p = float(counts[i])/total
ent-=p*log2(p)
return -ent*log2(1/ent)
im = Image.open('test.png')
h = im.histogram()
print get_histogram_dispersion(h)
我認爲最簡單的方法是檢查圖像直方圖。 – Tarantula 2011-02-16 01:17:44