【发布时间】:2013-05-09 18:11:25
【问题描述】:
我正在尝试将文本文档转换为二进制图像,方法是首先检测其边缘,然后根据边缘检测的输出将其转换为二进制图像。 有人可以在这方面帮助我。 这是我边缘检测后的图片
【问题讨论】:
标签: android image opencv image-processing
我正在尝试将文本文档转换为二进制图像,方法是首先检测其边缘,然后根据边缘检测的输出将其转换为二进制图像。 有人可以在这方面帮助我。 这是我边缘检测后的图片
【问题讨论】:
标签: android image opencv image-processing
看看non-maxima suppression。用于将梯度边缘图像转换为二进制边缘图像。如果以上是边缘检测的输出,则很难挑选单词。您可能需要更改照明条件。
据我所知,这是通用算法。您要确保当前像素大于其相邻像素的两个。选择对角线之一时最有效。在这里,我选择了从左上角到右下角的对角线。如果您的像素比它的邻居大,那么它就是局部最大值,您可以将其设置为 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;
}
}
}
【讨论】: