1

我试图通过首先检测其边缘然后将其转换为基于边缘检测输出的二进制图像来将文本文档转换为二进制图像。有人可以在这方面帮助我。这是我边缘检测后的图像在此处输入图像描述

4

1 回答 1

1

看看非极大值抑制。用于将梯度边缘图像转换为二进制边缘图像。如果以上是边缘检测的输出,则很难挑选单词。您可能需要更改照明条件。

据我所知,这是通用算法。您要确保当前像素大于其相邻像素的两个。选择对角线之一时最有效。在这里,我选择了从左上角到右下角的对角线。如果您的像素比它的邻居大,那么它就是局部最大值,您可以将其设置为 1。否则,它的空位中有一个像素的值大于它,因此您将其设置为 0。

for(int i=1; i<image.width;i++){
    for(int j=1; j<image.height;j++){
        if(image[i][j]>=image[i-1][j-1] && image[i][j]> image[i+1][j+1]){
            image[i][j]=1;
        }else{
            image[i][j]=0;
        }
    }
}
于 2013-05-15T08:49:29.510 回答