Ios OpenCV代码也使用背景色删除文本颜色
我正在尝试使用OpenCV清除图像中的文本。我正在使用下面的代码Ios OpenCV代码也使用背景色删除文本颜色,ios,opencv,Ios,Opencv,我正在尝试使用OpenCV清除图像中的文本。我正在使用下面的代码 cv::Mat original = [MAOpenCV cvMatGrayFromAdjustedUIImage:image]; cv::GaussianBlur(original, original, cvSize(11,11), 0); cv::adaptiveThreshold(original, original, 255, cv::ADAPTIVE_THRESH_MEAN_C, cv::THRESH_BINARY, 5
cv::Mat original = [MAOpenCV cvMatGrayFromAdjustedUIImage:image];
cv::GaussianBlur(original, original, cvSize(11,11), 0);
cv::adaptiveThreshold(original, original, 255, cv::ADAPTIVE_THRESH_MEAN_C, cv::THRESH_BINARY, 5, 2);
image = [MAOpenCV UIImageFromCVMat:original];
original.release();
这工作很好,但它也删除文本颜色。只需显示大文本的边框。在本例中,如何保持文本的颜色
这是原始图像
下面是使用此代码转换的图像
尝试使用cv::THRESH\u BINARY\u INV,然后反转结果 对于像您这样的较大字母的图片,请尝试增加传递到adaptiveThreshold函数的“块大小”参数 从你的5
cv::adaptiveThreshold(original, original, 255, cv::ADAPTIVE_THRESH_MEAN_C, cv::THRESH_BINARY, 5, 2);
尝试增加(例如,增加到15),直到字母不再被掏空
cv::adaptiveThreshold(original, original, 255, cv::ADAPTIVE_THRESH_MEAN_C, cv::THRESH_BINARY, 15, 2);
请记住,块大小参数必须是奇数。Thanx用于回复,但这将在
cv::THRESH_BINARY_INV
中给出相同的结果bcoz文本中的颜色不可见。我现在无法测试它,但如果你反转图像,你将得到白色的txt,其他所有内容都是黑色的,请运行阈值二进制,你将在255中获得文本,在0中获得其他内容重新创建整个内容,我希望它能有所帮助!顺便说一下,我不明白为什么要使用adaptivethreshold而不是简单的threshold?这有什么区别吗?这里不需要任何反转。使用简单阈值和cv::THRESH_二进制作为阈值类型。