当前位置: 首页 > 面试题库 >

将str转换为numpy.ndarray

萧辰沛
2023-03-14
问题内容

我正在创建一个与opencv共享视频的系统,但是我遇到了问题。我有一个服务器和一个客户端,但是当我向服务器发送信息时,必须为字节。我发送两件事:

 ret, frame = cap.read()

ret是一个booland框架,是数据视频,一个numpy.ndarray ret没问题,但是是框架:我先将其转换为字符串,然后转换为字节:

frame = str(frame).encode()
connexion_avec_serveur.send(frame)

我现在想再次在numpy.ndarray中转换帧。


问题答案:

str(frame).encode()错了 如果将其打印到终端,则会发现它不是框架的数据。

另一种方法是使用tobytes()frombuffer()

## read
ret, frame = cap.read()
sz = frame.shape

## tobytes 
frame_bytes = frame.tobytes()
print(type(frame_bytes))
# <class 'bytes'>

## frombuffer and reshape 
frame_frombytes = np.frombuffer(frame_bytes, dtype=np.uint8).reshape(sz)
print(type(frame_frombytes))
## <class 'numpy.ndarray'>

## test whether they equal or not 
print(np.array_equal(frame, frame_frombytes))


 类似资料:
  • 问题内容: 我是使用subprocess.Popen()从进程的输出中获得的: 对我来说,它似乎不是有效的json。我已经使用和,但是没有运气。有人可以在正确的方向帮助我吗?提前致谢。 问题答案: 确实,导出ECMA脚本而不是JSON的旧版本。根据此debian错误报告,升级1.4.8应该会给您适当的JSON。另请参阅项目CHANGELOG: 现在,通过正确引用xport的键,xport的JSON

  • 我试图通过API发送数据,但得到了类型错误:无法将字节转换为str。我理解这意味着我需要将部分代码转换为字节,但我不确定如何执行。我尝试在前面添加b或使用字节(“数据”),但可能将它们放在了错误的区域。 这是问题行: 我不确定什么和如何转换为字节。

  • 假设我有一个像这样的数据框... 我想把这个列转换成int类型。我可以很容易地做到这一点与。。。 但是如果我的数据帧看起来像这样。。。 我尝试将其从转换为然后我得到了这个错误 为什么这样不行?我该如何正确地将其转换为int?

  • 问题内容: 我正在尝试编写文本游戏,但在定义的函数中遇到了错误,该错误使你基本上无法在制作角色后花费技能点。最初,错误表明我正在尝试从代码的这一部分的整数中减去一个字符串。显然这是错误的,所以我用… 修复了它,但是现在我遇到了一个以前从未见过的错误(新程序员),并且我对确切要告诉我的内容以及如何解决它感到困惑。 这是我的部分功能不起作用的代码: 这是我在shell中获得这部分代码时遇到的错误: 有

  • 我有这样的数据框 我想改变每个日期值str如果他们匹配的条件 在()18 x='2016-17'19返回ses6中的TypeError回溯(最近一次调用)--- /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pandas/core/series.py in apply(self,func,

  • 问题内容: 我正在尝试测试某个数字的十进制表示形式是否至少包含两次数字9,所以我决定执行以下操作: 但是Python始终会以“ TypeError:无法将’int’对象隐式转换为str”进行响应。 我在这里做错了什么?实际上,是否存在一种更聪明的方法来检测整数的十进制表示形式中包含某个数字的频率? 问题答案: 您的问题在这里: 您需要使字符串文字,而不是整数: 为了更好地计算字符串中出现的次数,请