Python 提取与OpenCV中的遮罩匹配的图像部分
在使用Python的Python 提取与OpenCV中的遮罩匹配的图像部分,python,c++,opencv,image-processing,mask,Python,C++,Opencv,Image Processing,Mask,在使用Python的OpenCV应用程序中,我有一个掩码和一个RGB图像,我想提取与掩码匹配的部分图像,但我不知道如何提取 例如,这是一个掩码: 我想这样做: 我这样做: temp = cv2.bitwise_and(img ,img, mask=feature_map) 但它给了我一个错误: cv2.error: /Users/mee/opencv/modules/core/src/arithm.cpp:1589: error: (-215) (mtype == CV_8U || mty
OpenCV
应用程序中,我有一个掩码和一个RGB
图像,我想提取与掩码匹配的部分图像,但我不知道如何提取
例如,这是一个掩码:
我想这样做:
我这样做:
temp = cv2.bitwise_and(img ,img, mask=feature_map)
但它给了我一个错误:
cv2.error: /Users/mee/opencv/modules/core/src/arithm.cpp:1589: error: (-215) (mtype == CV_8U || mtype == CV_8S) && _mask.sameSize(*psrc1) in function binary_op
您可以执行以下操作:
mask = cv2.imread('mask.png',0)
im = cv2.imread('guy.png')
mask_inv = 255 - mask;
final_im = mask_inv*im
您应该将遮罩转换为对象遮罩像素值为255,背景像素值为0。之后,您可以使用新的遮罩为RGB图像的每个颜色通道应用and操作或乘法操作。我现在没有尝试它的设置,但是感觉像
(mtype==CV|8U | mtype==CV|8S)
部分是说您的遮罩需要是cv8uc3
矩阵。使用copyTo创建黑色初始化图像,倒转mask@seleciii44我希望面具是单通道的,但我认为你对这种类型的观察是正确的。我也希望在应用到图像之前,面具会被反转。