You need to enable JavaScript to run this app. 使用socket.io实现Python向Node.js传输OpenCV图像的故障求助
优惠活动
大模型
产品
解决方案
定价
更多

使用socket.io实现Python向Node.js传输OpenCV图像的故障求助

求助:Socket.io传输OpenCV处理图像时Node端libpng解码报错

当前正在调试跨端图像传输功能,目标是通过Socket.io将Python端OpenCV处理的图像发送至本地Node.js服务端,当前功能无法正常运行,恳请技术社区协助排查。

两端实现逻辑

Python端实现流程

  • 依赖组件:Socket.IO客户端、OpenCV的imread/imencode接口、base64模块,完成Socket客户端初始化
  • 发送逻辑:在连接成功的回调中读取本地screenshot.png图像,将图像编码为PNG格式二进制帧,经base64编码后通过img事件发送;同步注册连接成功、连接断开的回调逻辑,最终连接本地127.0.0.1:3000的Node服务并保持长连接监听

Node.js端实现流程

  • 基础服务搭建:基于Express搭建HTTP服务,集成Socket.IO模块,根路由返回index.html页面
  • 接收处理逻辑:在Socket连接回调中,为已连接的客户端注册img事件监听,将接收到的base64编码内容转为Buffer,通过opencv4nodejs解码为OpenCV图像后写入本地img.png文件;同步注册客户端断开连接的回调逻辑

运行时报错

程序启动运行后,Node.js端抛出如下libpng相关警告与错误:

libpng warning: Image width is zero in IHDR
libpng warning: Image height is zero in IHDR
libpng error: Invalid IHDR data

因英语表述能力有限,若有描述不周的地方还请见谅,感谢各位的帮助。


内容的提问来源于stack exchange,提问作者Siewdass Sf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.02 20:45:03