我在对话框里面,添加一幅图,旁边设置一个按钮,单击按钮的情况下完成BMP图像的二值化
编写的子函数如下:
bool CDib::ConvertToTwoValue()
{
DWORD i,size;
unsigned char *p;
p = m_pDibBits;//当单步到这里时候p=0xcccccccc
size = m_dwDibSize - (m_pDibBits - m_pDib);//运行到这里size=0 for (i = 0; i < size;i++)
{
if (*p < 128)
{
*p = 0;
}
else
{
*p = 255;
}
p++;
}
return true;}
但是单步跟踪的时候出现错误,怎么回事?二值化程序还没运行就结束了,想不明白
编写的子函数如下:
bool CDib::ConvertToTwoValue()
{
DWORD i,size;
unsigned char *p;
p = m_pDibBits;//当单步到这里时候p=0xcccccccc
size = m_dwDibSize - (m_pDibBits - m_pDib);//运行到这里size=0 for (i = 0; i < size;i++)
{
if (*p < 128)
{
*p = 0;
}
else
{
*p = 255;
}
p++;
}
return true;}
但是单步跟踪的时候出现错误,怎么回事?二值化程序还没运行就结束了,想不明白
显然你没有给m_pDibBits赋值或赋值不成功,图像数据取的不对,后面的操作肯定无法进行了
显示m_pDibBits没有赋值或赋值不成功,无法取得图像数据,所以后面的工作无法进行
显示m_pDibBits没有赋值或赋值不成功,无法取得图像数据,所以后面的工作无法进行