GetRegionRuns

获取:游程编码,行号、起始列、行列。

private void butTemp_Click(object sender, EventArgs e)
         {
             HObject region;
             HOperatorSet.GenRectangle1(out region, 1, 1, 2, 2);
             HTuple tRows, tCols;
             HOperatorSet.GetRegionPoints(region, out tRows, out tCols);
             //region有4个点(1,1),(1,2),(2,1),(2,2)
             HTuple row, col1, col2;
             HOperatorSet.GetRegionRuns(region, out row, out col1, out col2);
             //region有4个点的行长码: 1行1列到2列 2行1列到2列            //修改行长码
             row = new int[] { 5, 6 };
             HObject region1;
             HOperatorSet.GenRegionRuns(out region1, row, col1, col2);                
             HOperatorSet.GetRegionPoints(region1, out tRows, out tCols);
             //region有4个点(5,1),(5,2),(6,1),(6,2)
         }

扩展

也可使用GenRegionPoints

WriteRegion

 HOperatorSet.WriteRegion(region1, "c:\\1.reg");
            byte[] bys = System.IO.File.ReadAllBytes("c:\\1.reg");
存储文件,以二进制的方式读取,存储格式就是游程编码。末尾是行号 起始列号 结束列号。

测试环境

Win7 VS2022 halcon12