开启左侧

VS+Halcon 二值化处理和halcon有差异,找不到原因

[复制链接]
guoguozzh 发表于 2022-9-3 14:36:30 | 显示全部楼层 |阅读模式
本帖最后由 guoguozzh 于 2022-9-11 19:35 编辑

MFC框架添加了两个滑块用作设置最小灰度和最大灰度,最小灰度为0,最大灰度为255,MFC界面没有显示二值化的结果,很奇怪。拖动滑块,其他的灰度范围又可以正确二值化处理。
滑块拖动的消息函数如下:


void CMyMFC6Dlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
        // TODO: 在此添加消息处理程序代码和/或调用默认值
        int minpos, maxpos;
        minpos = m_MinGray.GetPos();
        maxpos = m_MaxGray.GetPos();
        CString strminpos, strmaxpos;
        strminpos.Format(_T("%d"), minpos);
        strmaxpos.Format(_T("%d"), maxpos);
        m_mingray.SetWindowTextW(strminpos);
        m_maxgray.SetWindowTextW(strmaxpos);

        int minGray = m_MinGray.GetPos();
        int maxGray = m_MaxGray.GetPos();
        if (minGray >= maxGray)
        {
                ClearWindow(m_hWindowHandle);
                return;
        }
        if (m_bLoadImg)//已经正确打开图片 才进行二值化处理
        {
                ClearWindow(m_hWindowHandle);
                HObject ThresholdImg;
                FastThreshold(image, &ThresholdImg, minGray, maxGray, 100);
                DispObj(ThresholdImg, m_hWindowHandle);
        }

        CDialogEx::OnHScroll(nSBCode, nPos, pScrollBar);
}





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

本版积分规则

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