开发环境

Win7 VS2002 halcon12, 直接运行Debug的exe


宽高5000,单格1*1的棋盘占用内存


手动释放region regionConnect


      private void butTemp_Click(object sender, EventArgs e)
        {
            butTemp.Enabled = false;
            HOperatorSet.SetSystem("clip_region", "false");
            {
                HObject region;
                HOperatorSet.GenCheckerRegion(out region, 5000, 5000, 1, 1);

                HObject regionConnect;
                HOperatorSet.Connection(region, out regionConnect);
                region.Dispose();

                regionConnect.Dispose();
            }

            butTemp.Enabled = true;
        }

大约占用200M,两者的顺序不影响结果。

都不释放

private void butTemp_Click(object sender, EventArgs e)
        {
            butTemp.Enabled = false;
            HOperatorSet.SetSystem("clip_region", "false");
            {
                HObject region;
                HOperatorSet.GenCheckerRegion(out region, 5000, 5000, 1, 1);

                HObject regionConnect;
                HOperatorSet.Connection(region, out regionConnect);
                //region.Dispose();

                //regionConnect.Dispose();
            }

            butTemp.Enabled = true;
        }

大约占350M

只释放region


private void butTemp_Click(object sender, EventArgs e)
        {
            butTemp.Enabled = false;
            HOperatorSet.SetSystem("clip_region", "false");
            {
                HObject region;
                HOperatorSet.GenCheckerRegion(out region, 5000, 5000, 1, 1);

                HObject regionConnect;
                HOperatorSet.Connection(region, out regionConnect);
                region.Dispose();

                //regionConnect.Dispose();
            }

            butTemp.Enabled = true;
        }
大约占用200M

只释放regionConnect


  private void butTemp_Click(object sender, EventArgs e)
        {
            butTemp.Enabled = false;
            HOperatorSet.SetSystem("clip_region", "false");
            {
                HObject region;
                HOperatorSet.GenCheckerRegion(out region, 5000, 5000, 1, 1);

                HObject regionConnect;
                HOperatorSet.Connection(region, out regionConnect);
                // region.Dispose();

                regionConnect.Dispose();
            }
大约占用200M


其它版本

换了halcol18 halcon12的 debug release都如此。
先释放regionConnect和先释放region 都如此。

posted on   闻缺陷则喜何志丹  阅读(42)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~



点击右上角即可分享
微信分享提示