csharp 中 emgucv 的全局阈值
Global threshold for emgucv in csharp
好吧,我是 OCR 和 Emgucv 的新手,就这样吧。我有彩色身份证,我想通过 tesseract ocr 处理以获取详细信息。我已将彩色图像转换为灰度图像,并且已成功转换为二进制图像并将其传递给 tesseract 并正常工作,但我必须从收到的文本中过滤垃圾数据。
现在我的问题是我期待用户提供不同类型的图像,例如对比度、光照条件。我想知道是否有可用的方法来获取全局阈值以获取二进制图像。我已经玩过 adaptivethreshold,Otsu 但对我没用。
我假设图像是像素矩阵,所以他们是否编写了一些适用于任何图像的函数?我不知道应该从哪里开始。
我正在研究 csharp 并将 tesseract 用于 ocr。我使用了以下代码。
double th = CvInvoke.Threshold(source, source2, 0, 255, ThresholdType.Otsu);
CvInvoke.Threshold(source, source, th/2, 255, ThresholdType.Binary);
示例图片:
[1]: https://i.stack.imgur.com/JleRx.jpg
请在 csharp 中提供示例以查找全局阈值。
我正在为 OCR 执行以下步骤。
- 灰度
- 阈值
- 正方体
另外,请告诉我我是在为 OCR 执行预期的算法还是遗漏了什么?还请建议我应该怎么做才能提高 ocr 的准确性?任何帮助将不胜感激。
您应该使用 Canny 边缘检测。
Emgu CV Canny
它应该有助于您的准确性。它根据局部差异而不是整个图像的 brightness/contrast 来查找边缘。
好吧,我是 OCR 和 Emgucv 的新手,就这样吧。我有彩色身份证,我想通过 tesseract ocr 处理以获取详细信息。我已将彩色图像转换为灰度图像,并且已成功转换为二进制图像并将其传递给 tesseract 并正常工作,但我必须从收到的文本中过滤垃圾数据。
现在我的问题是我期待用户提供不同类型的图像,例如对比度、光照条件。我想知道是否有可用的方法来获取全局阈值以获取二进制图像。我已经玩过 adaptivethreshold,Otsu 但对我没用。
我假设图像是像素矩阵,所以他们是否编写了一些适用于任何图像的函数?我不知道应该从哪里开始。
我正在研究 csharp 并将 tesseract 用于 ocr。我使用了以下代码。
double th = CvInvoke.Threshold(source, source2, 0, 255, ThresholdType.Otsu);
CvInvoke.Threshold(source, source, th/2, 255, ThresholdType.Binary);
示例图片: [1]: https://i.stack.imgur.com/JleRx.jpg
请在 csharp 中提供示例以查找全局阈值。
我正在为 OCR 执行以下步骤。
- 灰度
- 阈值
- 正方体
另外,请告诉我我是在为 OCR 执行预期的算法还是遗漏了什么?还请建议我应该怎么做才能提高 ocr 的准确性?任何帮助将不胜感激。
您应该使用 Canny 边缘检测。 Emgu CV Canny
它应该有助于您的准确性。它根据局部差异而不是整个图像的 brightness/contrast 来查找边缘。