Python 读取图像后,是否无法使用特定值计算像素?
我的程序正在读取一个图像256x256,它由三个值(0,1,2)标记。我的程序应该计算每个标签的像素数。但是,每当我运行程序时,它不会计算标签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
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
不同。