python 在指定图片 上 匹配多个传入像素点 加上偏色 101010
时间: 2023-12-22 16:06:31 浏览: 64
基于图像匹配的颜色校正
3星 · 编辑精心推荐
好的,我理解您的需求了。下面是一个使用 Python 和 OpenCV 库实现的示例代码,可以在指定的图片上匹配多个传入的像素点,并且对匹配到的像素点加上偏色 [10, 10, 10]。
```python
import cv2
import numpy as np
# 读取指定的图片
img = cv2.imread('image.jpg')
# 定义多个目标像素点的颜色和位置信息
target_colors = np.array([[255, 0, 0], [0, 255, 0], [0, 0, 255]]) # 红、绿、蓝
target_points = np.array([[100, 100], [200, 200], [300, 300]])
# 在读取的图片中搜索目标像素点
for i in range(len(target_colors)):
mask = cv2.inRange(img, target_colors[i], target_colors[i])
points = cv2.findNonZero(mask)
# 对于每个找到的像素点,加上指定的偏色
for p in points:
for tp in target_points:
if (tp == p).all():
img[p[0][1], p[0][0]] += np.array([10, 10, 10]) # 加上偏色
# 显示结果
cv2.imshow('result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上面的代码中,我们首先读取指定的图片。接着,我们使用传入的目标像素点的颜色和位置信息,使用 `cv2.inRange()` 函数在读取的图片中搜索目标像素点,这里我们使用 `cv2.findNonZero()` 函数找到像素点的位置。最后,我们对于每个找到的像素点,使用 `+=` 运算符加上指定的偏色 [10, 10, 10]。
您可以根据实际需求来修改代码中的目标像素点的颜色和位置信息,以及偏色的值。另外,您需要将示例代码中的 `'image.jpg'` 替换成您自己的图片路径。
阅读全文