python - 多处理和数据传输到流程
问题描述
我正在尝试制作一个简单的程序,该程序将从摄像机中获取图像,逐帧保存并进行处理。在一个过程中 - 视频播放器和保存帧,在另一个过程中直接处理帧。
import multiprocessing
import time
import os
import numpy as np
import sys
import cv2
def video_player():
while True:
ret, img = capture.read()
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow("camera", gray)
cv2.imwrite('image.jpg', gray)
if cv2.waitKey(10) == 27:
break
def numb():
while True:
try:
do something with image.jpg
except:
pass
if __name__ == '__main__':
capture = cv2.VideoCapture(0)
videoplayer_on = multiprocessing.Process(target=video_player())
numb_run = multiprocessing.Process(target=numb)
videoplayer_on.start()
numb_run.start()
这适用于 linux,但在 Windows 上,播放器的进程似乎没有启动。在我看来,我显然以某种方式错误地尝试将捕获从相机传递给进程功能
解决方案
推荐阅读
- command - 代号一 LeftBarCommand 文本大小不变
- chronicle-queue - Multithread and Chronicle queue
- r - R中的多行到多列数据框
- vba - VBA 运行时错误 1004 应用程序定义或对象定义错误
- api - SyntaxError:Zapier 上位置 1 错误的 JSON 中的意外标记 o
- asp.net-mvc - 在 Asp.Net MVC 中模拟 My.User.IsInRole() 错误
- javascript - 节点js中的同步循环
- excel - Excel公式将不同数量添加到上一个单元格
- kotlin - 在kotlin的简单列表中转换自定义对象列表
- javascript - 如何在javascript中打印具有固定列宽的二维数组?