首页 > 解决方案 > 在openCV python中按位和发送错误

问题描述

import cv2
import numpy as np

def empty(a):
    pass

cv2.namedWindow("trackbars")
cv2.resizeWindow("trackbars",500,300)
cv2.createTrackbar("hue_min","trackbars",0,179,empty)
cv2.createTrackbar("hue_max","trackbars",179,179,empty)
cv2.createTrackbar("sat_min","trackbars",0,255,empty)
cv2.createTrackbar("sat_max","trackbars",117,255,empty)
cv2.createTrackbar("val_min","trackbars",16,255,empty)
cv2.createTrackbar("val_max","trackbars",245,255,empty)

while True:
    img = cv2.imread("resources/lambo.jpg")
    resize = cv2.resize(img,(350,250))
    imgHSV = cv2.cvtColor(resize,cv2.COLOR_BGR2HSV)

    hue_min = cv2.getTrackbarPos("hue_min","trackbars")
    hue_max = cv2.getTrackbarPos("hue_max","trackbars")
    sat_min = cv2.getTrackbarPos("sat_min","trackbars")
    sat_max = cv2.getTrackbarPos("sat_max","trackbars")
    val_min = cv2.getTrackbarPos("val_min","trackbars")
    val_max = cv2.getTrackbarPos("val_max","trackbars")
    lower = np.array([hue_min,sat_min,val_min])
    upper = np.array([hue_max,sat_max,val_max])
    mask = cv2.inRange(imgHSV,lower,upper)
    final = cv2.bitwise_and(img,img,mask=mask)
    cv2.imshow("output", imgHSV)
    cv2.imshow("mask",mask)
    cv2.imshow("final",final)
    cv2.waitKey(1)

这段代码不断给我这个错误:

final = cv2.bitwise_and(img,img,mask=mask) cv2.error: OpenCV(4.5.2) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-pnog1hji\opencv\modules\core \src\arithm.cpp:230: 错误: (-215: 断言失败) (mtype == CV_8U || mtype == CV_8S) && _mask.sameSize(*psrc1) in function 'cv::binary_op'

如果有人可以请帮忙

标签: pythonopencv

解决方案


推荐阅读