imagezmq

简介

imagezmq是使用PyZMQ消息将opencv图像从一个计算机传递到另一个计算机的一系列的Python类。

安装方法

如果是mac或者linux可以直接通过pip安装,window可能需要通过源码安装,其地址如下https://github.com/jeffbass/imagezmq.git

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple imagezmq

上图显示的是利用8个树莓派采集图像,然后同时在mac上显示。

只需要很简短的代码就可以实现上述功能,其中在mac上的接收代码如下:

#coding:utf-8

import cv2
import imagezmq

image_hub = imagezmq.ImageHub()
while True:
    name , image = image_hub.recv_image()
    print(image.shape[:2])
    cv2.imshow(name , image)
    key = cv2.waitKey(25)
    if key == 27:
        break

    image_hub.send_reply(b'OK')

发送端代码示例

import socket
import time
from imutils.video import VideoStream
import imagezmq

sender = imagezmq.ImageSender(connect_to='tcp://10.1.24.160:5555')
rpi_name = socket.gethostname()
picam = VideoStream(0 , usePiCamera=False).start()
time.sleep(2.0)
while True:
    image = picam.read()
    sender.send_image(rpi_name , image)

Why use imagezmq?

  • 当我们在家里装了一个摄像头,想远程看家里的情况,就可以通过imagezmq将图像发送到本地显示
  • 如果视频采集设备的cpu处理能力比较弱,我们可以通过imagezmq将图像传到更强的设备上进行处理

你可能感兴趣的:(Python)