Halcon读取json文件实现示例

目录
  • 核心知识:
    • 一、get_dict_ttuple算子
    • 二、get_dict_param算子
    • 三、实践(直接上代码)

核心知识:

get_dict_tuple、get_dict_param的理解与应用

一、get_dict_ttuple算子

①定义

get_dict_tuple( DictHandle, Key , Tuple)

DictHandle:字典句柄

key:键

tuple:根据Key在句柄下取内容,存放到tuple中

②功能:从字典中检索与键关联的元组

二、get_dict_param算子

①定义

get_dict_param( DictHandle, GenParamName, Key ,GenParamValue)

DictHandle:字典句柄

GenParamName:根据参数在字典中查询相关信息。当填写’keys’时,默认取所有元素

key:键。可以不填内容,直接写 []

GenParamValue:读取的内容存放

②功能:查询字典参数或有关字典的信息。

三、实践(直接上代码)

有些原理我也不是特别清楚,但通过实践几次之后,略有所感。所有,实践是检验真理的唯一标准,多动手。

 ************以下是我json文件内容***************
*    {"path":"C:\\Users\\Administrator\\Desktop\\算子开发任务书\\000001.png",
*    "outputs":{"object":[{"name":"sharp","polygon":{"x1":2613,"y1":418,"x2":2686,"y2":1218,"x3":2722,"y3":2054,"x4":2759,"y4":2372,"x5":2795,"y5":2445,"x6":2759,"y6":3136,"x7":2777,"y7":3136,"x8":2831,"y8":2881,"x9":2904,"y9":4263,"x10":3013,"y10":4263,"x11":3013,"y11":3900,"x12":3086,"y12":3881,"x13":3140,"y13":4263,"x14":3268,"y14":4263,"x15":3086,"y15":2972,"x16":3131,"y16":2900,"x17":3177,"y17":3100,"x18":3231,"y18":3109,"x19":3050,"y19":2154,"x20":3122,"y20":2172,"x21":3013,"y21":1072,"x22":2977,"y22":336,"x23":2868,"y23":309,"x24":2904,"y24":590,"x25":2777,"y25":572,"x26":2722,"y26":372}}]},
*    "time_labeled":1582335060421,
*    "labeled":true,
*    "size":{"width":3798,"height":8748,"depth":3}}
*读取json文件,将内容放入字典中
read_dict('data.json',[],[],DictJson)
*取字典中所有关键字
get_dict_param(DictJson,'keys',[],ALLKeys)
*读取outputs下的内容
get_dict_tuple(DictJson,'outputs',outputsDict)
*取字典中所有关键字
*这一步其实是对outputs内容的读取,但读取的内容可能是地址信息
get_dict_param(outputsDict,'keys',[],outputsDictAllKeys)
*根据‘地址'信息将内容读入到元组中
get_dict_tuple(outputsDict,outputsDictAllKeys,outputsObjectDict)
*读取元组数据
get_dict_param(outputsObjectDict,'keys',[],outputsObjectDictALLKeys)
*元组中数据数量统计(其中元组中有小元组,而数量是指小元组的数量)
num:=|outputsObjectDictALLKeys|
*遍历
for keysIndex:=0 to num-1 by 1
    try
        get_dict_tuple(outputsObjectDict,outputsObjectDictALLKeys[keysIndex],objectDict)
        get_dict_param(objectDict,'keys',[],objectDictAllKeys)
        *标注类型 矩形框还是多边形
        objectShape:=objectDictAllKeys[1]
        get_dict_tuple (objectDict, objectDictAllKeys[1], objectLabelPosition)
        get_dict_param(objectLabelPosition,'keys',[],objectLabelPositionDictAllKeys)
        *矩形框
        if(objectShape='bndbox')
            get_dict_tuple(objectLabelPosition,objectLabelPositionDictAllKeys[0],xMin)
            get_dict_tuple (objectLabelPosition, objectLabelPositionDictAllKeys[1], yMin)
            get_dict_tuple (objectLabelPosition, objectLabelPositionDictAllKeys[2], xMax)
            get_dict_tuple (objectLabelPosition, objectLabelPositionDictAllKeys[3], yMax)
            *创建一个矩形
            gen_rectangle1(labelRegion,yMin,xMin,yMax,xMax)
        endif
        *多边形
        if(objectShape='polygon')
            bufX:=[]
            bufY:=[]
            for keysIndex0:=0 to |objectLabelPositionDictAllKeys|/2-1 by 1
                xAddr:=keysIndex0*2
                yAddr:=xAddr+1
                get_dict_tuple (objectLabelPosition, objectLabelPositionDictAllKeys[xAddr], positionX)
                bufX:=[bufX,positionX]
                get_dict_tuple (objectLabelPosition, objectLabelPositionDictAllKeys[yAddr], positionY)
                bufY:=[bufY,positionY]
            endfor
            bufX:=[bufX,bufX[0]]
            bufY:=[bufY,bufY[0]]
            *创建多边形
            gen_region_polygon(labelRegion,bufY,bufX)
            fill_up(labelRegion,labelRegion)
        endif
        *读取 name 内容,存放到objectName中
        get_dict_tuple(objectDict,objectDictAllKeys[0],objectName)
    catch (Exception)
    endtry
endfor

以上就是Halcon读取json文件实现示例的详细内容,更多关于Halcon读取json文件的资料请关注我们其它相关文章!

(0)

