首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Python计算图像上的彩色像素面积?

如何使用Python计算图像上的彩色像素面积?
EN

Stack Overflow用户
提问于 2013-08-04 00:40:40
回答 1查看 4.7K关注 0票数 0
代码语言:javascript
复制
 import numpy as np
 from matplotlib import cm
 from matplotlib import pyplot as plt
 import Image
 from scipy import ndimage
 import Image, ImageDraw
 import PIL
 import cv
 import cv2
 from scipy.ndimage import measurements, morphology
 from PIL import Image
 from numpy import *
 from scipy.ndimage import filters
 import pylab

 img = np.asarray(Image.open('test.tif').convert('L')) #read and convert image
 img = 1 * (img < 127) # threshold

 plt.imshow(img, cmap=cm.Greys_r) # show as black and white
 plt.show()

上面的代码给出了黑色背景上的白色像素,如何计算图像上的白色区域,然后将图像分割成100个矩形,并找到具有最小、最大和平均像素数的矩形?谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-08-04 04:04:23

由于您的图像是二进制的,因此您可以将这些值相加,以获得白色像素的计数。

代码语言:javascript
复制
from PIL import Image
import numpy as np

img = np.asarray(Image.open("foo.jpg").convert('L'))
img = 1 * (img < 127)

m,n = img.shape

# use np.sum to count white pixels
print("{} white pixels, out of {} pixels in total.".format(img.sum(), m*n))

# use slicing to count any sub part, for example from rows 300-320 and columns 400-440
print("{} white pixels in rectangle.".format(img[300:320,400:440].sum()))

使用切片来挑选出任何矩形,并对该部分使用sum()。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18035046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档