用 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)

 

目录
相关文章
|
2月前
|
监控 API 计算机视觉
OpenCV这么简单为啥不学——1.13图片冷白皮(美白)处理
OpenCV这么简单为啥不学——1.13图片冷白皮(美白)处理
33 0
|
2月前
|
存储 编解码 监控
OpenCV这么简单为啥不学——2.1、imwrite逐帧保存图片
OpenCV这么简单为啥不学——2.1、imwrite逐帧保存图片
45 0
|
1月前
|
存储 JSON JavaScript
Python字典和JSON字符串相互转化方法
【2月更文挑战第18天】
59 3
|
2月前
|
人工智能 Linux API
OpenCV这么简单为啥不学——1.1、图像处理(灰度图、模糊图片、GaussianBlur函数、提取边缘、边缘膨胀、边缘细化)
OpenCV这么简单为啥不学——1.1、图像处理(灰度图、模糊图片、GaussianBlur函数、提取边缘、边缘膨胀、边缘细化)
46 0
|
4月前
|
JSON JavaScript 数据格式
JS 将 json 对象转成字符串并保留格式 - JSON.stringify()
JS 将 json 对象转成字符串并保留格式 - JSON.stringify()
61 0
|
3月前
|
计算机视觉 Python 索引
【Python Opencv】图片与视频的操作
【Python Opencv】图片与视频的操作
【Python Opencv】图片与视频的操作
|
3天前
|
JSON 运维 Kubernetes
云效产品使用报错问题之流水线中配置了AppStack,构建时下载的制品内容为json字符串,如何解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
6天前
|
机器学习/深度学习 算法 自动驾驶
opencv python 图片叠加
【4月更文挑战第17天】
|
22天前
|
JSON 数据格式
Json字符串与QVariantList 对象相互转换
Json字符串与QVariantList 对象相互转换
7 0
|
1月前
|
JSON JavaScript PHP
PHP把unicode编码的json字符串转中文
PHP把unicode编码的json字符串转中文
13 0