python3 protobuf3.6 API入门

protobuf3的python3 API入门

python3就不多讲了,protobuf是指谷歌开源的数据保存项目【github】。
其实很早就接触到protobuf库了,但是之前主要是c/c++项目,现在我用python用得多些,所以看了下python的用法,这里做一个记录。

先看步骤,在谈谈使用心得。

安装

安装有三种方式,源码安装,pip安装,anaconda安装。
源码安装在github release中下载,目前[20190312]最新版是3.7.0。然后百度教程即可。
自从有了conda,pip就很少用了。这里讲讲conda安装的命令:

$ conda install protobuf

使用步骤

  1. 新建一个proto文件
syntax="proto3";

message Point{
    int32 x=1;
    int32 y=2;
}
message Rect{
    Point point1=1;
    Point point2=2;
}

message Vector{
    repeated float value=1;
}

message KeyPoint{
    Point pos=1;
    Vector vec=2;
}

message KeyArea{
    Rect area=1;
    repeated KeyPoint kp=2;
}

message KeyBgs{
    repeated KeyArea areas=1;
}

图个丿托,直接把我倒腾了一下午的东西原封不动的copy上来了,结构可能有点复杂,不过比较经典,机构用了大量的repeated来保存python中的list数据。
2. 使用protoc转换API

# 查看 protoc的路径
$ which protoc
~/anaconda3/bin/protoc #可以看到这里的路径是在anaconda下的,这个是默认转换为python的接口
$ protoc --python_out=. keypoint.proto # keypoint.proto就是我些的proto文件,大家随意。
  1. python代码保存和读取数据
#实现了一个保存函数和一个读取函数, 我这个针对我的项目和上面proto文件的结构体写的
#大家要运用的话根据自己的情况做写修改
import sys
sys.path.append("..")
from proto import keypoint_pb2 #keypoint_pb2是protoc转换生成的python API。导入即可使用

def save_as_proto(area_keys, s_area, file_name):
    pb_keyBgs = keypoint_pb2.KeyBgs()
    for area_i in range(len(area_keys)):
        pb_area = pb_keyBgs.areas.add()  #repeated复制数据结构用add进行添加
        pb_area.area.point1.x = s_area[area_i][0]
        pb_area.area.point1.y = s_area[area_i][1]
        pb_area.area.point2.x = s_area[area_i][2]
        pb_area.area.point2.y = s_area[area_i][3]
        for key in area_keys[area_i]:
            pb_kp = pb_area.kp.add()
            pb_kp.pos.x, pb_kp.pos.y = key[0]
            for value in key[1]:
                pb_kp.vec.value.append(value) #repeat的基础数据类型,用append进行添加
    b = pb_keyBgs.SerializeToString()
    with open(file_name,'wb') as fb:
        fb.write(b)

def read_from_proto(file_name):  
    pb_keyBgs = keypoint_pb2.KeyBgs()  
    with open(file_name,'rb') as fb:
        b = fb.read()
        pb_keyBgs.ParseFromString(b)
     
    area_keys, s_area = [],[]

    for area in pb_keyBgs.areas:
        s_area.append([area.area.point1.x, area.area.point1.y, area.area.point2.x, area.area.point2.y]) 
        area_key = []
        for key in area.kp:
            point = [key.pos.x, key.pos.y]
            value = []
            for v in key.vec.value:
                value.append(v) 
            area_key.append([point,value])
        area_keys.append(area_key)
    return area_keys, s_area
     

使用心得

使用proto就将他想成一棵树,不停的用message定义附加数据结构的枝干,直到数据结构为基本的数据类型为止。

参考

附件

