在python中将字符串转换为numpy数组,反之亦然
我有一个在python中将字符串转换为numpy数组,反之亦然,python,pandas,numpy,Python,Pandas,Numpy,我有一个numpy数组,它是opencv读取的图像,并将其保存为字符串。因此,我将np数组转换为字符串并存储相同的内容。现在我想检索值(一个字符串)并转换为原始的numpy数组维度。你们能帮我怎么做吗 我的代码如下: img = cv2.imread('9d98.jpeg',0) img.shape # --> (149,115) img_str=np.array2string(img,precision=2,separator=',') # to string length 197
numpy
数组,它是opencv
读取的图像,并将其保存为字符串。因此,我将np
数组转换为字符串并存储相同的内容。现在我想检索值(一个字符串)并转换为原始的numpy
数组维度。你们能帮我怎么做吗
我的代码如下:
img = cv2.imread('9d98.jpeg',0)
img.shape # --> (149,115)
img_str=np.array2string(img,precision=2,separator=',') # to string length 197? which I dont know how
img_numpy=np.fromstring(img_str,dtype=np.uint8) # shape (197,) since this is returning only 1D array
请帮助我解决相同的问题。挑战不仅在于保存数据缓冲区,还在于保存形状和数据类型
np.fromstring
读取数据缓冲区,但作为1d数组;您必须从其他位置获取数据类型和形状
In [184]: a=np.arange(12).reshape(3,4)
In [185]: np.fromstring(a.tostring(),int)
Out[185]: array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
In [186]: np.fromstring(a.tostring(),a.dtype).reshape(a.shape)
Out[186]:
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
去json是一种选择吗 答案如下:
你能举一个例子吗?看看
img\u str
。请参阅所有省略号(…)。这由threshold
参数控制。这与我们从一个简单的打印(img)
中得到的压缩是一样的。它还包括普通打印的所有嵌套[]。这不是一种很好的保存格式。您打算在哪里“保存”此字符串?档案?由于它是一个2d数组,您可以使用由savetxt
生成并由loadtxt
加载的csv
格式。还有一个np.fromstring(img.tostring(),int)
往返,尽管这样会丢失形状信息。以及非字符串np.save/np.load
option.Hi@hpaulj。。抱歉耽搁了。需要将图像numpy数组转换为字符串以将其推送到云中。要从云端访问,我需要从云端获取它,并再次将其转换为numpy数组
import numpy as np
import json
img = np.ones((10, 20))
img_str = json.dumps(img.tolist())
img_numpy = numpy.array(json.loads(img_str))