将蒙版叠加到原始图像上,但只显示蒙版边界框的方法如下:
import cv2
# 加载原始图像和蒙版图像
original_image = cv2.imread('original_image.jpg')
mask_image = cv2.imread('mask_image.jpg', 0) # 以灰度图像方式加载蒙版图像
# 将蒙版图像与原始图像进行叠加
masked_image = cv2.bitwise_and(original_image, original_image, mask=mask_image)
# 根据蒙版图像的像素值,确定需要显示的区域
ret, thresh = cv2.threshold(mask_image, 127, 255, 0)
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 使用边界框算法检测蒙版边界框的位置和范围
for contour in contours:
x, y, w, h = cv2.boundingRect(contour)
cv2.rectangle(original_image, (x, y), (x + w, y + h), (0, 255, 0), 2)
# 显示结果图像
cv2.imshow('Original Image', original_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
original_image.jpg
是原始图像的文件名,mask_image.jpg
是蒙版图像的文件名。可以根据实际情况进行替换。请注意,以上答案仅供参考,具体实现方法可能因应用场景和需求而有所不同。
领取专属 10元无门槛券
手把手带您无忧上云