Python在JPEG图像上找到黑色方 block 的坐标

标签 python opencv python-2.7 image-processing python-imaging-library

我有这个示例图像,它有白色矩形框,其中有一个黑色正方形。 (2 个蓝色箭头仅用于说明目的,它们不是图像的一部分)

enter image description here

有没有办法找出黑色方 block 距离图像的左边界和上边界有多少像素?

如果可能的话,我宁愿不使用 OpenCV,因为其余的处理都是在 PIL 中完成的,如果我必须使用 OpenCV,这可能有点矫枉过正 就做这一个操作。

仅供引用:图像为 JPEG 格式,框中始终只有 1 个黑色方 block (没有多个方 block )。

更新

根据karlphillip的回答,我想出了这段代码。

from PIL import Image

img = Image.open('test.png').convert('1')
pixels = img.load()

xlist = []
ylist = []
for y in xrange(img.size[1]):
    for x in xrange(img.size[0]):
        if pixels[x, y] == 0:
            xlist.append(x)
            ylist.append(y)

#4 corners of the black square
xleft = min(xlist)
xright = max(xlist)
ytop = min(ylist)
ybot = max(ylist)

最佳答案

基于 that link我提到过,我能够将以下伪代码放在一起:

from PIL import Image

img = Image.open('test.png')
pixels = img.load()

for y in xrange(img.size[1]):
    for x in xrange(img.size[0]):
        if pixels[x, y] == (0, 0, 0):
            // black pixel found, add it to a counter variable or something.

此答案演示了如何使用 PIL 访问和测试图像中的每个像素。

关于Python在JPEG图像上找到黑色方 block 的坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20754419/

相关文章:

python - PyQt5将QByteArray保存为json格式

python - CrossRef API 追踪 DOI 引文

python - 使用 Selenium WebDriver 和 Python 检索动态框架名称?

python - 使用列(键)中的信息更改 Pandas 中的索引名称

python - Django 动态链接

c++ - 使用之字形扫描将 8x8 矩阵转换为展平 vector

opencv - 使用 OpenCV 对小而嘈杂的图像进行特征检测

qt - 我需要做什么才能将 cout 与 opencv 一起使用?

Python空列表异常

python-2.7 - 如何在Python中将正整数列表转换为负整数?