python - 通过套接字从 python (opencv) 到 c# 的实时视频流
问题描述
我在 OpenCV(python)中有一些视频处理,python 代码的输出必须提供给 c# 代码。我用谷歌搜索,发现可以通过 python 和 c# 之间的套接字编程。我准备了从 python 中的 OpenCV 作为客户端发送帧的代码,但我不知道从 c#(服务器)获取实时视频流。另外,有没有更简单的方法可以在 c# 中使用 OpenCV (python) 框架?
请帮我!
python代码(客户端):
import cv2
import io
import socket
import struct
import time
import pickle
import zlib
hostname = socket.gethostname()
IPAddr = socket.gethostbyname(hostname)
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect((IPAddr , 1234))
connection = client_socket.makefile('wb')
cam = cv2.VideoCapture(0)
img_counter = 0
encode_param = [int(cv2.IMWRITE_JPEG_QUALITY), 90]
while True:
ret, frame = cam.read()
result, frame = cv2.imencode('.jpg', frame, encode_param)
client_socket.sendall(bytearray(frame))
img_counter += 1
cam.release()
解决方案
推荐阅读
- excel - 使用 vba 手动选择查询的不同来源
- css - 溢出-x:隐藏;不会工作,但溢出-x:滚动;将要?
- c++ - C++ 中的“抛出 1”
- vector - 结合从 3 到 1 的级别(基本)
- javascript - JS es6点击添加类到另一个元素
- elasticsearch - Elasticsearch desc 排序没有给出当前结果而 asc 给出?
- ruby-on-rails - 通过 id 数组查找所有产品的最佳方法是什么?
- java - 从 json 对象字符串转换为 Java 对象 om.google.gson.JsonSyntaxException
- python - CSV 输出到多列而不是 1 列
- dns - 添加 CNAME 后,WWW 版本的域不起作用。任何想法为什么?