与 OpenCV 中的掩码匹配的图像提取部分
Extraction part of image that matches to a mask in OpenCV
在带有 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 || 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 图像的每个颜色通道应用和运算或相乘运算。
在带有 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 || 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 图像的每个颜色通道应用和运算或相乘运算。