用 opencv和numpy进行图片和字符串互转,并保存至 json

简介: 用 opencv和numpy进行图片和字符串互转,并保存至 json转至 https://zhuanlan.zhihu.com/p/27349847受 用 base64 进行图片和字符串互转,并保存至 json 作者启发,试了试使用opencv来读取图片,然后用numpy转为list,再转为json格式。

用 opencv和numpy进行图片和字符串互转,并保存至 json

转至 https://zhuanlan.zhihu.com/p/27349847

受 用 base64 进行图片和字符串互转,并保存至 json 作者启发,试了试使用opencv来读取图片,然后用numpy转为list,再转为json格式。 发现完全可行。

图片转成列表,并保存至 json

我们将一张图片通过opencv来读取,转换为numpy的矩阵。再转为list,存入字典,转为json文件即可。

 

 1 # coding: utf-8
 2 # 导入相关库
 3 import cv2
 4 import numpy as np
 5 from json import dumps
 6 # 要编码的图片文件  
 7 IMAGE_NAME = '1.png'
 8 # 保存为的json文件
 9 JSON_NAME = 'opencv_temp.json'
10 
11 # 通过opencv读取图片
12 img = cv2.imread(IMAGE_NAME)
13 # numpy中ndarray文件转为list
14 img_list = img.tolist()
15 
16 # 字典形式保存数组
17 img_dict = {}
18 img_dict['name'] = IMAGE_NAME
19 img_dict['content'] = img_list
20 
21 # 保存为json格式
22 json_data = dumps(img_dict, indent=2)
23 # 将数据保存到文件
24 with open(JSON_NAME, 'w') as json_file:
25     json_file.write(json_data)
26 
27 从 json 读取字符串,并转换成图片
28 # coding: utf-8
29 import cv2
30 import numpy as np
31 import json
32 
33 # 要读取的JSON格式文件
34 JSON_NAME = 'opencv_temp.json'
35 # 还原为图片文件
36 IMAGE_NAME = 'restore.png'
37 
38 # 读取文件为字典
39 with open(JSON_NAME, "rb") as json_file:
40     img_dict = json.load(json_file)
41 
42 # 获取字典中内容,转为list
43 img_list = img_dict['content']
44 # list转numpy
45 img = np.asarray(img_list)
46 # 还原图片
47 cv2.imwrite(IMAGE_NAME,img)

 

目录
相关文章
|
1月前
|
计算机视觉
Opencv学习笔记(十二):图片腐蚀和膨胀操作
这篇文章介绍了图像腐蚀和膨胀的原理、作用以及使用OpenCV实现这些操作的代码示例,并深入解析了开运算和闭运算的概念及其在图像形态学处理中的应用。
109 1
Opencv学习笔记(十二):图片腐蚀和膨胀操作
|
1月前
|
计算机视觉 Python
Opencv学习笔记(二):如何将整个文件下的彩色图片全部转换为灰度图
使用OpenCV库将一个文件夹内的所有彩色图片批量转换为灰度图,并提供了相应的Python代码示例。
31 0
Opencv学习笔记(二):如何将整个文件下的彩色图片全部转换为灰度图
|
1月前
|
计算机视觉 Python
Opencv学习笔记(一):如何将得到的图片保存在指定目录以及如何将文件夹里所有图片以数组形式输出
这篇博客介绍了如何使用OpenCV库在Python中将图片保存到指定目录,以及如何将文件夹中的所有图片读取并以数组形式输出。
132 0
Opencv学习笔记(一):如何将得到的图片保存在指定目录以及如何将文件夹里所有图片以数组形式输出
|
1月前
|
计算机视觉
Opencv错误笔记(一):通过cv2保存图片采用中文命名出现乱码
在使用OpenCV的cv2模块保存带有中文命名的图片时,直接使用cv2.imwrite()会导致乱码问题,可以通过改用cv2.imencode()方法来解决。
125 0
Opencv错误笔记(一):通过cv2保存图片采用中文命名出现乱码
|
2月前
|
XML JSON 前端开发
json字符串CSS格式化
完成以上步骤后,你便能在网页中看到格式化后的JSON数据,它们将按照CSS定义的样式进行展示,使数据更易于阅读和理解。通过有效地结合JSON和CSS,你可以创建出更加丰富且易于交互的网页内容。
191 64
|
1月前
|
JSON API 数据格式
postman如何发送json请求其中file字段是一个图片
postman如何发送json请求其中file字段是一个图片
116 4
|
1月前
|
Serverless 计算机视觉
语义分割笔记(三):通过opencv对mask图片来画分割对象的外接椭圆
这篇文章介绍了如何使用OpenCV库通过mask图像绘制分割对象的外接椭圆。首先,需要加载mask图像,然后使用`cv2.findContours()`寻找轮廓,接着用`cv2.fitEllipse()`拟合外接椭圆,最后用`cv2.ellipse()`绘制椭圆。文章提供了详细的代码示例,展示了从读取图像到显示结果的完整过程。
45 0
语义分割笔记(三):通过opencv对mask图片来画分割对象的外接椭圆
|
1月前
|
JSON 前端开发 JavaScript
json字符串如何转为list对象?
json字符串如何转为list对象?
194 7
|
1月前
|
JSON 数据格式 计算机视觉
Opencv实用笔记(一): 获取并绘制JSON标注文件目标区域(可单独保存目标小图)
本文介绍了如何使用OpenCV和Python根据JSON标注文件获取并绘制目标区域,同时可将裁剪的图像单独保存。通过示例代码,展示了如何读取图片路径、解析JSON标注、绘制标注框并保存裁剪图像的过程。此外,还提供了相关的博客链接,供读者进一步学习。
27 0
|
2月前
|
XML JSON 前端开发
json字符串CSS格式化
json字符串CSS格式化
57 4