Python OpenCV图像处理:提取特定像素值区域并复制到另一图像
import cv2
import numpy as np
# 读取A图
img_A = cv2.imread('A.jpg')
# 提取像素值为(0, 0, 0) 的部分
mask = (img_A == [0, 0, 0]).all(axis=2)
img_B = np.zeros_like(img_A)
img_B[mask] = img_A[mask]
# 保存B图像
cv2.imwrite('B.jpg', img_B)
# 读取C图
img_C = cv2.imread('C.jpg')
# 提取与B图坐标信息相同的部分
img_D = np.zeros_like(img_C)
img_D[mask] = img_C[mask]
# 保存D图像
cv2.imwrite('D.jpg', img_D)
在这个例子中,假设A、C为RGB图像,B、D为提取的结果图像。首先,我们读取A图像,然后通过比较像素值是否为(0, 0, 0) 得到一个布尔掩码,将对应的像素位置置为True。然后,将B图像初始化为全零,并将满足掩码条件的像素值赋值给B图像。接着,读取C图像,并将D图像初始化为全零,并将满足掩码条件的像素值赋值给D图像。最后,保存B、D图像。
原文地址: https://www.cveoy.top/t/topic/qiBA 著作权归作者所有。请勿转载和采集!