Python 读取图像后,是否无法使用特定值计算像素?

Python 读取图像后,是否无法使用特定值计算像素?,python,python-2.7,python-3.x,Python,Python 2.7,Python 3.x,我的程序正在读取一个图像256x256,它由三个值(0,1,2)标记。我的程序应该计算每个标签的像素数。但是,每当我运行程序时,它不会计算标签1和2 from __future__ import division import caffe import numpy as np from scipy.misc import imread from PIL import Image from collections import Counter sample_img_path='/path/t

我的程序正在读取一个图像256x256,它由三个值(0,1,2)标记。我的程序应该计算每个标签的像素数。但是,每当我运行程序时,它不会计算标签
1和2

 from __future__ import division
import caffe
import numpy as np 
from scipy.misc import imread
from PIL import Image
from collections import Counter

sample_img_path='/path/to/image/label-002-014.png'
    im=imread(sample_img_path)

    print im.shape

    cl0=np.count_nonzero(im == 0)   #0=background class
    cl1=np.count_nonzero(im == 1)   #1=obj1,   
    cl2=np.count_nonzero(im == 2)   #2=obj2,

    print cl0,cl1,cl2
输出

(256, 256)
64313 0 0

你能给我介绍一下吗?如何解决?

我认为您需要一个更完整的列表
imread
似乎不是python发行版的一部分,因此您的列表应该包括您的
imports
,以便人们知道您正在使用的其他模块。此外,还不清楚什么是
np
。它只是出现在你的列表中间,没有暗示它实际上是什么类型。@ TravisGriggs感谢你的推荐,我更新了问题1223个像素(你的总数中未列出的数字)听起来对Obj1和Obj2的总数是正确的吗?也许由于.png文件的调色板被重新排序,它们最终的像素值与
1
2
不同。