相关推荐

  • springboot openfeign从JSON文件读取数据问题

    对openfeign不清楚的同学可以参考下我的这篇文章:springboot~openfeign从此和httpClient说再见 对于openfeign来说,帮助我们解决了服务端调用服务端的问题,你不需要关心服务端的URI,只需要知道它在eureka里的服务名称即可,同时你与服务端确定了服务方法的参数和返回值之后,我们可以在单元测试时mock这些服务端方法即可,真正做到了单元测试,而不需要与外界资源进行交互. 今天主要说一下在openfeign里读取JSON文件的问题,我们将测试所需要的数据存储

  • Python实现的json文件读取及中文乱码显示问题解决方法

    本文实例讲述了Python实现的json文件读取及中文乱码显示问题解决方法.分享给大家供大家参考,具体如下: city.json文件的内容如下: { "cities": [ { "city": "北京", "cityid": "101010100" }, { "city": "上海", "cityid": "101020100"

  • Vue2.5通过json文件读取数据的方法

    1.准备工作 1.1 webpack.dev.conf.js 在 const portfinder = require('portfinder') 的下面加上以下代码 const express = require('express') const app = express() var appData = require('../data.json')//加载本地数据文件的路径 var leftMenu = appData.leftMenu //获取对应的本地数据 var 数据名称 = app

  • ionic3+Angular4实现接口请求及本地json文件读取示例

    一 准备工作 首先,ionic3+Angular4的开发环境你得有,这里就不赘述.环境准备好,创建一个空白项目,模板自选. 二 实现过程 1 新建json文件和service service记得在app.module.ts中引用 json和service 2 json文件格式 格式类似这样,根据实际需求决定. [ { "id":"1", "name":"xiehan", "age":"24&quo

  • Halcon读取json文件实现示例

    目录 核心知识: 一.get_dict_ttuple算子 二.get_dict_param算子 三.实践(直接上代码) 核心知识: get_dict_tuple.get_dict_param的理解与应用 一.get_dict_ttuple算子 ①定义 get_dict_tuple( DictHandle, Key , Tuple) DictHandle:字典句柄 key:键 tuple:根据Key在句柄下取内容,存放到tuple中 ②功能:从字典中检索与键关联的元组 二.get_dict_par

  • Python简单读取json文件功能示例

    本文实例讲述了Python简单读取json文件功能.分享给大家供大家参考,具体如下: read_json.json: { "rule":{ "namespace":"strategy", "name":"test_exp_1496234234223400", "version":0, "last_modify_time":1434234236819000, "

  • C/C++ QT实现解析JSON文件的示例代码

    JSON是一种轻量级的数据交换格式,它是基于ECMAScript的一个子集,使用完全独立于编程语言的文本格式来存储和表示数据,简洁清晰的的层次结构使得JSON成为理想的数据交换语言,Qt库为JSON的相关操作提供了完整的类支持. 创建一个解析文件,命名为config.json我们将通过代码依次解析这个JSON文件中的每一个参数,具体解析代码如下: { "blog": "https://www.cnblogs.com/lyshark", "enable&qu

  • js读取json文件片段中的数据实例

    在html中利用js读取动态网站从服务器端返回的数据进行显示 1.js.html 页面 需要引入 执行jquery的js文件 <HTML> <HEAD> <META name=Generator content=EditPlus> <META name=Author content=""> <META name=Keywords content=""> <META name=Description c

  • python读取json文件并将数据插入到mongodb的方法

    本文实例讲述了python读取json文件并将数据插入到mongodb的方法.分享给大家供大家参考.具体实现方法如下: #coding=utf-8 import sunburnt import urllib from pymongo import Connection from bson.objectid import ObjectId import logging from datetime import datetime import json from time import mktime

  • Python实现读取json文件到excel表

    本文实例为大家分享了Python实现读取json文件到excel表,供大家参考,具体内容如下 一.需求 1.'score.json' 文件内容: { "1":["小花",99,100,98.5], "2":["小王",90,30.5,95], "3":["小明",67.5,49.6,88] } 2.读取json文件保存到数据库,并计算出每个人的总分和平均分 二.实现代码 import j

  • Python实现的读写json文件功能示例

    本文实例讲述了Python实现的读写json文件功能.分享给大家供大家参考,具体如下: 相比java,python对json文件的处理就简单很多.java操作json文件的话需要引用jar包及相关依赖包,想用java操作json的同学可以去百度,这里就不赘述了. 首先说读json文件 在进行json操作之前,首先要了解json的格式,分辨json文件. json文件格式一般有两种: 第一种:每行一个json类似于以下这种形式: ["name":"Tony",&quo

  • c# 读取XML文件的示例

    如下XML文件:(算是一个属性值比较多的xml文件...读取该Xml算是我在公司实际的一个任务) <?xml version="1.0" encoding="UTF-8"?> <serverset> <devset PrintNumber="1" ControlBarcode="" ControlEBarcode="" ControlPIX="" Print

  • python实现xml转json文件的示例代码

    使用了Python的 xml.etree.ElementTree 库 xml.etree.ElementTree 库简介 xml.etree.ElementTree模块实现了一个简单而高效的API用于解析和创建XML数据.xml.etree.ElementTree模块对于恶意构造的数据是不安全的.如果您需要解析不受信任或未经验证的数据,请参阅XML漏洞. 参考文献:https://docs.python.org/3.6/library/xml.etree.elementtree.html fro

  • jQuery中读取json文件示例代码

    json文件是一种轻量级的数据交互格式.一般在jquery中使用getJSON()方法读取. $.getJSON(url,[data],[callback]) url:加载的页面地址 data: 可选项,发送到服务器的数据,格式是key/value callback:可选项,加载成功后执行的回调函数 1.首先建一个JSON格式的文件userinfo.json 保存用户信息.如下: [ { "name":"张国立", "sex":"男&q

随机推荐