"""
像素查找器.py
本程序在一幅图上根据像素值查找像素点的x,y坐标,也就是行列号。
行号就当于y坐标,列号就相当于x坐标。
"""
__author__ = '李兴球'
__date__ = '2020/10/17'
__blog__ = 'www.lixingqiu.com'
import numpy as np
from PIL import Image
def _find_pixels(im,pixel):
"""im:Image图形对象,
pixel:RGBA四元组或列表
返回生成器,它能生成所有找到的像素点的行列号。
"""
ps = []
pixel = np.array(list(pixel),dtype=np.uint8)
array = np.array(im)
# print(array==pixel)
# print(np.all(array==pixel, axis=2))
# 轴为-1即倒数第一维,表示最里层中括号里的数据进行"and"操作。
# 如果有一个为False,结果就为False。
# 只有为全True,则表示这个像素的4个值都和此处像素的4个值相等。
rows,cols = np.where(np.all(array==pixel, axis=-1))
for r ,c in zip(rows,cols):
#ps.append((r,c))
yield (r,c)
def contain_pixel(im,pixel):
"""判断图像im是有pixel像素
im:Image图形对象,
pixel:RGBA四元组或列表
"""
p = _find_pixels(im,pixel)
print('p=',p)
try:
next(p)
return True
except StopIteration:
return False
except:
return False
im = Image.open("c:/kuai.png")
p = contain_pixel(im,[51,255,0,255])
if p :
print('有这个像素')
else:
print('没有')
-
- 2026 年 1 月
- 2025 年 12 月
- 2025 年 11 月
- 2025 年 10 月
- 2025 年 9 月
- 2025 年 6 月
- 2025 年 5 月
- 2025 年 3 月
- 2025 年 2 月
- 2025 年 1 月
- 2024 年 12 月
- 2024 年 8 月
- 2024 年 6 月
- 2024 年 5 月
- 2024 年 4 月
- 2024 年 3 月
- 2024 年 2 月
- 2023 年 11 月
- 2023 年 9 月
- 2023 年 6 月
- 2023 年 5 月
- 2023 年 4 月
- 2023 年 3 月
- 2023 年 2 月
- 2023 年 1 月
- 2022 年 12 月
- 2022 年 11 月
- 2022 年 10 月
- 2022 年 9 月
- 2022 年 8 月
- 2022 年 7 月
- 2022 年 6 月
- 2022 年 5 月
- 2022 年 4 月
- 2022 年 3 月
- 2022 年 2 月
- 2022 年 1 月
- 2021 年 12 月
- 2021 年 11 月
- 2021 年 10 月
- 2021 年 9 月
- 2021 年 8 月
- 2021 年 7 月
- 2021 年 6 月
- 2021 年 5 月
- 2021 年 4 月
- 2021 年 3 月
- 2021 年 2 月
- 2021 年 1 月
- 2020 年 12 月
- 2020 年 11 月
- 2020 年 10 月
- 2020 年 9 月
- 2020 年 8 月
- 2020 年 7 月
- 2020 年 6 月
- 2020 年 5 月
- 2020 年 4 月
- 2020 年 3 月
- 2020 年 2 月
- 2020 年 1 月
- 2019 年 12 月
- 2019 年 11 月
- 2019 年 10 月
- 2019 年 9 月
- 2019 年 8 月
- 2019 年 7 月
- 2019 年 6 月
- 2019 年 5 月
- 2019 年 4 月
- 2019 年 3 月
- 2019 年 2 月
- 2018 年 3 月
- 2018 年 1 月
- 2017 年 9 月
- 2017 年 5 月
- 2017 年 1 月
