删除图像中不需要的blob

时间:2017-11-22 03:20:56

标签: image matlab

如何从此图像中删除不需要的blob,以便图像中只显示文本区域?Image with unwanted blob

1 个答案:

答案 0 :(得分:1)

如果您要查找的内容始终是文本,我建议先应用OCR识别文本。

I=imread('image'jpg');
ocrResults   = ocr(image);
Iocr         = insertObjectAnnotation(image, 'rectangle', ...
                       ocrResults.WordBoundingBoxes, ...
                       ocrResults.WordConfidences);
figure; imshow(Iocr);

结果应该是这样的: https://www.javacodegeeks.com/2014/01/android-tutorial-two-methods-of-passing-object-by-intent-serializableparcelable.html

应用OCR之后,在变量ocrResults中你将有一个字段为CharacterBoundingBoxes,你可以通过它创建一个二进制掩码(在框的位置上)并删除其他所有内容(零)。当然,一些噪音会被检测为文本,但如果您使用上面解释的形态学操作(bwareaopen),您将获得更好的结果。