0

以下のアクションを実行する最良の方法は何ですか

  1. 指定された画像が無地であるか、何らかの描画/グラフィックスを保持しているかを調べます。
  2. 特定の画像でどのピクセル値 (RGB) が最大に使用されたか。

    i1 = list(self.__img1.getdata())
    result=0
    resultVal=None
    a = list(set(i1))
    length = len(i1)
    
    for val in a:
        print val
        occurencePercent = (i1.count(val) / length) * 100
        if occurencePercent > result:
            result = occurencePercent
            resultVal=val
    print resultVal
    print result
    

しかし、その640 x 480なので、非常に時間がかかります..だから、最善のアプローチは何ですか..ガイドしてください

4

1 に答える 1

0

これは私が今のところ到着した解決策です。しかし、もっとスマートな方法があればアドバイスしてください

    i1 = list(self.__img1.getdata())
    UniqOccurenceData={}
    for tempVal in itertools.groupby(i1):
        UniqOccurenceData[tempVal[0]] = len(list(tempVal[1]))
    maxrgboccurence=max(UniqOccurenceData.iteritems(), key=operator.itemgetter(1))
    maxVal = float(maxrgboccurence[1])
    maxPercent=float(maxVal/len(i1)) * 100
    print maxrgboccurence
于 2013-09-19T12:04:59.403 に答える