从python列表中以百分比形式获取RGB出现计数(搜索最佳方法)

2024-10-03 23:31:02 发布

您现在位置:Python中文网/ 问答频道 /正文

执行以下操作的最佳方法是什么

  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只需要很长时间…所以什么是最好的方法…请指导


Tags: 方法图像self图形绘图valrgb像素
1条回答
网友
1楼 · 发布于 2024-10-03 23:31:02

这就是我要的解决方案现在。但是如果有更聪明的方法请给我一些建议

    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

相关问题 更多 >