我试图在图像中找到文本的边框,目前正在使用这种方法:
// calculate the local variances of the grayscale image
Mat t_mean, t_mean_2;
Mat grayF;
outImg_gray.convertTo(grayF, CV_32F);
int winSize = 35;
blur(grayF, t_mean, cv::Size(winSize,winSize));
blur(grayF.mul(grayF), t_mean_2, cv::Size(winSize,winSize));
Mat varMat = t_mean_2 - t_mean.mul(t_mean);
varMat.convertTo(varMat, CV_8U);
// threshold the high variance regions
Mat varMatRegions = varMat > 100;
当给出这样的图像:
然后,当我显示 varMatRegions
时,我得到这个图像:
正如你所看到的,它在一定程度上结合了左边的文本块和卡片的标题,对于大多数卡片来说,这种方法工作得很好,但是对于较繁忙的卡片,它可能会导致问题。
这些轮廓连接不好的原因是它使轮廓的边框几乎占据整个卡片。
有没有人能提出一个不同的方法,我可以找到文本,以确保正确的文本检测?
谁能在这两张卡片上找到文字,谁就得200分。