zmq安装
python3
使用命令 python3 -m pip install pyzmq
python2
在python2中,由于zmq最新版本不再支持python2,所以要指定版本
python2 -m pip install pyzmq==17.1.3
或者先下载 下载地址 再安装
图像发布
相关信息可以去zmq官网查看,这里直接上代码
import zmq
import io
import cv2
context = zmq.Context.instance()
sockerPUSHimage = context.socket(zmq.PUB)
sockerPUSHimage.bind("tcp://192.168.1.111:5566")
while True:
fram = cv2.imread('./j1.jpg')
img_encode= cv2.imencode('.jpg',fram)
str_encode = img_encode[1].tostring()
buf_str = io.BytesIO(str_encode).getvalue()
sockerPUSHimage.send(buf_str)
print('ok')
接收
import zmq
import msgpack
import io
import PIL
import cv2
import numpy as np
import PIL.Image as Image
context1 = zmq.Context()
socket1 = context1.socket(zmq.SUB)
socket1.bind("tcp://192.168.1.111:5566")
socket1.setsockopt(zmq.CONFLATE, 1)
socket1.setsockopt(zmq.SUBSCRIBE, b'')
while True:
msg = socket1.recv()
image1 = np.array(Image.open(io.BytesIO(msg)))
image1 = Image.fromarray(image1)
frame_rawhead = cv2.cvtColor(np.asarray(image1), cv2.COLOR_RGB2BGR)
print(type(frame_rawhead))
cv2.imshow("yyyy",frame_rawhead)
cv2.waitKey(1)
在python2 中需要安装numpy 等包,请查看相关资料