原创 图像二值化

2009-2-23 22:25 2310 6 6 分类: 软件与OS

    将灰度图像转化为二值图像的过程称为二值化。灰度图像中的每个像素分别与指定阈值进行比较,如果大于或等于阈值,则该点为255,否则为0。


// 二值化
// 1. pImageData   图像数据
// 2. nWidth       图像宽度
// 3. nHeight      图像高度
// 4. nWidthStep   图像行大小
// 5. nThreshold   阈值
BOOL Threshold(unsigned char *pImageData, int nWidth, int nHeight, int nWidthStep,
    unsigned int nThreshold)
{
    int            i     = 0;
    int            j     = 0;
    unsigned char *pLine = NULL;
    for (pLine = pImageData, j = 0; j < nHeight; j++, pLine += nWidthStep)
    {
        for (i = 0; i < nWidth; i++)
        {
            if (pLine >= nThreshold)
            {
                pLine = 0xFF;
            }
            else
            {
                pLine = 0x00;
            }
        }
    }
    return TRUE;
}


图像二值化效果:



eb25bc7a-f690-4559-bbb8-d5bac31a95a9.jpg5952914d-8608-4ca4-9917-05513ec7db6b.jpg

文章评论0条评论)

登录后参与讨论
我要评论
0
6
关闭 站长推荐上一条 /2 下一条