首页 > 解决方案 > 如何只分析图像的一部分?

问题描述

我想分析图像的特定部分,例如,我想关注右下角 200x200 部分并计算所有黑色像素,到目前为止我有:

im1 = Image.open(path)
rgb_im1 = im1.convert('RGB')
for pixel in rgb_im1.getdata():

标签: pythonpython-imaging-library

解决方案


您可以尝试将图像裁剪到您想要的特定部分:-

img = Image.open(r"Image_location")
x,y = img.size
img = img.crop((x-200, y-200, x, y))

上面的代码获取输入图像,并将其裁剪为右下角 200x200 像素。(确保图片尺寸大于200x200,否则会出错)

原始图像:-

在此处输入图像描述

裁剪后的图像:-

在此处输入图像描述

然后,您可以使用此裁剪后的图像来计算黑色像素的数量,这取决于您的用例,您认为什么是黑色像素(离散值,如 (0, 0, 0) 或范围/阈值 (0- 15、0-15、0-15))。

PS:-最终图像的尺寸始终为 200x200 像素。


推荐阅读