51Halcon机器视觉

 找回密码
 会员注册

QQ登录

只需一步,快速开始

查看: 842|回复: 6

[待解决] 用mfc和halcon打开图片,内存似乎报错溢出,哪儿错了??

[复制链接]
  • TA的每日心情
    害羞
    2019-5-16 14:50
  • 签到天数: 12 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    3

    主题

    19

    帖子

    50

    积分

    Rank: 1

    积分
    50

    切换助手验证会员

    发表于 2019-1-2 16:21:25 | 显示全部楼层 |阅读模式

    试用员工 |主题 3|帖子 19|积分 50

    在mfc中点击显示图片按钮,将图片显示在picture control上,报错似乎内存溢出,图片不能显示,哪儿错了呢???

    代码如下////////////////////////
    void CMCFLearningCaseDlg::OnBnClickedPictureButton()
    {
            // TODO: 在此添加控件通知处理程序代码
            //得到图片文件路径
            TCHAR szFilters[] = _T("图片文件(.bmp .png .jpg)/.bmp;.png;*jpg/All Files (.)/.*||");
            CFileDialog fileDlg(TRUE, NULL, NULL, OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, szFilters,NULL);
            CString pathName;
            HImage Image;
            HTuple Width, Height;
            if (fileDlg.DoModal() == IDOK)
            {
                    pathName = fileDlg.GetPathName();
            }
            //pop up pathname
            MessageBox(pathName);

            //change PathName Type
            int len = WideCharToMultiByte(CP_ACP, 0, pathName, -1, NULL, 0, NULL, NULL);
            char *ptxtTemp = new char[len + 1];
            WideCharToMultiByte(CP_ACP, 0, pathName, -1, ptxtTemp, len, NULL, NULL);

            //读取图片
            Image.ReadImage(ptxtTemp);
            //得到图片尺寸
            Image.GetImageSize(&Width, &Height);
            //窗口句柄获取
            HWND hImgWnd = GetDlgItem(IDC_PICTURE_STATIC)->m_hWnd;
            CRect rtWindow;
            GetDlgItem(IDC_PICTURE_STATIC)->GetClientRect(&rtWindow);
            HWindow m_htWindow;
            //打开一个窗口并显示图片
            m_htWindow.OpenWindow(rtWindow.left, rtWindow.top, rtWindow.Height(), rtWindow.Width(), (Hlong)hImgWnd, "visible", "");
            m_htWindow.SetPart(0, 0, Width.I(), Height.I());
            Image.DispImage(m_htWindow);
    }



    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?会员注册

    x

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    耍酷
    昨天 11:05
  • 签到天数: 533 天

    连续签到: 2 天

    [LV.9]以坛为家II

    117

    主题

    598

    帖子

    3254

    积分

    Rank: 9

    积分
    3254

    热心会员突出贡献切换助手验证会员最佳新人

    发表于 2019-1-2 17:19:29 | 显示全部楼层

    管理员 |主题 117|帖子 598|积分 3254

    你用的哪个版本的?是18.11?

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    害羞
    2019-5-16 14:50
  • 签到天数: 12 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    3

    主题

    19

    帖子

    50

    积分

    Rank: 1

    积分
    50

    切换助手验证会员

     楼主| 发表于 2019-1-2 17:39:09 | 显示全部楼层

    试用员工 |主题 3|帖子 19|积分 50

    绝地武士 发表于 2019-1-2 17:19
    你用的哪个版本的?是18.11?

    对的,最新版本

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    害羞
    2019-5-16 14:50
  • 签到天数: 12 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    3

    主题

    19

    帖子

    50

    积分

    Rank: 1

    积分
    50

    切换助手验证会员

     楼主| 发表于 2019-1-2 18:55:41 | 显示全部楼层

    试用员工 |主题 3|帖子 19|积分 50


    这个是怎么错了呢,把Width 和Height赋初值NULL也是同样报错。
    是文件路径有错吗?

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?会员注册

    x

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    害羞
    2018-12-18 10:28
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    0

    主题

    57

    帖子

    602

    积分

    Rank: 3

    积分
    602
    发表于 2019-1-3 13:02:24 | 显示全部楼层

    部门助理 |主题 0|帖子 57|积分 602

    本帖最后由 mediation 于 2019-1-3 13:03 编辑

    m_htWindow.OpenWindow(rtWindow.left, rtWindow.top, rtWindow.Height(), rtWindow.Width(), (Hlong)hImgWnd, "visible", "");
    好像这里width() 和 Height() 位置交换了,不知道是不是引起异常的原因之一
    还有一个Openwindow最好放在初始化函数里;
    不能每次点击就打开一个窗口,点多了就内存泄漏了

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    害羞
    2019-5-16 14:50
  • 签到天数: 12 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    3

    主题

    19

    帖子

    50

    积分

    Rank: 1

    积分
    50

    切换助手验证会员

     楼主| 发表于 2019-1-5 09:53:12 | 显示全部楼层

    试用员工 |主题 3|帖子 19|积分 50

    最后不用HImage类,而该用导出文件中的HObject类,仿照导出文件写解决了问题,然而依旧不清楚上述代码有什么问题。

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

    该用户从未签到

    0

    主题

    8

    帖子

    41

    积分

    Rank: 1

    积分
    41
    发表于 2019-1-5 16:42:00 | 显示全部楼层

    试用员工 |主题 0|帖子 8|积分 41

    文件路径不要出现中文字符

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

    您需要登录后才可以回帖 会员登录 | 会员注册

    本版积分规则

    51Halcon会员技术交流会员技术交流 | 51Halcon官方客服咨询官方客服咨询 | Halcon切换助手使用反馈切换助手使用反馈 | 51Halcon论坛管理团队论坛管理团队

    申请友链| 小黑屋| 手机版| Archiver|  

    粤ICP备15095995号-2 粤公网安备44030602000670号

    Powered by 51Halcon机器视觉. Copyright © 2001-2020, Tencent Cloud X3.4.

    快速回复 返回顶部 返回列表