# 如果大家想运行一下看看情况,可以将我的测试数据复制到下面
if __name__ == "__main__":
    area_keys = [[[[9, 25], [ 12, 0, 0, 1, 162, 16, 0, 0, 162, 3, 0, 1, 43, 3, 0, 4, 85, 2, 0, 3, 9, 3, 1, 3, 0, 0, 0, 3, 5, 1, 0, 0, 15, 1, 0, 10, 162, 6, 0, 1, 162, 7, 0, 3, 59, 2, 0, 13, 104, 1, 0, 2, 18, 3, 0, 6, 0, 0, 0, 1, 5, 2, 2, 2, 14, 2, 0, 22, 162, 5, 0, 1, 162, 18, 1, 6, 55, 2, 0, 10, 113, 3, 0, 1, 14, 10, 0, 5, 0, 0, 0, 1, 6, 5, 1, 1, 11, 0, 0, 1, 162, 10, 0, 2, 162, 3, 0, 0, 43, 4, 0, 19, 82, 5, 1, 12, 8, 1, 0, 3, 1, 1, 1, 5, 4, 1, 0, 0]], [[9, 28], [2, 3, 0, 2, 38, 4, 1, 2, 49, 2, 0, 5, 172, 15, 0, 1, 172, 7, 0, 1, 20, 2, 0, 3, 18, 1, 0, 2, 5, 1, 0, 1, 7, 2, 0, 1, 49, 4, 1, 7, 56, 6, 0, 13, 172, 9, 0, 2, 172, 17, 0, 4, 30, 1, 0, 5, 26, 1, 0, 4, 12, 1, 0, 1, 7, 7, 1, 3, 48, 1, 0, 0, 56, 2, 0, 5, 172, 14, 0, 5, 172, 5, 0, 1, 32, 4, 0, 18, 26, 1, 0, 1, 13, 5, 0, 2, 6, 2, 0, 1, 36, 1, 0, 2, 39, 4, 0, 4, 172, 3, 0, 0, 172, 27, 0, 1, 27, 1, 0, 1, 19, 3, 0, 0, 3, 4, 0, 0]], [[9, 28], [3, 4, 0, 0, 19, 2, 0, 0, 26, 1, 0, 1, 172, 26, 0, 1, 172, 3, 0, 0, 40, 4, 0, 4, 36, 1, 0, 2, 6, 2, 0, 2, 13, 5, 0, 2, 26, 0, 0, 1, 32, 4, 0, 20, 172, 4, 0, 1, 172, 13, 0, 5, 56, 2, 0, 6, 48, 0, 0, 0, 7, 7, 1, 3, 12, 1, 0, 1, 27, 1, 0, 4, 31, 1, 0, 5, 172, 16, 0, 4, 172, 9, 0, 2, 56, 5, 0, 14, 49, 4, 1, 7, 7, 2, 0, 1, 5, 1, 0, 1, 19, 1, 0, 2, 21, 2, 0, 3, 172, 6, 0, 1, 172, 14, 0, 2, 48, 2, 0, 5, 37, 4, 1, 2, 2, 3, 0, 2]], [[10, 33], [9, 1, 0, 17, 165, 3, 0, 1, 165, 2, 0, 5, 58, 2, 0, 19, 82, 2, 0, 3, 6, 1, 0, 5, 0, 0, 1, 1, 2, 1, 0, 0, 16, 1, 0, 24, 165, 4, 1, 3, 165, 2, 0, 9, 62, 1, 0, 20, 92, 1, 0, 2, 15, 4, 1, 9, 0, 0, 2, 2, 5, 1, 0, 0, 22, 2, 0, 32, 165, 3, 0, 3, 165, 4, 0, 8, 49, 1, 0, 30, 82, 1, 0, 6, 21, 1, 0, 7, 0, 0, 1, 5, 5, 0, 0, 0, 24, 0, 0, 17, 165, 3, 0, 4, 165, 0, 0, 2, 32, 2, 0, 39, 46, 0, 0, 1, 22, 3, 0, 7, 0, 0, 0, 1, 4, 3, 1, 0]], [[13, 34], [ 29, 2, 0, 20, 169, 6, 0, 1, 169, 14, 0, 3, 18, 0, 0, 5, 56, 6, 1, 7, 16, 2, 0, 0, 0, 0, 0, 1, 3, 3, 2, 0, 32, 3, 0, 13, 169, 22, 0, 3, 169, 20, 0, 2, 20, 4, 0, 13, 78, 5, 1, 3, 15, 2, 0, 2, 0, 1, 3, 1, 4, 1, 0, 0, 28, 2, 0, 3, 169, 15, 0, 2, 169, 15, 0, 1, 26, 2, 0, 9, 86, 3, 0, 1, 13, 10, 1, 3, 1, 1, 1, 1, 9, 3, 0, 0, 22, 3, 0, 19, 169, 2, 0, 0, 169, 19, 0, 4, 20, 0, 0, 2, 78, 6, 0, 5, 16, 2, 0, 2, 0, 0, 0, 3, 10, 1, 0, 0]], [[16, 33], [ 12, 0, 0, 1, 18, 2, 0, 3, 19, 0, 0, 6, 171, 6, 0, 2, 171, 0, 0, 1, 55, 1, 0, 9, 47, 1, 0, 2, 10, 1, 0, 1, 13, 4, 0, 6, 25, 0, 0, 1, 29, 1, 0, 42, 171, 0, 0, 1, 171, 3, 0, 7, 55, 0, 0, 11, 53, 2, 0, 1, 7, 2, 0, 1, 3, 3, 0, 3, 34, 3, 1, 4, 34, 1, 0, 19, 171, 4, 0, 4, 171, 1, 0, 3, 45, 1, 0, 23, 45, 1, 0, 2, 5, 1, 0, 4, 5, 1, 0, 3, 35, 2, 1, 6, 35, 2, 0, 29, 171, 2, 0, 2, 171, 2, 0, 5, 27, 0, 0, 13, 30, 0, 0, 3, 8, 1, 0, 2]], [[16, 33], [9, 1, 0, 1, 48, 3, 0, 2, 49, 1, 0, 2, 171, 18, 0, 4, 171, 9, 1, 1, 18, 3, 0, 8, 20, 3, 1, 6, 5, 1, 0, 0, 5, 1, 0, 1, 54, 2, 0, 2, 53, 5, 0, 3, 171, 12, 0, 1, 171, 22, 0, 1, 28, 2, 0, 6, 28, 4, 1, 2, 3, 4, 0, 2, 6, 3, 0, 0, 43, 6, 0, 1, 49, 1, 0, 0, 171, 23, 0, 3, 171, 7, 0, 0, 34, 3, 0, 16, 33, 1, 0, 0, 13, 4, 0, 4, 11, 1, 0, 0, 28, 3, 0, 1, 33, 3, 0, 0, 171, 17, 0, 0, 171, 26, 0, 1, 34, 2, 0, 0, 29, 5, 0, 2, 12, 1, 0, 0]], [[20, 32], [ 13, 2, 0, 2, 159, 9, 0, 0, 159, 24, 0, 2, 41, 2, 0, 2, 66, 8, 1, 5, 6, 4, 0, 1, 2, 2, 1, 1, 1, 1, 0, 0, 13, 1, 0, 1, 159, 21, 0, 2, 159, 13, 0, 1, 61, 6, 0, 20, 103, 2, 0, 0, 13, 11, 1, 10, 0, 1, 0, 0, 6, 4, 0, 0, 14, 1, 0, 0, 159, 17, 0, 1, 159, 22, 0, 0, 72, 4, 0, 6, 115, 9, 0, 2, 26, 4, 0, 3, 1, 0, 0, 1, 12, 1, 0, 0, 8, 1, 0, 0, 159, 17, 0, 0, 159, 29, 0, 0, 70, 4, 0, 1, 100, 17, 1, 4, 14, 1, 0, 1, 0, 0, 0, 1, 8, 1, 1, 1]], [[20, 39], [ 13, 0, 0, 32, 167, 1, 0, 1, 167, 0, 0, 6, 42, 1, 0, 27, 78, 0, 1, 3, 18, 4, 0, 9, 0, 0, 2, 4, 4, 1, 0, 0, 22, 0, 0, 18, 167, 14, 0, 2, 167, 0, 0, 3, 42, 3, 0, 25, 87, 1, 0, 6, 34, 2, 0, 6, 0, 1, 1, 5, 8, 1, 0, 0, 25, 0, 0, 18, 167, 5, 0, 2, 167, 1, 0, 3, 38, 1, 0, 21, 79, 1, 0, 6, 38, 1, 0, 3, 0, 0, 0, 1, 6, 1, 1, 0, 27, 1, 0, 36, 167, 1, 0, 3, 167, 3, 0, 5, 21, 0, 0, 25, 45, 2, 1, 7, 17, 2, 1, 3, 0, 0, 0, 0, 2, 3, 2, 0]], [[23, 34], [8, 0, 0, 13, 165, 2, 0, 2, 165, 2, 0, 5, 66, 1, 0, 37, 77, 0, 0, 0, 12, 7, 1, 15, 1, 1, 0, 0, 3, 2, 0, 0, 21, 0, 0, 18, 165, 1, 0, 2, 165, 1, 0, 6, 67, 1, 0, 31, 84, 1, 0, 3, 32, 2, 0, 9, 1, 0, 0, 2, 6, 0, 0, 0, 25, 1, 0, 17, 165, 0, 0, 2, 165, 10, 0, 5, 60, 0, 0, 16, 73, 6, 1, 9, 24, 1, 0, 4, 1, 0, 0, 1, 4, 0, 1, 2, 24, 1, 0, 21, 165, 0, 0, 3, 165, 1, 0, 4, 39, 0, 0, 32, 45, 1, 0, 3, 19, 1, 0, 7, 0, 1, 1, 0, 2, 0, 1, 1]], [[23, 41], [ 22, 1, 0, 3, 170, 17, 0, 1, 170, 7, 0, 1, 28, 2, 0, 6, 58, 3, 1, 5, 15, 2, 0, 2, 0, 0, 0, 1, 4, 4, 1, 0, 26, 1, 0, 16, 170, 8, 0, 1, 170, 6, 0, 3, 41, 2, 0, 10, 75, 1, 1, 4, 22, 6, 0, 4, 0, 0, 2, 4, 4, 1, 0, 0, 27, 1, 0, 13, 170, 18, 0, 1, 170, 6, 0, 2, 38, 4, 0, 7, 79, 2, 0, 4, 34, 4, 0, 2, 0, 1, 1, 4, 7, 1, 0, 0, 16, 1, 0, 5, 170, 16, 0, 1, 170, 11, 0, 1, 35, 3, 0, 2, 67, 4, 0, 3, 31, 1, 0, 0, 0, 0, 0, 1, 6, 1, 1, 0]], [[26, 43], [ 27, 1, 0, 16, 169, 3, 0, 1, 169, 5, 0, 2, 13, 0, 0, 4, 72, 3, 1, 3, 20, 6, 0, 2, 0, 0, 0, 0, 8, 5, 1, 0, 37, 1, 0, 2, 169, 18, 0, 2, 169, 5, 0, 1, 17, 2, 0, 13, 84, 4, 1, 6, 17, 1, 0, 3, 0, 0, 1, 2, 7, 5, 1, 0, 37, 1, 0, 18, 169, 6, 0, 1, 169, 4, 0, 2, 19, 1, 0, 13, 82, 1, 1, 4, 21, 5, 0, 5, 0, 0, 3, 5, 5, 1, 0, 0, 33, 0, 0, 12, 169, 8, 0, 1, 169, 1, 0, 1, 12, 1, 0, 10, 65, 1, 0, 2, 24, 4, 0, 3, 0, 0, 0, 3, 9, 1, 0, 0]], [[34, 48], [ 23, 1, 0, 5, 169, 10, 0, 1, 169, 6, 0, 1, 38, 2, 0, 3, 57, 2, 0, 2, 20, 2, 0, 0, 0, 0, 1, 1, 3, 2, 2, 1, 22, 1, 0, 10, 169, 5, 0, 1, 169, 13, 0, 3, 51, 2, 0, 6, 79, 2, 0, 4, 28, 4, 0, 2, 1, 1, 2, 3, 4, 1, 0, 0, 21, 1, 0, 2, 169, 10, 0, 1, 169, 5, 0, 1, 53, 3, 0, 7, 79, 3, 1, 9, 25, 4, 0, 1, 0, 0, 1, 3, 3, 1, 0, 1, 14, 1, 0, 9, 169, 9, 0, 0, 169, 11, 0, 2, 42, 2, 0, 1, 69, 3, 0, 2, 20, 10, 1, 1, 0, 0, 0, 0, 3, 3, 1, 1]], [[34, 41], [ 37, 4, 0, 4, 170, 5, 0, 1, 170, 29, 0, 1, 11, 1, 0, 1, 50, 9, 0, 4, 25, 1, 0, 0, 1, 1, 0, 1, 5, 0, 1, 0, 42, 1, 0, 2, 170, 8, 0, 3, 170, 10, 0, 0, 15, 1, 0, 23, 71, 4, 0, 1, 29, 5, 1, 7, 1, 4, 1, 0, 10, 1, 0, 0, 45, 2, 0, 5, 170, 1, 0, 1, 170, 12, 0, 1, 16, 0, 0, 7, 78, 4, 0, 1, 29, 9, 0, 3, 1, 0, 0, 1, 12, 6, 0, 1, 36, 1, 0, 11, 170, 2, 0, 1, 170, 2, 0, 1, 12, 0, 0, 9, 66, 1, 0, 5, 25, 1, 0, 3, 0, 1, 1, 6, 11, 1, 0, 0]], [[37, 50], [ 18, 1, 0, 18, 168, 1, 0, 0, 168, 1, 0, 4, 29, 0, 0, 10, 77, 1, 0, 1, 21, 3, 0, 3, 0, 0, 0, 0, 5, 4, 2, 0, 24, 0, 0, 9, 168, 7, 0, 2, 168, 3, 0, 1, 35, 2, 0, 12, 92, 1, 0, 3, 23, 1, 0, 2, 0, 1, 1, 2, 6, 2, 1, 1, 23, 1, 0, 18, 168, 1, 0, 2, 168, 7, 0, 3, 32, 1, 0, 13, 91, 1, 0, 3, 26, 3, 0, 4, 1, 1, 2, 3, 7, 1, 0, 1, 21, 0, 0, 5, 168, 3, 0, 2, 168, 1, 0, 1, 23, 1, 0, 13, 65, 2, 0, 8, 18, 1, 0, 2, 0, 0, 1, 3, 4, 0, 0, 0]], [[41, 54], [ 18, 0, 0, 2, 169, 14, 0, 2, 169, 7, 0, 1, 31, 4, 0, 9, 61, 5, 1, 11, 18, 1, 0, 1, 2, 4, 1, 2, 2, 0, 0, 0, 20, 2, 0, 7, 169, 7, 0, 0, 169, 13, 0, 3, 45, 1, 0, 5, 80, 3, 0, 2, 21, 10, 1, 4, 2, 1, 1, 1, 3, 2, 1, 1, 26, 1, 0, 22, 169, 1, 0, 1, 169, 1, 0, 5, 41, 0, 0, 13, 86, 1, 0, 1, 28, 5, 0, 3, 0, 0, 0, 0, 5, 4, 2, 0, 22, 0, 0, 8, 169, 6, 0, 1, 169, 2, 0, 1, 30, 1, 0, 9, 63, 1, 0, 2, 19, 1, 0, 1, 0, 0, 1, 1, 4, 1, 1, 1]], [[44, 47], [ 18, 1, 0, 1, 147, 6, 0, 1, 147, 6, 0, 1, 46, 2, 0, 2, 42, 1, 5, 26, 18, 1, 0, 0, 0, 0, 38, 47, 1, 0, 0, 0, 20, 1, 0, 0, 147, 8, 0, 1, 147, 12, 0, 3, 70, 3, 0, 4, 50, 3, 10, 85, 75, 18, 0, 1, 0, 0, 42, 87, 15, 10, 0, 0, 17, 2, 0, 1, 147, 10, 0, 1, 147, 8, 0, 0, 70, 7, 0, 5, 56, 3, 0, 4, 71, 99, 0, 1, 0, 0, 1, 4, 32, 102, 6, 1, 9, 2, 0, 1, 147, 13, 0, 2, 147, 24, 0, 1, 62, 4, 0, 0, 55, 7, 0, 2, 18, 25, 0, 0, 0, 0, 0, 0, 11, 79, 27, 4]], [[45, 39], [0, 0, 165, 67, 1, 1, 0, 0, 62, 69, 141, 30, 0, 0, 1, 1, 165, 138, 16, 0, 0, 0, 0, 0, 27, 46, 16, 0, 0, 1, 2, 0, 2, 1, 10, 7, 3, 2, 4, 1, 118, 19, 3, 3, 1, 2, 5, 5, 165, 57, 0, 0, 0, 0, 0, 3, 65, 17, 2, 0, 0, 0, 1, 4, 2, 5, 3, 2, 2, 1, 0, 1, 115, 4, 2, 2, 1, 0, 0, 17, 165, 9, 0, 0, 0, 0, 0, 67, 74, 1, 1, 1, 1, 1, 1, 15, 4, 1, 0, 0, 3, 2, 1, 3, 118, 0, 0, 0, 1, 2, 1, 34, 165, 0, 0, 0, 0, 0, 0, 79, 34, 0, 0, 1, 3, 5, 1, 14]], [[47, 35], [2, 2, 4, 4, 4, 2, 3, 1, 135, 48, 1, 2, 2, 1, 2, 1, 183, 87, 0, 0, 0, 0, 0, 1, 30, 5, 1, 3, 1, 2, 2, 3, 3, 2, 2, 1, 13, 7, 0, 1, 150, 18, 1, 1, 1, 2, 1, 4, 183, 43, 0, 0, 0, 0, 0, 8, 58, 4, 0, 1, 4, 9, 2, 5, 4, 1, 0, 2, 21, 5, 2, 1, 142, 7, 1, 0, 1, 2, 2, 23, 183, 10, 0, 0, 0, 0, 0, 62, 56, 6, 2, 4, 5, 1, 0, 4, 2, 4, 2, 3, 8, 2, 1, 1, 141, 2, 1, 0, 3, 2, 1, 73, 183, 1, 0, 0, 0, 0, 0, 127, 21, 1, 0, 0, 0, 0, 1, 8]], [[50, 38], [0, 1, 1, 9, 7, 0, 0, 0, 3, 0, 2, 127, 78, 0, 0, 2, 30, 0, 19, 127, 17, 0, 23, 105, 3, 2, 20, 11, 2, 52, 118, 58, 0, 0, 2, 10, 41, 2, 0, 0, 29, 1, 0, 69, 127, 29, 2, 5, 127, 15, 0, 16, 32, 7, 5, 89, 38, 6, 1, 2, 23, 29, 22, 33, 0, 0, 103, 17, 19, 3, 2, 0, 10, 2, 44, 35, 127, 78, 17, 13, 127, 38, 34, 3, 14, 23, 21, 55, 25, 20, 97, 28, 13, 2, 4, 1, 0, 0, 63, 5, 0, 1, 110, 3, 0, 1, 35, 17, 3, 3, 127, 3, 4, 15, 24, 2, 1, 1, 127, 10, 0, 3, 45, 10, 11, 23, 101, 2]], [[50, 38], [ 19, 40, 47, 0, 0, 13, 71, 26, 0, 24, 124, 3, 6, 30, 31, 1, 2, 34, 124, 1, 1, 5, 25, 8, 0, 25, 110, 0, 0, 4, 29, 1, 20, 1, 0, 4, 32, 22, 61, 25, 14, 19, 18, 82, 124, 38, 25, 2, 124, 54, 21, 18, 11, 6, 53, 32, 16, 4, 14, 0, 0, 18, 124, 10, 17, 37, 54, 66, 35, 1, 0, 1, 38, 5, 10, 124, 124, 0, 1, 40, 124, 15, 1, 7, 18, 0, 1, 109, 31, 0, 0, 0, 0, 1, 8, 12, 1, 33, 106, 49, 1, 3, 57, 26, 12, 0, 17, 65, 10, 0, 47, 124, 44, 0, 0, 1, 1, 0, 4, 124, 3, 0, 0, 0, 0, 2, 1, 6]], [[50, 52], [ 15, 1, 0, 8, 163, 3, 0, 2, 163, 4, 0, 1, 36, 1, 0, 16, 76, 3, 0, 2, 26, 18, 0, 3, 0, 0, 0, 0, 46, 89, 0, 0, 20, 2, 0, 21, 163, 2, 0, 1, 163, 10, 0, 6, 41, 0, 0, 10, 90, 3, 0, 9, 19, 2, 0, 4, 0, 0, 1, 2, 21, 47, 1, 0, 23, 1, 0, 14, 163, 4, 0, 2, 163, 7, 0, 3, 40, 1, 0, 16, 88, 1, 0, 4, 19, 12, 1, 6, 1, 1, 1, 2, 5, 7, 1, 1, 22, 0, 0, 17, 163, 3, 0, 2, 163, 1, 0, 3, 28, 1, 0, 19, 62, 2, 1, 14, 19, 2, 0, 5, 2, 1, 1, 4, 4, 0, 0, 2]]], [[[57, 64], [ 28, 2, 0, 5, 168, 12, 0, 0, 168, 25, 0, 1, 25, 3, 1, 3, 45, 6, 0, 6, 17, 8, 6, 2, 1, 1, 0, 1, 2, 4, 13, 0, 24, 1, 0, 0, 168, 37, 0, 2, 168, 15, 0, 0, 36, 7, 0, 11, 76, 5, 0, 6, 27, 7, 0, 4, 1, 2, 1, 2, 5, 1, 0, 0, 20, 2, 0, 7, 168, 27, 0, 0, 168, 18, 0, 2, 54, 4, 0, 2, 80, 6, 0, 8, 29, 2, 0, 1, 4, 0, 0, 1, 4, 0, 0, 1, 14, 2, 0, 12, 168, 6, 0, 1, 168, 11, 0, 3, 46, 2, 0, 5, 75, 2, 0, 0, 25, 6, 1, 2, 1, 0, 0, 0, 3, 2, 2, 1]], [[57, 75], [ 44, 4, 2, 0, 0, 1, 1, 3, 196, 3, 0, 0, 0, 0, 0, 17, 146, 2, 0, 0, 1, 1, 2, 11, 1, 4, 2, 1, 1, 2, 5, 3, 55, 4, 1, 0, 0, 2, 6, 11, 196, 5, 0, 0, 0, 0, 0, 36, 171, 2, 0, 0, 0, 0, 1, 14, 2, 1, 1, 6, 1, 2, 3, 2, 65, 10, 2, 0, 0, 0, 1, 3, 196, 12, 0, 0, 0, 0, 0, 15, 165, 6, 1, 1, 0, 0, 1, 13, 1, 0, 1, 3, 1, 3, 3, 1, 57, 3, 2, 0, 0, 0, 0, 5, 196, 1, 0, 0, 0, 0, 0, 25, 119, 1, 1, 2, 1, 2, 4, 15, 0, 0, 2, 3, 1, 2, 7, 3]], [[58, 57], [7, 1, 0, 3, 153, 10, 0, 0, 153, 7, 0, 2, 65, 3, 0, 3, 95, 5, 0, 7, 12, 2, 0, 1, 2, 1, 1, 2, 4, 1, 0, 1, 10, 1, 0, 4, 153, 6, 0, 1, 153, 4, 0, 1, 85, 3, 0, 22, 113, 2, 0, 1, 16, 9, 1, 11, 2, 1, 0, 0, 5, 4, 0, 1, 9, 1, 0, 7, 153, 5, 0, 1, 153, 28, 0, 3, 85, 1, 0, 4, 116, 16, 1, 4, 16, 4, 0, 2, 0, 0, 0, 2, 7, 4, 1, 0, 5, 1, 0, 5, 153, 10, 0, 0, 153, 17, 0, 2, 74, 2, 0, 1, 110, 9, 0, 5, 10, 0, 0, 1, 2, 1, 0, 3, 5, 0, 0, 0]], [[59, 72], [ 42, 2, 0, 1, 7, 1, 1, 4, 174, 2, 0, 0, 0, 0, 0, 12, 86, 1, 0, 1, 0, 0, 1, 6, 0, 0, 0, 1, 1, 1, 1, 1, 56, 7, 0, 1, 7, 0, 0, 2, 174, 6, 0, 0, 0, 0, 0, 8, 109, 1, 0, 1, 0, 1, 1, 5, 0, 0, 1, 2, 1, 2, 2, 1, 58, 2, 0, 0, 8, 1, 1, 10, 174, 5, 1, 0, 0, 0, 0, 43, 87, 3, 13, 5, 0, 2, 19, 25, 0, 0, 33, 7, 0, 3, 27, 6, 26, 23, 49, 7, 4, 1, 1, 6, 152, 128, 130, 3, 0, 0, 1, 18, 24, 27, 174, 66, 0, 1, 8, 9, 0, 1, 174, 61, 0, 0, 12, 5]], [[62, 77], [0, 0, 23, 126, 1, 1, 6, 6, 23, 8, 24, 109, 6, 21, 21, 8, 126, 31, 7, 4, 1, 3, 1, 10, 39, 3, 0, 0, 0, 0, 0, 2, 0, 0, 10, 62, 6, 6, 43, 126, 31, 0, 0, 6, 117, 64, 53, 41, 126, 2, 0, 1, 19, 7, 1, 23, 46, 2, 4, 0, 0, 0, 0, 3, 3, 3, 50, 29, 19, 4, 19, 108, 24, 12, 15, 105, 126, 9, 5, 8, 126, 97, 36, 11, 19, 0, 3, 14, 16, 18, 124, 10, 0, 0, 13, 4, 1, 2, 55, 22, 9, 22, 75, 8, 15, 5, 12, 63, 73, 79, 19, 18, 76, 36, 14, 5, 5, 5, 31, 117, 4, 5, 32, 2, 0, 1, 103, 34]], [[62, 86], [ 16, 0, 0, 11, 107, 1, 0, 3, 142, 0, 0, 0, 1, 0, 0, 34, 101, 1, 4, 14, 0, 0, 0, 14, 1, 0, 20, 110, 0, 0, 0, 0, 35, 1, 0, 14, 112, 0, 0, 4, 142, 18, 11, 9, 0, 0, 0, 35, 69, 10, 58, 142, 0, 0, 0, 7, 0, 0, 48, 142, 0, 0, 0, 1, 26, 8, 0, 11, 95, 0, 0, 0, 117, 83, 72, 38, 0, 0, 0, 2, 8, 12, 89, 142, 0, 0, 1, 8, 0, 0, 11, 57, 0, 0, 15, 80, 2, 3, 0, 4, 64, 1, 0, 1, 2, 13, 21, 6, 0, 0, 3, 16, 0, 0, 10, 13, 0, 0, 23, 127, 0, 0, 0, 0, 0, 0, 38, 142]], [[62, 86], [1, 0, 0, 0, 89, 6, 0, 2, 2, 7, 2, 0, 1, 7, 21, 15, 0, 91, 14, 0, 0, 16, 15, 1, 0, 141, 28, 0, 0, 1, 0, 0, 18, 0, 0, 0, 127, 10, 0, 4, 123, 1, 0, 0, 1, 27, 57, 78, 12, 4, 0, 0, 0, 141, 82, 16, 0, 57, 8, 0, 0, 67, 7, 0, 25, 1, 0, 0, 141, 13, 0, 0, 141, 16, 0, 0, 1, 6, 8, 15, 80, 3, 0, 0, 0, 141, 37, 11, 0, 1, 0, 0, 0, 141, 34, 0, 15, 2, 0, 0, 128, 8, 0, 0, 141, 21, 0, 0, 2, 0, 0, 0, 100, 7, 0, 0, 0, 17, 2, 1, 0, 0, 0, 0, 1, 101, 23, 2]], [[63, 68], [8, 1, 0, 0, 52, 39, 7, 2, 78, 6, 0, 0, 7, 5, 6, 26, 10, 1, 3, 1, 1, 10, 32, 10, 0, 0, 4, 0, 0, 3, 26, 2, 11, 0, 0, 0, 118, 133, 30, 5, 145, 3, 0, 0, 30, 16, 29, 107, 26, 0, 0, 0, 0, 40, 145, 49, 0, 0, 0, 0, 0, 21, 145, 0, 13, 2, 0, 0, 145, 45, 3, 1, 145, 42, 0, 1, 73, 8, 3, 17, 105, 16, 0, 2, 11, 18, 39, 14, 0, 0, 0, 0, 4, 11, 55, 0, 5, 0, 0, 0, 145, 44, 0, 1, 145, 29, 0, 0, 72, 18, 0, 1, 128, 16, 0, 2, 12, 3, 0, 1, 1, 1, 1, 1, 7, 1, 0, 0]], [[63, 71], [2, 3, 2, 0, 9, 2, 0, 0, 111, 21, 2, 0, 0, 0, 0, 0, 152, 29, 0, 0, 0, 0, 0, 1, 22, 2, 1, 2, 0, 1, 1, 2, 1, 2, 1, 1, 21, 5, 1, 2, 130, 9, 1, 0, 0, 0, 0, 8, 152, 20, 0, 0, 0, 0, 1, 17, 33, 1, 1, 2, 0, 4, 22, 13, 0, 0, 7, 4, 26, 9, 4, 6, 92, 24, 22, 2, 0, 0, 2, 18, 152, 98, 93, 8, 0, 0, 1, 30, 21, 13, 152, 79, 0, 1, 15, 13, 0, 0, 67, 57, 14, 3, 1, 1, 7, 27, 138, 17, 0, 0, 4, 4, 14, 79, 152, 27, 0, 0, 30, 18, 0, 5, 152, 85, 1, 0, 86, 24]], [[64, 86], [4, 0, 0, 11, 126, 45, 14, 2, 126, 0, 0, 2, 22, 9, 6, 68, 76, 2, 4, 10, 0, 0, 37, 51, 0, 0, 15, 74, 1, 2, 43, 3, 12, 0, 0, 30, 126, 0, 0, 1, 126, 16, 8, 7, 24, 0, 0, 24, 72, 14, 54, 126, 0, 0, 0, 5, 0, 0, 41, 126, 0, 0, 3, 11, 8, 5, 1, 28, 126, 0, 0, 0, 71, 70, 49, 18, 16, 0, 0, 3, 8, 14, 79, 125, 0, 0, 8, 41, 0, 0, 9, 41, 0, 0, 36, 126, 0, 1, 0, 10, 126, 17, 4, 3, 2, 11, 11, 3, 10, 3, 20, 75, 1, 1, 7, 4, 0, 0, 40, 126, 0, 0, 0, 0, 0, 0, 27, 126]], [[64, 86], [0, 3, 8, 12, 125, 17, 1, 1, 1, 75, 28, 2, 8, 3, 13, 9, 0, 125, 47, 0, 0, 4, 7, 1, 0, 121, 31, 0, 0, 0, 0, 0, 8, 0, 0, 0, 125, 35, 1, 5, 64, 3, 0, 0, 13, 21, 56, 67, 6, 40, 10, 0, 0, 125, 76, 11, 0, 125, 49, 2, 1, 38, 9, 0, 13, 1, 0, 0, 125, 35, 0, 0, 125, 24, 0, 0, 22, 9, 10, 18, 60, 5, 0, 0, 1, 125, 60, 13, 0, 5, 7, 4, 42, 125, 31, 0, 4, 1, 0, 0, 125, 25, 0, 0, 125, 33, 0, 0, 30, 5, 0, 0, 96, 17, 0, 10, 9, 10, 5, 2, 2, 0, 0, 47, 95, 38, 7, 9]], [[67, 63], [ 10, 1, 0, 20, 148, 2, 0, 1, 148, 7, 0, 10, 86, 0, 0, 5, 100, 5, 1, 10, 13, 1, 0, 2, 1, 1, 0, 3, 3, 1, 0, 0, 14, 10, 24, 60, 148, 2, 0, 2, 148, 18, 2, 11, 94, 0, 0, 33, 97, 13, 18, 11, 17, 0, 0, 7, 4, 7, 9, 2, 2, 0, 0, 0, 11, 15, 50, 107, 74, 0, 0, 0, 148, 124, 29, 21, 29, 0, 0, 4, 26, 77, 148, 7, 1, 0, 0, 0, 0, 44, 148, 1, 0, 0, 0, 0, 7, 1, 1, 13, 62, 16, 6, 1, 85, 22, 7, 3, 13, 1, 1, 8, 11, 16, 53, 2, 1, 2, 3, 2, 0, 17, 63, 0, 0, 1, 1, 1]], [[70, 69], [2, 20, 4, 0, 13, 112, 54, 2, 58, 112, 3, 0, 16, 54, 2, 0, 24, 81, 39, 30, 1, 9, 7, 0, 0, 1, 25, 81, 10, 23, 18, 1, 1, 5, 7, 31, 63, 75, 3, 1, 23, 73, 17, 32, 112, 78, 2, 2, 98, 112, 67, 22, 8, 3, 9, 42, 11, 3, 13, 60, 57, 14, 25, 28, 2, 8, 43, 90, 16, 2, 23, 29, 13, 3, 4, 37, 85, 112, 76, 22, 112, 82, 17, 18, 25, 52, 11, 26, 35, 22, 18, 105, 61, 1, 2, 32, 0, 1, 6, 5, 0, 1, 37, 81, 0, 0, 0, 0, 57, 89, 30, 19, 8, 29, 25, 8, 98, 102, 3, 4, 68, 12, 25, 22, 5, 4, 2, 74]], [[70, 69], [5, 3, 2, 80, 66, 12, 25, 23, 100, 91, 2, 5, 10, 32, 27, 9, 67, 91, 28, 16, 0, 0, 0, 0, 0, 1, 40, 75, 0, 0, 5, 3, 60, 1, 3, 35, 33, 20, 17, 110, 25, 49, 10, 30, 112, 79, 17, 19, 85, 112, 74, 21, 14, 3, 4, 38, 14, 3, 28, 31, 2, 8, 46, 86, 52, 14, 27, 27, 10, 3, 16, 62, 8, 3, 10, 43, 97, 112, 67, 21, 112, 74, 2, 2, 24, 70, 16, 37, 64, 66, 3, 1, 1, 5, 8, 35, 9, 25, 19, 0, 0, 1, 28, 77, 1, 10, 7, 0, 30, 86, 37, 26, 21, 60, 2, 0, 63, 112, 3, 0, 16, 112, 52, 3, 2, 16, 3, 0]], [[70, 60], [ 31, 9, 2, 1, 0, 0, 57, 41, 172, 33, 1, 0, 0, 0, 52, 170, 41, 19, 25, 1, 0, 0, 172, 68, 0, 3, 36, 3, 0, 0, 146, 17, 69, 15, 3, 1, 0, 0, 1, 2, 172, 44, 1, 0, 0, 0, 0, 15, 94, 25, 23, 4, 0, 0, 2, 5, 2, 3, 26, 3, 0, 1, 4, 4, 81, 2, 0, 1, 3, 3, 3, 3, 172, 1, 0, 0, 0, 0, 0, 22, 100, 3, 1, 1, 0, 0, 8, 18, 1, 2, 1, 1, 1, 2, 7, 7, 63, 2, 1, 1, 2, 2, 1, 3, 172, 8, 0, 0, 0, 0, 0, 3, 81, 8, 2, 1, 0, 0, 0, 2, 2, 3, 1, 1, 0, 0, 0, 1]], [[72, 57], [ 29, 5, 2, 3, 9, 6, 51, 22, 186, 32, 0, 0, 0, 0, 38, 118, 71, 23, 23, 1, 0, 0, 124, 53, 1, 8, 28, 1, 0, 0, 82, 21, 51, 3, 1, 3, 20, 6, 2, 2, 186, 13, 0, 0, 0, 0, 0, 13, 136, 11, 6, 0, 0, 0, 3, 19, 1, 3, 5, 0, 0, 1, 5, 5, 48, 2, 0, 4, 17, 1, 1, 2, 186, 19, 0, 0, 0, 0, 0, 3, 151, 12, 0, 0, 0, 0, 1, 5, 1, 1, 0, 0, 0, 0, 1, 1, 29, 5, 0, 1, 16, 4, 0, 0, 186, 48, 0, 0, 0, 0, 0, 0, 136, 20, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 1]], [[73, 74], [5, 2, 2, 70, 133, 0, 0, 2, 133, 1, 0, 32, 75, 0, 0, 69, 129, 1, 0, 5, 15, 1, 0, 42, 0, 0, 0, 3, 14, 1, 0, 0, 17, 9, 37, 133, 133, 0, 0, 3, 133, 23, 3, 21, 42, 1, 0, 68, 99, 18, 19, 14, 8, 0, 0, 17, 0, 2, 6, 7, 9, 0, 0, 0, 29, 8, 18, 92, 43, 0, 0, 1, 133, 129, 26, 10, 4, 0, 0, 4, 22, 124, 133, 3, 0, 0, 0, 0, 0, 58, 91, 2, 0, 0, 0, 0, 21, 0, 0, 11, 53, 5, 0, 9, 73, 24, 9, 1, 1, 0, 1, 20, 3, 44, 65, 1, 1, 1, 0, 1, 0, 61, 85, 0, 0, 0, 0, 0]], [[77, 70], [7, 2, 1, 4, 58, 32, 12, 1, 82, 14, 3, 1, 13, 5, 4, 13, 10, 3, 14, 2, 1, 4, 19, 5, 1, 2, 15, 0, 0, 2, 13, 2, 9, 0, 0, 0, 117, 138, 49, 6, 140, 3, 0, 0, 40, 26, 41, 119, 16, 0, 0, 0, 0, 33, 145, 38, 0, 0, 0, 0, 0, 19, 145, 1, 14, 2, 0, 1, 145, 47, 4, 3, 145, 33, 0, 1, 96, 12, 7, 30, 82, 8, 0, 1, 12, 20, 56, 15, 0, 0, 1, 1, 1, 8, 72, 1, 10, 2, 0, 4, 145, 15, 0, 1, 145, 9, 0, 1, 91, 8, 0, 13, 88, 3, 0, 0, 14, 8, 0, 4, 0, 0, 1, 1, 3, 3, 0, 0]], [[78, 74], [ 10, 3, 0, 0, 11, 1, 0, 5, 24, 1, 0, 10, 163, 6, 0, 3, 163, 4, 0, 2, 65, 1, 0, 14, 34, 1, 0, 1, 15, 4, 0, 2, 13, 5, 1, 3, 18, 1, 1, 1, 40, 3, 0, 48, 163, 1, 0, 3, 163, 3, 0, 11, 61, 1, 0, 29, 35, 1, 0, 1, 21, 5, 0, 5, 5, 33, 83, 9, 16, 0, 0, 1, 45, 9, 23, 65, 163, 5, 0, 4, 163, 26, 5, 8, 47, 2, 0, 13, 27, 8, 14, 8, 14, 0, 0, 0, 0, 26, 91, 10, 2, 0, 0, 0, 22, 15, 38, 90, 67, 0, 0, 0, 120, 105, 36, 10, 12, 0, 0, 0, 4, 38, 115, 3, 0, 0, 0, 0]], [[78, 74], [0, 0, 0, 0, 6, 35, 127, 3, 21, 0, 0, 0, 102, 109, 31, 12, 76, 1, 0, 0, 11, 12, 49, 85, 1, 0, 0, 0, 0, 19, 114, 7, 13, 1, 0, 0, 28, 13, 22, 9, 53, 5, 0, 2, 163, 51, 6, 7, 163, 21, 0, 1, 38, 9, 22, 48, 15, 1, 0, 1, 6, 20, 75, 6, 20, 6, 0, 2, 29, 2, 0, 1, 55, 3, 0, 8, 163, 18, 0, 5, 163, 9, 0, 1, 47, 5, 0, 22, 24, 1, 0, 1, 12, 7, 0, 2, 13, 6, 1, 1, 18, 2, 0, 0, 41, 4, 0, 5, 163, 20, 0, 1, 163, 26, 0, 1, 40, 3, 0, 1, 21, 3, 0, 5, 10, 3, 0, 0]], [[85, 75], [ 11, 1, 0, 20, 167, 2, 0, 3, 167, 1, 0, 3, 46, 2, 0, 53, 82, 1, 0, 3, 20, 4, 0, 16, 1, 1, 1, 1, 6, 3, 0, 0, 27, 1, 0, 33, 167, 1, 0, 2, 167, 4, 0, 6, 37, 0, 0, 29, 82, 1, 0, 3, 23, 5, 0, 8, 0, 0, 0, 2, 8, 7, 0, 0, 29, 1, 0, 4, 167, 4, 0, 2, 167, 12, 0, 1, 36, 1, 0, 16, 79, 6, 1, 14, 19, 1, 0, 3, 0, 1, 1, 9, 5, 1, 0, 0, 27, 1, 0, 18, 167, 1, 0, 2, 167, 1, 0, 2, 24, 0, 0, 25, 52, 0, 0, 6, 23, 2, 0, 5, 1, 1, 1, 2, 3, 1, 0, 1]]]]
    
    s_area=[[1,1,100,100],[100,100,200,200]]
    file_name = '/media/lhpc04/869762e7-5cfb-40a4-82aa-c0477c0fd3c2/workspace/code/微视频/src/proto/keypoint.data'
    # save_as_proto(area_keys,s_area,file_name)
    area_keys1,s_area1 = read_from_proto(file_name)
    print(area_keys1)
    print(s_area1)

数据看不懂,没关系,只是结构体的一种运用,加油啦,各位大大。
欢迎大家留言讨论 && all

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值