C++ OpenCV:从边缘检测图像中检测字母和单词
我目前正在处理文本识别。以下是带有边缘检测的二值化图像的一部分(使用Canny): 编辑:我正在发布一个图像链接。我没有10个代表点,因此无法发布图像 编辑2:这是阈值化后的同一块。老实说,我不知道哪种方法更好 [ 问题仍然是一样的:C++ OpenCV:从边缘检测图像中检测字母和单词,c++,opencv,image-processing,detection,C++,Opencv,Image Processing,Detection,我目前正在处理文本识别。以下是带有边缘检测的二值化图像的一部分(使用Canny): 编辑:我正在发布一个图像链接。我没有10个代表点,因此无法发布图像 编辑2:这是阈值化后的同一块。老实说,我不知道哪种方法更好 [ 问题仍然是一样的: 我应该如何检测某些字母?我需要确定每个字母的位置,然后是每个单词 有些信件是“打开”的吗?我的意思是它们不是封闭区 如果我使用cv::matchtemplate,是否意味着每个字母需要24个模板,每个数字需要10个模板?然后循环我的图像以确定最佳相关性 如果字母
cv::matchtemplate
,是否意味着每个字母需要24个模板,每个数字需要10个模板?然后循环我的图像以确定最佳相关性这并不是在告诉你怎么做,只是给你一些提示。正如malcolm OCR在前面的回答中提到的那样,它可以更好地处理填充字母,因此你可以做以下操作 1使用第二种方法,但采用相反的结果,而不是您显示的结果。 2运行连接的组件标签 3对于每个组件,您可以运行OCR算法 为了去除异常值,我将尝试使用检测到的字母之间的空间关系。它们旁边有其他水平或垂直的字母
祝你好运你能上传图片而不是发送链接吗?链接上写着“无法提供安全连接”你尝试过关闭吗?看到了吗?是的。但是一些字母随后与帧连接。我想这不会有任何好处。是的,我试着解决它。这个问题有点太广泛了。你可以尝试MSER text检测。除此之外,我没有任何线索。在这种情况下,我通常会微调(或重新训练,如果我有足够的样本)lenet网络。使用caffe进行此操作相当容易,然后使用opencv dnn模块。这将为您节省大量痛苦,准确率>99%