0

如何从图像中检测和提取文本的位置。例如百事可乐瓶图像中的文本“百事可乐”。 http://www.csmonitor.com/var/ezflow_site/storage/images/media/content/2013/0321-new-pepsi-bottle.jpg/15343519-1-eng-US/0321-new-pepsi-bottle。 jpg_full_6​​00.jpg

4

2 回答 2

0

您还可以查看以下有关Stroke Width transform的论文。它易于实现并且具有相当高的准确性。

我看到也有一个实现

于 2014-10-06T14:34:20.303 回答
0

一开始你需要两张这样的照片。在 opencv 或 photoshop 中使用 canny。

在此处输入图像描述 在此处输入图像描述

然后使背景差异如下

    System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
    Mat model = Highgui.imread("D:\\BKDiff\\can1.jpg",Highgui.CV_LOAD_IMAGE_GRAYSCALE);
    Mat scene = Highgui.imread("D:\\BKDiff\\can2.jpg",Highgui.CV_LOAD_IMAGE_GRAYSCALE);
    Mat diff = new Mat();
    Core.absdiff(model,scene,diff);
    Imgproc.threshold(diff,diff,15,1000,Imgproc.THRESH_BINARY);
    int distortion = Core.countNonZero(diff);
    Highgui.imwrite("D:\\BKDiff\\out.jpg",diff);

之后,你会得到这个。

在此处输入图像描述

于 2014-10-06T05:29:13.030 回答