给我一个python代码,能实现输入二值化图片1和尺寸相当的彩色原图,两者对照,只保留二值化图片中白色部分的原图
时间: 2024-03-14 17:45:18 浏览: 52
Python实现将位图描摹为彩色矢量 svg 图片的源代码,Python实现位图转彩色矢量代码
以下是一个实现上述功能的Python代码:
```python
import cv2
# 读取二值化图片和彩色原图
binary_img = cv2.imread('binary_image.png', cv2.IMREAD_GRAYSCALE)
color_img = cv2.imread('color_image.png')
# 将二值化图片转换为掩码
mask = cv2.threshold(binary_img, 127, 255, cv2.THRESH_BINARY)[1]
# 对彩色原图进行掩码操作
result = cv2.bitwise_and(color_img, color_img, mask=mask)
# 显示结果
cv2.imshow('Result', result)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上述代码中,我们首先使用OpenCV库读取了二值化图片和彩色原图。然后,使用`cv2.threshold`函数将二值化图片转换为掩码,其中的阈值为127,这意味着所有大于127的像素值会被设为255(白色),所有小于等于127的像素值会被设为0(黑色)。接着,我们使用`cv2.bitwise_and`函数对彩色原图进行掩码操作,只保留掩码中白色部分的原图像素。最后,我们使用`cv2.imshow`函数将结果显示出来。
需要注意的是,上述代码中假设二值化图片是单通道灰度图像,彩色原图是三通道BGR图像,并且两者尺寸相同。如果您的图片不符合这些条件,需要根据实际情况进行修改。
阅读全文