过滤出绿色,还将过滤后的绿色显示为绿色——先过滤——在和原来的图像求和

def extrace_object_demo(image):#提取对象
    capture=cv.VideoCapture('./data/eng.mp4')
    while(True):
        ret,frame=capture.read()
        if ret==False:
            break
        hsv=cv.cvtColor(frame,cv.COLOR_BGR2HSV)
        lower_hsv=np.array([0,0,221])
        upper_hsv = np.array([77, 255, 255])  #是绿的范围
        mask= cv.inRange(hsv,lowerb=lower_hsv,upperb=upper_hsv)#就会只显示图像中绿色的部分,但是显示的结果是白的的
        oo=cv.bitwise_and(frame,frame,mask=mask) #用逻辑and操作将两者进行求和,显示图像中绿色的部分,但是显示的结果也是绿色的的
        cv.imshow('00', oo)
        cv.imshow('video',frame)
        cv.imshow('mask',mask)
        c=cv.waitKey(20) #调节大小可以控制播放的快慢,0代表无限等待
        if c==27:  #27代表退出的意思相当于ESC
            break

猜你喜欢

转载自blog.csdn.net/qq_37354021/article/details/80850122