【Opencv-Tools(一)】OpenCV中使用多线程处理图像
生活随笔
收集整理的這篇文章主要介紹了
【Opencv-Tools(一)】OpenCV中使用多线程处理图像
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
OpenCV中使用多線程處理圖像
引用:https://gist.github.com/yinguobing/7d1318e31f6e3455f30527a39361512a
#!/usr/bin/env python3''' Multithreaded video processing minimal sample. Usage:python3 video_threaded.pyShows how python threading capabilities can be usedto organize parallel captured frame processing pipelinefor smoother playback. Keyboard shortcuts:ESC - exit ''' from collections import deque from multiprocessing.pool import ThreadPoolimport cv2 as cvVIDEO_SOURCE = 0def process_frame(frame):# some intensive computation...frame = cv.medianBlur(frame, 1)return frameif __name__ == '__main__':# Setup.cap = cv.VideoCapture(VIDEO_SOURCE)thread_num = cv.getNumberOfCPUs()pool = ThreadPool(processes=thread_num)pending_task = deque()while True:# Consume the queue.while len(pending_task) > 0 and pending_task[0].ready():res = pending_task.popleft().get()cv.imshow('threaded video', res)# Populate the queue.if len(pending_task) < thread_num:frame_got, frame = cap.read()if frame_got:task = pool.apply_async(process_frame, (frame.copy(),))pending_task.append(task)# Show preview.if cv.waitKey(1) == 27 or not frame_got:breakcv.destroyAllWindows()?
總結
以上是生活随笔為你收集整理的【Opencv-Tools(一)】OpenCV中使用多线程处理图像的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 饥荒黑曜石怎么挖
- 下一篇: 小米8青春版耳机转换器怎么用(MIUI1