opencv - 来自低质量图像的超分辨率图像

标签 opencv image-processing computer-vision

我有一组相同牌照的低质量图像。其中存在未知的偏移、旋转、比例和强度变化。我的目标是使用这些图像来创建good quality 使用超分辨率的图像。我已经下载了 super resolution 的 OpenCV 代码,它使用具有已知位移的图像。 我找不到任何使用具有未知位移、旋转和强度变化的图像的算法。我可以从这些样本创建一个超分辨率图像,以便新图像可以在分割后用于 OCR。任何人都可以发布使用未知偏移、旋转和比例变化图像的超分辨率代码的链接。 ??

示例图片::

[http://i61.tinypic.com/20utst0.jpg
http://i60.tinypic.com/fz3cw9.jpg
http://i57.tinypic.com/2iszhu8.jpg
http://i58.tinypic.com/bitqap.jpg][1]

最佳答案

我怀疑您能否找到完全涵盖您的特定任务的代码。但你的任务对我来说似乎是合理的。您可以按照以下步骤操作

  1. 在考虑旋转、比例和灰度变化的情况下执行图像配准(图像 1 到所有其他图像)。在你的情况下,你可以找到特殊点,如板角、数字中间等,然后通过线性回归找到两个图像之间的转换。

  2. 如果第 1 阶段的准确度不够,您可以使用 Lucas-Kanade 方法的仿射版本改进配准

  3. 扭曲图像(全部朝向图像 1)

  4. 使用您拥有的超分辨率代码,将扭曲图像和无偏移作为输入

关于opencv - 来自低质量图像的超分辨率图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22755536/

相关文章:

opencv - 为什么要使用幅值法来获取处理后的图像?

c# - 我应该使用什么 WPF 图像类型来执行多个转换

image-processing - 如何在matlab中对RGB矩阵执行power()函数

opencv - 如何使用 opencv 正确地重新定向单个字符图像

opencv - 使用pytesseract/tesseract从变形,模糊图像中的图像中提取文本之前应用的预处理方法

c++ - OpenCV 相机问题 :

c++ - CodeLite opencv路径

c++ - InitUndistortRectifyMap 和 Remap

c++ - 创建蒙版以选择黑色区域

c++ - 在 C++ 中读取 kinect 深度文件