使用c ++检测opencv中图像中任何文本的位置

时间:2013-12-03 21:49:42

标签: c++ opencv image-processing computer-vision

http://www.2d3dfloorplans.com/wp-content/themes/default/images/2dfloorplans_1.jpg是我的输入图片。我想从此图片中删除文字。 (例如,卧室,11'X12',衣柜......)。 注意:我想自动删除。不是手动。(当我运行我的代码。文本将被删除。我不会手动删除。)

2 个答案:

答案 0 :(得分:2)

如果您知道所有可能的文本变体,并且没有太多,(单个单词可以分割),那么您可以使用模板匹配技术检测它们。一旦检测到某个单词,您就可以用背景颜色覆盖它的区域。

http://docs.opencv.org/doc/tutorials/imgproc/histograms/template_matching/template_matching.html

建议的代码结构:

program/
  samples/
    sample1.png # image with a "Bedroom" text
    sample2.png # rotated image with "Bedroom" text
    sample3.png # ...
    sample4.png # etc
  src/
    main.cpp
  readme.txt
  makefile

main从argv读取图像并将samples文件夹中的每个模板应用到它。一旦找到文本,它就会使用一些逻辑来覆盖占用的区域。

答案 1 :(得分:0)

尝试对图像运行OCR算法并删除OCR算法检测到的区域。