繁体   English   中英

如何对 PIL 图像的所有像素求和?

[英]How to sum all the pixels of a PIL image?

我正在做一个项目,涉及从图像中获取每个像素而不是平均它,我遇到了一些问题,这是代码

for i in range(0, 3):
    for j in range(0, 3):
        img = Image.open("Row " + str(i + 1) + " Col " + str(j + 1) + ".png", "r")
        width, height = img.size
        pixel_values = list(img.getdata())
        pixel_values = np.array(pixel_values).reshape((width, height, 3))
        total = list(sum(pixel_values) / len(pixel_values))
        print("TOTAL: " + str(total))

和 output

TOTAL: [array([150.73267327, 147.4950495 , 135.68316832]), array([157.04950495, 153.71287129, 137.23762376]), array([162.94059406, 160.89108911, 142.02970297]), array([138.05940594, 137.72277228, 129.43564356]), array([124.86138614, 126.15841584, 124.0990099 ]), array([138.1980198 , 139.33663366, 138.45544554]), array([119.24752475, 120.17821782, 119.96039604]), array([65.2970297 , 61.94059406, 61.        ]), array([42.84158416, 33.3960396 , 31.3960396 ]), array([55.82178218, 38.18811881, 33.5049505 ]), array([93.87128713, 58.76237624, 45.26732673]), array([152.16831683,  90.93069307,  58.16831683]), array([187.72277228, 100.9009901 ,  45.12871287]), array([191.84158416,  89.82178218,  22.6039604 ]), array([194.38613861,  87.99009901,  19.77227723]), array([196.00990099,  87.94059406,  19.2970297 ]), array([198.16831683,  88.9009901 ,  19.36633663]), array([199.15841584,  88.64356436,  18.6039604 ]), array([198.68316832,  87.83168317,  17.48514851]), array([199.31683168,  87.86138614,  17.32673267]), array([199.44554455,  87.54455446,  17.21782178]), array([199.67326733,  87.93069307,  17.34653465]), array([199.78217822,  88.26732673,  17.26732673]), array([199.99009901,  88.14851485,  16.94059406]), array([199.74257426,  88.10891089,  17.05940594]), array([200.30693069,  88.66336634,  18.17821782]), array([200.37623762,  88.47524752,  17.74257426]), array([201.2970297 ,  88.92079208,  17.79207921]), array([200.33663366,  87.71287129,  16.41584158]), array([201.11881188,  88.2970297 ,  16.9009901 ]), array([201.4950495 ,  88.72277228,  17.        ]), array([200.65346535,  88.12871287,  16.45544554]), array([200.11881188,  87.73267327,  16.33663366]), array([200.10891089,  87.79207921,  16.28712871]), array([200.36633663,  87.91089109,  16.16831683]), array([200.58415842,  88.10891089,  16.30693069]), array([199.65346535,  87.17821782,  15.42574257]), array([200.14851485,  87.42574257,  16.12871287]), array([200.2970297 ,  87.16831683,  15.88118812]), array([201.00990099,  88.0990099 ,  16.85148515]), array([200.11881188,  87.55445545,  16.7029703 ]), array([200.37623762,  87.87128713,  16.21782178]), array([200.55445545,  87.89108911,  16.30693069]), array([200.48514851,  87.7029703 ,  15.93069307]), array([200.77227723,  87.79207921,  16.33663366]), array([200.1980198 ,  87.59405941,  16.94059406]), array([201.27722772,  88.76237624,  17.65346535]), array([200.51485149,  88.28712871,  16.61386139]), array([201.43564356,  88.33663366,  16.69306931]), array([200.52475248,  87.2970297 ,  15.38613861]), array([200.6039604 ,  87.75247525,  15.93069307]), array([200.67326733,  87.95049505,  16.04950495]), array([201.16831683,  88.75247525,  16.6039604 ]), array([200.43564356,  88.18811881,  16.17821782]), array([201.00990099,  88.14851485,  16.35643564]), array([200.83168317,  87.85148515,  15.98019802]), array([200.66336634,  87.73267327,  15.52475248]), array([201.13861386,  88.24752475,  16.        ]), array([200.56435644,  87.63366337,  15.56435644]), array([200.89108911,  87.48514851,  15.79207921]), array([201.12871287,  87.66336634,  16.32673267]), array([201.64356436,  87.95049505,  16.78217822]), array([200.93069307,  87.33663366,  15.4950495 ]), array([201.12871287,  87.83168317,  15.97029703]), array([201.23762376,  88.01980198,  15.98019802]), array([200.55445545,  87.68316832,  15.92079208]), array([201.0990099 ,  87.92079208,  15.97029703]), array([201.10891089,  87.91089109,  15.82178218]), array([201.40594059,  87.6039604 ,  15.13861386]), array([201.44554455,  87.63366337,  15.55445545]), array([201.6039604 ,  87.88118812,  16.18811881]), array([201.97029703,  87.65346535,  15.93069307]), array([200.94059406,  86.33663366,  14.52475248]), array([201.03960396,  86.63366337,  13.75247525]), array([200.74257426,  86.97029703,  13.8019802 ]), array([200.10891089,  86.5049505 ,  13.52475248]), array([198.92079208,  85.92079208,  12.77227723]), array([197.98019802,  85.63366337,  13.38613861]), array([198.4950495 ,  85.79207921,  13.55445545]), array([197.54455446,  85.46534653,  13.30693069]), array([197.69306931,  85.95049505,  13.67326733]), array([197.51485149,  85.92079208,  13.47524752]), array([197.56435644,  86.12871287,  13.81188119]), array([197.        ,  86.06930693,  14.08910891]), array([196.88118812,  85.97029703,  13.5049505 ]), array([196.35643564,  85.11881188,  12.71287129]), array([195.86138614,  85.0990099 ,  12.48514851]), array([195.15841584,  84.81188119,  12.78217822]), array([194.        ,  84.83168317,  13.35643564]), array([190.63366337,  83.66336634,  13.41584158]), array([187.96039604,  82.63366337,  13.78217822]), array([180.31683168,  80.66336634,  15.93069307]), array([166.03960396,  77.46534653,  25.25742574]), array([88.46534653, 45.98019802, 27.        ]), array([42.02970297, 31.15841584, 29.57425743]), array([33.92079208, 28.25742574, 27.22772277]), array([30.18811881, 25.94059406, 25.51485149]), array([29.85148515, 25.75247525, 25.22772277]), array([30.10891089, 25.84158416, 25.44554455]), array([30.15841584, 26.        , 25.95049505]), array([27.71287129, 23.79207921, 23.67326733])]
TOTAL: [array([22.31683168, 19.92079208, 20.45544554]), array([23.45544554, 20.98019802, 21.76237624]), array([22.24752475, 19.87128713, 20.61386139]), array([31.42574257, 30.44554455, 31.05940594]), array([104.45544554, 104.33663366, 105.20792079]), array([32.20792079, 28.98019802, 29.34653465]), array([33.30693069, 28.3960396 , 28.79207921])...74257426]), array([ 18.63366337,  87.43564356, 
TOTAL: [array([20.5049505 , 18.83168317, 19.06930693]), array([17.16831683, 16.03960396, 16.71287129]), array([20.77227723, 20.27722772, 21.65346535]), array([69.94059406, 69.6039604 , 69.75247525]), array([57.92079208, 56.02970297, 55.43564356]), array([36.75247525, 33.00990099, 30.84158416]), array([34.95049505, 30.06930693, 27.92079208]), array([32.78217822, 28.04950495, 25.94059406]), array([33.76237624, 28.66336634, 26.42574257]), array([35.14851485, 30.08910891, 26.65346535]), array([37.86138614, 32.0990099 , 25.94059406]), array([53.77227723, 48.00990099, 31.6039604 ]), array([155.0990099 , 148.82178218,  68.36633663]), array([155.71287129, 146.25742574,  20.42574257]), ,  17.66336634]), array([159.64356436, 150.41584158,  16.73267327]), array([159.03960396, 149.76237624,  17.07920792]), array([159.0990099 , 149.61386139,  17.82178218]), array([158.32673267, 148.7029703 ,  18.94059406]), array([156.68316832, 146.3960396 ,  19.59405941]), array([154.52475248, 143.94059406,  19.91089109]), array([152.69306931, 142.43564356,  22.25742574]), array([148.95049505, 138.34653465,  23.66336634]), array([142.87128713, 132.27722772,  33.37623762]), array([117.61386139, 107.61386139,  39.94059406]), array([69.86138614, 61.52475248, 31.41584158]), array([33.42574257, 28.27722772, 21.08910891]), array([29.16831683, 26.42574257, 23.12871287]), array([29.93069307, 27.23762376, 23.78217822]), array([32.76237624, 30.36633663, 26.8019802 ]), array([38.38613861, 35.74257426, 32.25742574]), array([62.72277228, 58.68316832, 55.11881188])]
TOTAL: [array([148.99009901, 148.12871287, 140.7029703 ]), array([154.83168317, 158.13861386, 155.98019802]), array([163.48514851, 167.21782178, 167.51485149]), array([149.57425743, 151.25742574, 151.6039604 ]), array([80.68316832, 79.28712871, 80.31683168]), array([34.94059406, 27.83168317, 27.55445545]), array([32.51485149, 21.89108911, 20.56435644]), array([39.78217822, 23.83168317, 20.47524752]), array([63.4950495 , 36.03960396, 27.16831683]), array([120.8019802 ,  64.12871287,  38.28712871]), array([170.3960396 ,  82.43564356,  30.26732673]), array([180.21782178,  73.99009901,  13.34653465]), array([182.35643564,  70.14851485,   9.53465347]), array([184.56435644,  70.37623762,   9.03960396]), array([186.47524752,  71.05940594,   8.67326733]), array([186.48514851,  70.51485149,   8.56435644]), array([187.76237624,  71.68316832,   9.28712871]), array([188.55445545,  72.38613861,   9.0990099 ]), array([189.63366337,  73.26732673,  10.33663366]), array([189.06930693,  72.35643564,  10.        ]), array([190.1980198 ,  72.52475248,   9.23762376]), array([190.23762376,  72.07920792,   8.74257426]), array([189.91089109,  71.68316832,   8.30693069]), array([190.20792079,  71.94059406,   8.26732673]), array([190.00990099,  71.9009901 ,   8.27722772]), array([190.69306931,  72.20792079,   8.25742574]), array([191.82178218,  72.5049505 ,   7.87128713]), array([193.12871287,  72.78217822,   7.66336634]), array([193.41584158,  72.63366337,   7.40594059]), array([193.66336634,  72.75247525,   7.72277228]), array([193.95049505,  73.        ,   8.08910891]), array([192.89108911,  71.86138614,   6.61386139]), array([194.11881188,  72.52475248,   7.0990099 ]), array([194.5049505 ,  72.37623762,   7.44554455]), array([194.73267327,  72.10891089,   7.51485149]), array([194.36633663,  71.99009901,   7.14851485]), array([194.32673267,  72.        ,   7.30693069]), array([193.76237624,  71.62376238,   6.75247525]), array([194.41584158,  72.14851485,   7.24752475]), array([195.05940594,  72.88118812,   7.73267327]), array([194.30693069,  72.16831683,   7.34653465]), array([194.8019802 ,  72.67326733,   7.38613861]), array([194.31683168,  72.27722772,   6.99009901]), array([194.17821782,  72.2970297 ,   6.76237624]), array([195.23762376,  72.97029703,   7.06930693]), array([195.34653465,  72.79207921,   7.25742574]), array([194.46534653,  72.27722772,   7.02970297]), array([195.38613861,  72.83168317,   7.65346535]), array([195.10891089,  72.69306931,   7.55445545]), array([195.23762376,  72.79207921,   6.82178218]), array([195.12871287,  72.87128713,   7.18811881]), array([195.12871287,  72.64356436,   7.18811881]), array([195.56435644,  72.71287129,   7.22772277]), array([195.45544554,  72.56435644,   7.22772277]), array([196.41584158,  73.76237624,   8.1980198 ]), array([195.59405941,  73.        ,   7.82178218]), array([195.77227723,  72.8019802 ,   7.79207921]), array([196.48514851,  73.22772277,   
TOTAL: [array([12.8019802 ,  7.52475248,  7.75247525]), array([12.17821782,  6.92079208,  7.22772277]), array([12.38613861,  7.08910891,  7.34653465]), array([15.82178218, 10.1980198 , 10.43564356]), 129,   9.89108911,  13.16831683]), array([183.18811881,  10.23762376,  13.47524752]), array([184.86138614,   9.55445545,  12.99009901]), array([186.4950495 ,   8.62376238,  12.28712871]), array([189.04950495,   9.26732673,  12.66336634]), array([190.5049505 ,   8.68316832,  11.96039604]), array([191.40594059,   7.86138614,  11.26732673]), array([193.27722772,   7.78217822,  11.05940594]), array([193.8019802 ,   7.20792079,  10.36633663]), array([194.83168317,   6.91089109,  10.24752475]), array([195.91089109,   6.8019802 ,  10.46534653]), array([196.57425743,   6.77227723,  10.71287129]), array([197.5049505 ,   6.84158416,  10.97029703]), array([197.44554455,   6.44554455,  10.65346535]), array([197.58415842,   6.46534653,  10.38613861]), array([197.2970297 ,   5.7029703 ,   9.33663366]), array([197.67326733,   5.51485149,   9.16831683]), array([198.08910891,   5.17821782,   9.04950495]), array([197.73267327,   4.78217822,   8.62376238]), array([198.51485149,   5.41584158,   9.24752475]), array([198.55445545,   5.2970297 ,   8.99009901]), array([198.35643564,   5.        ,   8.76237624]), array([198.58415842,   5.03960396,   9.0990099 ]), array([198.18811881,   4.74257426,   8.69306931]), array([197.89108911,   4.89108911,   8.89108911]), array([197.40594059,   4.72277228,   8.62376238]), array([196.2970297 ,     
TOTAL: [array([20.8019802 , 15.78217822, 15.25742574]), array([19.00990099, 14.95049505, 14.59405941]), array([18.24752475, 14.4950495 , 14.27722772]), array([16.6039604 , 12.84158416, 12.94059406]), array([10.55445545,  6.87128713,  7.68316832]), array([11.15841584,  7.43564356,  8.13861386]), array([11.69306931,  7.75247525,  8.47524752]), array([14.51485149, 10.54455446, 10.68316832]), array([23.2970297 , 18.97029703, 19.53465347]), array([29.82178218, 25.06930693, 26.03960396]), array([29.98019802, 24.91089109, 25.78217822]), array([32.20792079, 26.9009901 , 27.1980198 ]), array([35.47524752, 29.57425743, 29.79207921]), array([39.61386139, 31.83168317, 31.25742574]), array([42.83168317, 32.54455446, 30.44554455]), array([83.9009901 , 32.84158416, 32.33663366]), array([105.07920792,  25.48514851,  27.12871287]), array([120.76237624,  19.66336634,  22.62376238]), array([133.52475248,  17.25742574,  21.4950495 ]), array([144.63366337,  15.64356436,  21.24752475]), array([157.11881188,  15.71287129,  22.59405941]), array([163.94059406,  13.07920792,  20.86138614]), array([170.74257426,  13.66336634,  20.8019802 ]), array([176.43564356,  12.62376238,  20.15841584]), array([181.28712871,  11.5049505 ,  19.5049505 ]), array([184.12871287,  10.20792079,  18.43564356]), array([187.16831683,   9.63366337,  18.22772277]), array([188.2970297 ,   8.02970297,  16.79207921]), array([188.81188119,   7.63366337,  16.28712871]), array([189.22772277,   7.63366337,  16.18811881]), array([189.43564356,   7.41584158,  16.2970297 ]), array([189.98019802,   7.82178218,  16.9009901 ]), array([189.27722772,   7.        ,  16.00990099]), array([189.51485149,   7.25742574,  16.31683168]), array([189.15841584,   7.22772277,  16.28712871]), array([189.06930693,   7.13861386,  16.44554455]), array([189.27722772,   7.27722772,  16.4950495 ]), array([189.34653465,   7.28712871,  16.25742574]), array([189.64356436,   7.73267327,  16.64356436]), array([189.05940594,   7.20792079,  16.47524752]), array([189.59405941,   7.61386139,  16.83168317]), array([189.41584158,   7.47524752,  16.71287129]), array([189.45544554,   7.47524752,  16.78217822]), array([188.85148515,   7.17821782,  16.79207921]), array([189.06930693,   7.26732673,  16.75247525]), array([188.9009901 ,   7.2970297 ,  16.56435644]), array([189.46534653,   7.81188119,  17.12871287]), array([189.26732673,   7.68316832,  17.11881188]), array([188.69306931,   7.12871287,  16.20792079]), array([188.6039604 ,   7.04950495,  16.22772277]), array([189.12871287,   7.44554455,  16.7029703 ]), array([188.73267327,   7.52475248,  16.68316832]), array([188.81188119,   7.57425743,  16.79207921]), array([188.89108911,   7.4950495 ,  16.5049505 ]), array([188.88118812,   7.38613861,  16.26732673]), array([189.01980198,   7.62376238,  16.54455446]), array([188.86138614,   7.47524752,  16.71287129]), array([188.58415842,   7.38613861,  16.51485149]), array([188.51485149,   7.27722772,  16.51485149]), array([188.35643564,   7.22772277,  16.36633663]), array([188.61386139,   7.66336634,  16.72277228]), array([187.95049505,   7.31683168,  16.28712871]), array([188.53465347,   7.86138614,  16.81188119]), array([188.24752475,   7.58415842,  16.7029703 ]), array([187.95049505,   7.18811881,  16.3960396 ]), array([188.23762376,   7.92079208,  16.9009901 ]), array([188.55445545,   8.18811881,  17.34653465]), array([188.17821782,   7.75247525,  16.84158416]), array([188.01980198,   8.15841584,  17.22772277]), array([187.64356436,   7.82178218,  17.20792079]), 38614, 101.67326733, 149.53465347]), array([  8.52475248, 101.11881188, 149.21782178]), array([  8.45544554, 101.13861386, 149.27722772]), array([  8.17821782, 100.71287129, 148.55445545]), array([  8.89108911, 101.56435644, 149.43564356]), array([  8.08910891, 101.05940594, 149.07920792]), array([  8.32673267, 101.57425743, 149.20792079]), array([  7.85148515, 100.93069307, 148.62376238]), array([  8.43564356, 100.61386139, 148.34653465]), array([  7.99009901, 100.55445545, 148.13861386]), array([  8.01980198, 100.20792079, 147.93069307]), array([  8.63366337,  99.72277228, 146.8019802 ]), array([  8.25742574,  98.2970297 , 145.32673267]), array([  9.5049505 ,  98.53465347, 144.51485149]), array([  8.98019802,  96.21782178, 141.11881188]), array([ 10.01980198,  94.2970297 , 137.24752475]), array([ 13.14851485,  88.84158416, 125.86138614]), array([19.30693069, 62.61386139, 87.16831683]), array([24.57425743, 35.27722772, 42.64356436])]

我想要所有数字的总和,但我不明白......我在这里做错了什么?

您可以使用PIL (Python Imaging Library) 加载图像,使用 numpy.asarray( numpy.asarray()将其转换为数组,然后使用numpy.sum()

from PIL import Image
import numpy as np

image_path = '/Users/xxx/Desktop/test.png'
img = Image.open(image_path)
img.load()
data = np.asarray(img, dtype="int32")
data.sum()

Output

1715779623

参考资料

numpy.asarray

numpy.sum

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM