还是二值化的的实现,改写后还是有问题,求助啊
通过调用对话框,传入阈值,再调用二值化函数处理。
原来是无论输入什么直,处理后都变成纯白一片;
现在处理后,看不出效果。
改了N遍,急啊,卡了我好些天了
void CXXXView::OnBinary()
{
CBinaryDlg binaryDlg;
if(binaryDlg.DoModal() == IDOK)
{
CShuFaDoc* pDoc = GetDocument();
pDoc->m_pDib->Binary(binaryDlg.m_nThre);
pDoc->SetModifiedFlag(TRUE);
OnRealizePal((WPARAM)m_hWnd,0);
pDoc->UpdateAllViews(NULL);
}
}
BOOL CDib::Binary(BYTE bThre)
{
HDIB hNewDib = ThresholdDIB(m_hDib, bThre);
if(! hNewDib)
return FALSE;
// set to m_hDib
Destroy();
m_hDib = hNewDib;
// return
return UpdateInternal();
}