Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 多处理模块OpenCV应用程序(空白相机馈送)_Python_Opencv_Python Multiprocessing - Fatal编程技术网

Python 多处理模块OpenCV应用程序(空白相机馈送)

Python 多处理模块OpenCV应用程序(空白相机馈送),python,opencv,python-multiprocessing,Python,Opencv,Python Multiprocessing,我尝试使用多处理模块基于Pygame和OpenCV并发运行两个函数 然而,我目前面临一些有关OpenCV方面的问题 代码如下: import cv2 import numpy as np import multiprocessing cap = cv2.VideoCapture(0, cv2.CAP_DSHOW) cordeX, cordeY = 0, 0 font = cv2.FONT_HERSHEY_SIMPLEX def pointCoordenates(frame):

我尝试使用多处理模块基于Pygame和OpenCV并发运行两个函数

然而,我目前面临一些有关OpenCV方面的问题

代码如下:

import cv2
import numpy as np
import multiprocessing 

cap = cv2.VideoCapture(0, cv2.CAP_DSHOW) 
cordeX, cordeY = 0, 0 

font = cv2.FONT_HERSHEY_SIMPLEX

def pointCoordenates(frame):
    global cordeX, cordeY   

    azulBajo = np.array([100, 100, 20])
    azulAlto = np.array([125, 255, 255]) 

    frameHSV = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)

    mask = cv2.inRange(frameHSV, azulBajo, azulAlto)

    contornos, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

    for contor in contornos: 
        area = cv2.contourArea(contor) 
        if area > 800: 
            centros = cv2.moments(contor)
            if (centros["m00"] == 0): centros["m00"] = 1
            x = int(centros["m10"] / centros["m00"])
            y = int(centros["m01"] / centros["m00"])
            cordeX = x 
            cordeY = y 
            cv2.circle(frame, (x, y), 7, (0, 255, 0), -1) # 7 es el radio del circulo
            cv2.putText(frame, '{},{}'.format(x, y), (x + 10, y), font, 0.75, (0, 255, 0), 1, cv2.LINE_AA)
            contorSuavi = cv2.convexHull(contor) 
            cv2.drawContours(frame, [contorSuavi], 0, (255, 0, 0), 3) 

global car_x_change   

def openCamera(): 
    while (cap.isOpened()):
        ret, frame = cap.read() 
        frame = cv2.flip(frame, 1) 
        if ret == True: 
            cv2.rectangle(frame, (300,300), (400,400), (0,0,255), thickness=2) 
            cv2.rectangle(frame, (100,150), (200,250), (0,0,255), thickness=2) 
            cv2.rectangle(frame, (500,20), (600,120), (0,0,255), thickness=2) 

            pointCoordenates(frame) 
            if (cordeX > 300 and cordeX < 400 and cordeY > 300 and cordeY <400):
                cv2.rectangle(frame, (300,300), (400,400), (0,255,0), thickness=2) 
            if (cordeX > 100 and cordeX < 200 and cordeY > 150 and cordeY <250):
                cv2.rectangle(frame, (100,150), (200,250), (0,255,0), thickness=2) 
            if (cordeX > 500 and cordeX < 600 and cordeY > 20 and cordeY <120): 
                cv2.rectangle(frame, (500,20), (600,120), (0,255,0), thickness=2)
            cv2.imshow('Interactive Game', frame) 
            if cv2.waitKey(1) & 0xFF == ord('r'):
                break
    cap.release() 
    cv2.destroyAllWindows()

if __name__ == '__main__':                                         #To resolve freeze_support() Runtime Error
    multipcamera = multiprocessing.Process(target=openCamera)
    multipcamera.start()
导入cv2
将numpy作为np导入
导入多处理
cap=cv2.VideoCapture(0,cv2.cap_DSHOW)
cordeX,cordeY=0,0
font=cv2.font\u HERSHEY\u SIMPLEX
定义点坐标(帧):
全球cordeX,cordeY
azulBajo=np.array([10010020])
azulAlto=np.array([125255255])
frameHSV=cv2.CVT颜色(frame,cv2.COLOR_BGR2HSV)
遮罩=cv2.inRange(框架HSV、azulBajo、azulAlto)
contornos,u=cv2.findContours(遮罩,cv2.RETR\u外部,cv2.链近似\u简单)
对于contornos中的contor:
面积=cv2。轮廓面积(续)
如果面积>800:
centros=cv2.力矩(续)
如果(中心[“m00”]=0):中心[“m00”]=1
x=int(centros[“m10”]/centros[“m00”])
y=int(centros[“m01”]/centros[“m00”])
cordeX=x
科迪=y
cv2.圆(帧,(x,y),7,(0,255,0),-1)#7 es el radio del circulo
putText(框架,{},{})。格式(x,y),(x+10,y),字体,0.75,(0,255,0),1,cv2.LINE_AA)
contorSuavi=cv2.CONVERXHULL(contor)
cv2.绘制等高线(帧[contorSuavi],0,(255,0,0),3)
全球汽车变化
def openCamera():
while(cap.isOpened()):
ret,frame=cap.read()
帧=cv2。翻转(帧,1)
如果ret==True:
cv2.矩形(框架,(300300),(400400),(0,0255),厚度=2)
cv2.矩形(框架,(100150),(200250),(0,0255),厚度=2)
cv2.矩形(框架,(500,20),(600120),(0,0255),厚度=2)
点坐标(帧)
如果(cordeX>300,cordeX<400,cordeY>300,cordeY 100,cordeX<200,cordeY>150,cordeY 500,cordeX<600,cordeY>20,cordeY