2016-01-21 83 views
0

我想检测并从图像中提取字母和建立新的图片只包含alphabets.I已后的图像应用骨架我想一些suggestions.How我们可以检测信使用轮廓或中风bases.The图片我使用的基本上是DVD播放机包板例如,OpenCV的字母检测和字母的形状提取后骨架

DVD back panel

我使用骨架代码是

cvtColor(input, input, CV_BGR2GRAY); 
cv::threshold(input, input, 127, 255, cv::THRESH_BINARY); 
cv::Mat skel(input.size(), CV_8UC1, cv::Scalar(0)); 
cv::Mat temp; 
cv::Mat eroded; 

cv::Mat element = cv::getStructuringElement(cv::MORPH_CROSS, cv::Size(3, 3)); 

bool done; 
do 
{ 
    cv::erode(input, eroded, element); 
    cv::dilate(eroded, temp, element); // temp = open(input) 
    cv::subtract(input, temp, temp); 
    cv::bitwise_or(skel, temp, skel); 
    eroded.copyTo(input); 

    done = (cv::countNonZero(input) == 0); 
} while (!done); 

的出把图像骨架后,

Image After Skeletonization

来源:http://felix.abecassis.me/2011/09/opencv-morphological-skeleton/

+0

在OpenCV 3.0中,有一个用于文本检测和识别的额外模块。 这是链接: http://docs.opencv.org/3.0-beta/modules/text/doc/erfilter.html – Baraa

回答

2

在OpenCV的3.0有文字检测与识别的附加模块。 这是link。 文本检测主要基于极值区域和极大稳定极值区域。 识别部分通过与Tesseract或经过现场文本培训的字母分类器集成完成。 您可能会调整算法的参数,特别是您的案例的斑点的最小和最大尺寸。 示例代码: link

+0

生病尝试一下.. –