如何快速可靠地估计文档照片中的模糊程度?



假设我有一张20mp的文档照片,其中包含打印或手写文本。当然,文字和背景可能会被阴影、闪电或灯光产生的光晕等轻微扭曲。

我想估计图像上半部分和下半部分的模糊程度。因为我知道打印的(希望是手写的)文本在通用相机分辨率/设置下太过清晰而无法检测,所以我假设文本到背景的边界是无限清晰的。我正在考虑检测最小数量(或第一个百分位数)的像素,这些像素形成minBrightness+5%(文本颜色)和maxBrightness-5%之间的边界在局部亮度窗口内-因为动态范围和闪电条件在照片的不同位置发生变化。所以,如果我需要最多3个像素从BlackPointWhitePoint,我会推断我的模糊大小大约是2个像素。

我的想法有一些问题。我正在考虑的算法似乎比过滤器慢得多。如果我在一个根本没有文本的区域(例如一个文档,其下半部分完全空白)上运行它,它可能会给出误导性的结果,因此它依赖于硬编码的最小动态范围(例如如果maxBrightness-minBrightness <100、没有文字;不要试图估计模糊)。第三,我的算法在噪声、阴影等方面似乎不是很健壮,如果实际的文本字体不是黑白的,而是出于审美目的的灰度,它可能会失败。

考虑到我的担忧,是否有一种快速、稳健、适度准确的算法,能比我想到的算法更好地完成任务?

PS现在我假设是均匀模糊,而不是方向模糊,因为模糊的方向不是我任务的中心。

因为你的文本应该是锐利的,似乎一般的"聚焦"或模糊检测器可能工作。比如:有没有办法检测图像是否模糊?和检测图像/视频序列中的模糊应用到您的图像的部分。

最新更新