百度大脑--二进制图像数据格式转换问题
来源:互联网 发布:17网广州网络批发市场 编辑:程序博客网 时间:2024/05/16 17:32
win7 32位python3.6.3opencv3.3.0baidu-AI1.0
在百度大脑的文档中心:
http://ai.baidu.com/docs#/Face-Python-SDK/top
要求上传的图片格式为二进制数组。并给出了例子,采用open(filename,‘rb’)并open()的形式。
从本地读取一个图片文件发送显然不存在任何问题,但如果是采用摄像头捕获,在线发送,则涉及到文件的格式转换问题。
摄像头读取往往采用VideoCapture和read命令,此时的图像格式显然不能直接传递给Baidu-Ai,转换命令如下。
import cv2import numpy as npfrom aip import AipFace""" APPID AK SK --在百度云中创建应用汇得到相应的ID"""APP_ID = '12335535'API_KEY = '35353534523535'SECRET_KEY = '2352352353535235 'my_aipFace = AipFace(APP_ID, API_KEY, SECRET_KEY)#创建一个百度AipFace实例'''#这是百度给出的例程,采用了python中二进制文件的读法: def get_file_content(filePath): with open(filePath, 'rb') as fp: return fp.read()'r':默认值,表示从文件读取数据。'w':表示要向文件写入数据,并截断以前的内容'a':表示要向文件写入数据,添加到当前内容尾部'r+':表示对文件进行可读写操作(删除以前的所有数据)'r+a':表示对文件可进行读写操作(添加到当前文件尾部)'b':表示要读写二进制数据'''#这是采用opencv方法读入图片:frame = cv2.imread('c://face.png')cv2.imshow('mywindow', frame)#将读入的图片进行编码,转化为二进制的文本文件,保存在buff中nparry_encode = cv2.imencode('.png', frame)[1]data_encode = np.array(nparry_encode)frame_encode = data_encode.tostring()#########################################################对片进行处理#########################################################将处理的图片进行解码,从buff中读入并转化nparry_decode = np.fromstring(frame_encode, np.uint8)frame_decode = cv2.imdecode(nparry_decode,1 )#将二进制图片转化为图片流,1 代表彩色图片cv2.imshow('result', frame_decode)
关于python中文件读取命令的说明参见文档:
https://docs.python.org/3/library/functions.html?highlight=open#open
关于OpenCV中编码解码的说明参见文档:
https://docs.opencv.org/master/df/d9f/namespacecv_1_1omnidir_1_1internal.html#a2d2fdf1ab0543fd762b22c6b07a0056e
格式编码后,就可以对处理中的MAT进行上传和显示了。
阅读全文
0 0
- 百度大脑--二进制图像数据格式转换问题
- 医学图像数据格式和格式转换
- Halcon与Opencv图像数据格式转换
- 医学图像数据格式和格式转换
- FFMPEG 图像拉伸缩放及数据格式转换
- Halcon与Opencv图像数据格式转换
- 医学图像数据格式和格式转换
- FFMPEG 图像拉伸缩放及数据格式转换
- Caffe框架,图像数据转换成LMDB数据格式
- 二进制图像矩阵转换为向量
- 数据格式转换
- ffmpeg学习十三:图像数据格式的转换与图像的缩放
- 数据格式问题
- 图像数据格式基础知识
- BMP图像数据格式详解
- BMP图像数据格式详解
- 大脑之父吴恩达加盟百度
- socket自定义数据格式转化二进制
- 11.2
- CVPR 2017 全部及部分论文解读集锦
- 朴素贝叶斯
- 吴恩达深度学习第四课:卷积神经网络(学习笔记2)
- Miller_Rabin素数测试与Pollard_Rho分解质因数
- 百度大脑--二进制图像数据格式转换问题
- 7-1 两个有序链表序列的合并
- 创建4个线程,4个线程同时对一个文件进行修改。线程1负责向文件写入A,线程2负责向文件写入B,线程3负责写入C,线程4负责写入D。最终文件里的内容应该是ABCDABCDABCD....循环10次;
- javascript中if(a)不同情况下的结果
- 【深度学习】卷积神经网络简介
- TestNG入门教程-6-enabled和priority属性
- lua: 运算符易错点: and or 连接符'..'
- java实现基本排序(一)冒泡排序
- TensorFlow实战:Chapter-8上(Mask R-CNN介绍与实现)