资源简介

Halcon DeepLearning Tool工具是一个非常好用的目标检测标注工具,但是其生成的hdict文件无法直接用于其他深度学习工具,so本内容提供了一种方法可以将hdict先转为TXT数据格式,然后各位可以很方便的再转为其它深度学习工具所需要的数据格式,附件为C#源码,可以根据需要自行修改。

资源截图

代码片段和文件信息

using System;
using System.IO;
using System.Text;
using System.Windows.Forms;
using HalconDotNet;

namespace Hdict2Txt
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private HTuple HDict = new HTuple();
        private DictDatas dictDatas = new DictDatas();
        private HTuple hv_DictFile = @“data\train.hdict“;
        private string saveInfoPath = @“data\labels.txt“;
        private void Form1_Load(object sender EventArgs e)
        {
            button1.Text = “选择文件“;
            button2.Text = “转为TXT“;
        }
        private void button1_Click(object sender EventArgs e)
        {
            using (OpenFileDialog ofg = new OpenFileDialog() { Filter = “Halcon字典文件(*.hdict)|*.hdict“ })
            {
                if (ofg.ShowDialog() == DialogResult.OK)
                {
                    hv_DictFile = ofg.FileName;
                    HOperatorSet.ReadDict(hv_DictFile new HTuple() new HTuple() out HDict);
                }
            }
        }

        private void button2_Click(object sender EventArgs e)
        {
            HOperatorSet.ReadDict(hv_DictFile new HTuple() new HTuple() out HDict);
            GetDictInfo();
            GetLabels();
            MessageBox.Show(“处理完成文件已保存到:“ + Application.StartupPath + “\\“ + saveInfoPath);
        }
        private void GetDictInfo()
        {
            HTuple AllKeys = new HTuple();
            HOperatorSet.GetDictParam(HDict “keys“ new HTuple() out AllKeys);
            if (AllKeys.Length != 0)
            {
                try
                {
                    HOperatorSet.GetDictTuple(HDict “class_ids“ out this.dictDatas.class_ids);
                    HOperatorSet.GetDictTuple(HDict “class_names“ out this.dictDatas.class_names);
                    HOperatorSet.GetDictTuple(HDict “samples“ out this.dictDatas.samples);
                    HOperatorSet.GetDictTuple(HDict “image_dir“ out this.dictDatas.image_dir);

                    if (File.Exists(saveInfoPath))
                    {
                        File.Delete(saveInfoPath);
                    }

                    StringBuilder class_ids = new StringBuilder();
                    StringBuilder class_names = new StringBuilder();
                    class_ids.Append(“class_ids:“);
                    class_names.Append(“class_names:“);
                    for (int i = 0; i < this.dictDatas.class_ids.Length; i++)
                    {
                        class_ids.Append(this.dictDatas.class_ids.TupleSelect(i).ToString() + “;“);
                        class_names.Append(this.dictDatas.class_names.TupleSelect(i).ToString() + “;“);
                    }

                    string[] lines = new string[4];
                    lines[0] = class_ids.ToString();
                    lines[1] = class_names.ToString();
                    line

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    ..A..H.     43520  2019-12-31 12:40  Hdict2Txt\.vs\Hdict2Txt\v16\.suo

     文件        187  2019-12-30 10:12  Hdict2Txt\Hdict2Txt\App.config

     文件     166422  2019-12-14 17:34  Hdict2Txt\Hdict2Txt\bin\Debug\data\HandGestureRecognition.hdict

     文件     263719  2019-12-31 12:37  Hdict2Txt\Hdict2Txt\bin\Debug\data\labels.txt

     文件     334436  2019-05-16 18:00  Hdict2Txt\Hdict2Txt\bin\Debug\data\screws.hdict

     文件    1516040  2019-05-28 17:36  Hdict2Txt\Hdict2Txt\bin\Debug\halcondotnet.dll

     文件    4555857  2019-05-28 17:16  Hdict2Txt\Hdict2Txt\bin\Debug\halcondotnet.xml

     文件      11776  2019-12-31 12:38  Hdict2Txt\Hdict2Txt\bin\Debug\Hdict2Txt.exe

     文件        187  2019-12-30 10:12  Hdict2Txt\Hdict2Txt\bin\Debug\Hdict2Txt.exe.config

     文件      34304  2019-12-31 12:38  Hdict2Txt\Hdict2Txt\bin\Debug\Hdict2Txt.pdb

     文件       8585  2019-12-31 12:39  Hdict2Txt\Hdict2Txt\Form1.cs

     文件       2729  2019-12-31 12:35  Hdict2Txt\Hdict2Txt\Form1.Designer.cs

     文件       5817  2019-12-31 12:35  Hdict2Txt\Hdict2Txt\Form1.resx

     文件       3691  2019-12-30 19:48  Hdict2Txt\Hdict2Txt\Hdict2Txt.csproj

     文件       1728  2019-12-31 12:33  Hdict2Txt\Hdict2Txt\obj\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       7173  2019-12-30 19:48  Hdict2Txt\Hdict2Txt\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件          0  2019-12-31 12:38  Hdict2Txt\Hdict2Txt\obj\Debug\Hdict2Txt.csproj.CopyComplete

     文件        828  2019-12-31 12:35  Hdict2Txt\Hdict2Txt\obj\Debug\Hdict2Txt.csproj.FileListAbsolute.txt

     文件       1012  2019-12-31 12:35  Hdict2Txt\Hdict2Txt\obj\Debug\Hdict2Txt.csproj.GenerateResource.cache

     文件        424  2019-12-31 12:37  Hdict2Txt\Hdict2Txt\obj\Debug\Hdict2Txt.csprojAssemblyReference.cache

     文件      11776  2019-12-31 12:38  Hdict2Txt\Hdict2Txt\obj\Debug\Hdict2Txt.exe

     文件        180  2019-12-31 12:35  Hdict2Txt\Hdict2Txt\obj\Debug\Hdict2Txt.Form1.resources

     文件      34304  2019-12-31 12:38  Hdict2Txt\Hdict2Txt\obj\Debug\Hdict2Txt.pdb

     文件        180  2019-12-30 19:48  Hdict2Txt\Hdict2Txt\obj\Debug\Hdict2Txt.Properties.Resources.resources

     文件        521  2019-12-30 10:12  Hdict2Txt\Hdict2Txt\Program.cs

     文件       1310  2019-12-30 10:12  Hdict2Txt\Hdict2Txt\Properties\AssemblyInfo.cs

     文件       2831  2019-12-30 10:12  Hdict2Txt\Hdict2Txt\Properties\Resources.Designer.cs

     文件       5612  2019-12-30 10:12  Hdict2Txt\Hdict2Txt\Properties\Resources.resx

     文件       1096  2019-12-30 10:12  Hdict2Txt\Hdict2Txt\Properties\Settings.Designer.cs

     文件        249  2019-12-30 10:12  Hdict2Txt\Hdict2Txt\Properties\Settings.settings

............此处省略21个文件信息

评论

共有 条评论