python把文件转化为二进制流-python-将图像转换为二进制流

我的应用程序有两个方面,一方面,我使用C语言,以便使用Pleora的EBUS SDK从相机读取帧.第一次接收到此流时,在将缓冲区转换为图像之前,我能够一次读取16位流,以便对每个像素执行一些计算,即每个像素存在16位数据块.

现在下半部分是Django网络应用程序,这次我也通过ffmpeg,nginx,hls流向您展示了此视频输出.当用户点击视频时,我希望能够获取当前帧及其点击坐标,并执行与我在C部分中相同的计算.

现在,我使用html5画布捕获框架,并使用canvas.toDataURL()将该框架转换为base64编码的图像,然后将base64图像,坐标和框架尺寸通过传递给python AJAX.

在python中,我试图以某种方式操纵此base64编码的图像,以使每个像素获得16位.目前,我执行以下操作:

pos = json.loads(request.GET["pos"])

str_frame = json.loads(request.GET["frame"])

dimensions = json.loads(request.GET["dimensions"])

pixel_index = (dimensions["width"] * pos["y"]) + pos["x"] + 1

b64decoded_frame = base64.b64decode(str_frame.encode("utf-8"))

但是,b64decoded_frame中的索引要少得多,而图像中只有像素,并且整数值不如预期的那么高.我已经检查过了,图片仍然完整无缺,因为我能够将其另存为png.

总而言之,我如何将base64图像转换为序列化的二进制流,其中每个像素都由16位表示.

UPDATE

我忘了提到我正在使用python3.2

经过更多研究后,我认为我要尝试执行的操作将获得给定像素的mono16值.我不确定这是否是我想要做的,但是如果有人可以解释如何将图像转换为mono16或将像素转换为mono16,我可以探索一下,看看它是否实际上是解决方案.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值