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 回答