用python提取出png上面附着的数据,提取红色的部分
时间: 2023-02-24 11:10:42 浏览: 340
可以使用图像处理库,比如 OpenCV 或 Pillow,来读取 PNG 图片,然后通过颜色选择,提取出红色部分。
下面是一个使用 OpenCV 的示例代码:
```
import cv2
import numpy as np
# 读取 PNG 图片
img = cv2.imread("image.png")
# 转换为 HSV 颜色空间
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 定义红色范围
lower_red = np.array([0, 50, 50])
upper_red = np.array([10, 255, 255])
# 提取红色部分
mask = cv2.inRange(hsv, lower_red, upper_red)
red_part = cv2.bitwise_and(img, img, mask=mask)
# 保存结果
cv2.imwrite("red_part.png", red_part)
```
如果使用 Pillow,代码大致类似:
```
from PIL import Image
import numpy as np
# 读取 PNG 图片
img = Image.open("image.png")
# 转换为数组
arr = np.array(img)
# 定义红色范围
lower_red = np.array([0, 0, 50])
upper_red = np.array([10, 10, 255])
# 提取红色部分
mask = np.logical_and(arr >= lower_red, arr <= upper_red).all(axis=-1)
red_part = arr.copy()
red_part[~mask] = 0
# 保存结果
Image.fromarray(red_part).save("red_part.png")
```
这仅仅是一个示例代码,需要根据实际需要进行相应的调整。
阅读全文