图像/视频序列中的模糊检测

2024-03-29

我在 photo stackexchange 上问过这个问题,但认为它也可能在这里相关,因为我想在我的实现中以编程方式实现这个问题。

我正在尝试为我的成像​​管道实现模糊检测算法。我想要检测的模糊是 -

1) 相机抖动:当快门速度较低时,用手移动/抖动拍摄的照片。

2) 镜头聚焦错误 - (景深)问题,例如聚焦在不正确的物体上,导致一些模糊。

3) 运动模糊:场景中快速移动的物体,使用不够高的快门速度拍摄。例如。夜间移动的汽车可能会在图像中显示出模糊的前灯/尾灯痕迹。

如何检测这种模糊并以某种方式对其进行量化,以便根据计算出的“模糊度量”做出某些决定?

模糊检测背后的理论是什么?

我正在寻找好的阅读材料,使用它我可以在 C/Matlab 中实现一些算法。

谢谢。

-AD.


当你考虑原因时,运动模糊和相机抖动是同一件事:相机和物体的相对运动。你提到慢快门速度——这两种情况都是罪魁祸首。

焦点缺失是主观的,因为它们取决于intent关于摄影师。不知道what摄影师想要聚焦,这是不可能实现的。即使你do知道你想关注什么,这仍然不是微不足道的。

撇开现实主义不谈,让我向你保证,模糊检测实际上是一个非常活跃的研究领域,并且已经有一些metrics您可以在您的图像上尝试。以下是我最近使用过的一些:

  • 边缘宽度。基本上,对图像执行边缘检测(使用Canny http://en.wikipedia.org/wiki/Canny_edge_detector或其他),然后测量边缘的宽度。模糊图像的边缘更宽且更分散。更清晰的图像将具有更薄的边缘。谷歌搜索“无参考感知模糊指标”马尔齐利亚诺 http://www.ntu.edu.sg/home/epina/research/publications.html——这是一篇著名的论文,很好地描述了这种方法,足以实现全面实施。如果你正在处理运动模糊,那么边缘将在运动方向上变得模糊(宽)。
  • 精细细节的存在。看看我的回答这个问题 https://stackoverflow.com/questions/4192972/assessing-the-quality-of-an-image-with-respect-to-compression(编辑部分)。
  • 频域方法。获取图像的 DCT 系数的直方图(假设您正在使用 JPEG)可以让您了解图像有多少精细细节。就是这样 https://stackoverflow.com/questions/4470107/extracting-dct-coefficients-from-encoded-images-and-video您可以直接从 JPEG 文件中获取 DCT 系数。如果非 DC 项的计数较低,则图像可能会模糊。这是最简单的方法——频域中有更复杂的方法。

还有更多,但我觉得这应该足以让您开始。如果您需要有关这两点的更多信息,请启动谷歌学术 http://scholar.google.com/并环顾四周。特别是,请查看 Marziliano 论文的参考文献,了解过去尝试过的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

图像/视频序列中的模糊检测 的相关文章

  • 如何用一种纯色填充 OpenCV 图像?

    如何用一种纯色填充 OpenCV 图像 使用 OpenCV C APIIplImage img Use cvSet http opencv willowgarage com documentation operations on array
  • python中图像的几何扭曲

    我想使用 python 对图像执行几何变换 以沿给定曲线 拉直 或校正图像 似乎 scikit imageProjectiveTransform and warp 对此非常有用 但文档很少 我按照文档进行操作here http scikit
  • 防止 ffmpeg 在降低视频分辨率的同时改变颜色强度

    我有一个用例 我需要缩小规模716x1280mp4 视频到358x640 原件的一半 我使用的命令是 ffmpeg i input mp4 vf scale 640 640 force original aspect ratio decre
  • 从彩色背景中提取黑色对象

    人眼很容易辨别black来自其他颜色 但是计算机呢 我在普通的A4纸上打印了一些色块 由于组成彩色图像有青色 品红色和黄色三种墨水 所以我设置每个块的颜色C 20 C 30 C 40 C 50 以及其余两种颜色是 0 这是我的源图像的第一列
  • 从 GIF 提取帧到 PNG 时丢失数据?

    当我尝试使用 fraxel 的答案时 http stackoverflow com questions 10269099 pil convert gif frames to jpg 在图像上http 24 media tumblr com
  • 增加图像亮度而不溢出

    我在尝试增加图像亮度时遇到问题 这是原始图像 我想要得到的图像是这样的 现在使用以下代码增加亮度 image cv2 imread home wni vbshare tmp a4 index2 png 0 if sum image 0 le
  • 如何在 Python 中使用 PIL 将一张图像合成到另一张图像上?

    我需要拍摄一张图像并将其放置到新生成的白色背景上 以便将其转换为可下载的桌面壁纸 所以这个过程是这样的 生成尺寸为 1440x900 的新的全白图像 将现有图像放在顶部居中 另存为单张图像 在 PIL 中 我看到ImageDraw对象 但没
  • 如何检测图像中对象的实例?

    我有一张包含几个特定对象的图像 我想检测这些物体在该图像中的位置 为此 我有一些模型图像 其中包含我想要检测的对象 这些图像在我想要检测的对象实例周围得到了很好的裁剪 这是一个例子 在这张大图里 我想检测此模型图像中表示的对象 自从你最初发
  • 在 iPad 上使用 OpenCV 避免碰撞

    我正在开展一个项目 需要使用 OpenCV 实现碰撞避免 这是在 iOS 上完成的 iOS 5 及以上版本即可 项目目标 这个想法是将 iPad 安装在汽车仪表板上并启动应用程序 应用程序应该从相机中抓取帧并进行处理 以检测汽车是否会与任何
  • 将四边形(四边形)拟合到斑点

    应用不同的过滤和分割技术后 我最终得到如下图像 我可以访问一些轮廓检测函数 这些函数返回该对象边缘上的点列表 或者返回一个拟合的多边形 尽管有很多边 远多于 4 个 我想要一种将四边形适合该形状的方法 因为我知道它是应该是四边形的鞋盒的正面
  • 在 C、C++ 中实现腐蚀、膨胀

    我对二值图像的膨胀是如何完成的有理论上的了解 AFAIK 如果我的 SE 结构元素 是这样的 0 1 1 1 在哪里 代表中心 我的图像 二进制是这样的 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0
  • opencv createsamples没有错误,但是没有找到样本

    我在用着this http coding robin de 2013 07 22 train your own opencv haar classifier html教程 我正在根据我的正面图像创建大量样本 我正在使用 Windows 这是
  • 如何读取 10 位原始图像?其中包含 RGB-IR 数据

    我想知道如何从我的 10 位原始 它有 rgb ir 图像数据 数据中提取 RGB 图像 如何使用 Python 或 MATLAB 进行阅读 拍摄时的相机分辨率为 1280x720 室内照片图片下载 https drive google c
  • 在 RGB 图像上绘制多类语义分割透明叠加

    我有语义分割掩码的结果 值在 0 1 之间 需要大津阈值来确定什么是积极的 我想直接在 RGB 图像上绘制 在 RGB 图像上每个预测类具有不同的随机颜色 我使用以下内容绘制了具有单一颜色的单个蒙版 是否有一个包或简单的策略可以为多类别做到
  • 提高 pytesseract 从图像中正确识别文本的能力

    我正在尝试使用读取验证码pytesseract模块 大多数时候它都能提供准确的文本 但并非总是如此 这是读取图像 操作图像以及从图像中提取文本的代码 import cv2 import numpy as np import pytesser
  • 曲线/路径骨架二值图像处理

    我正在尝试开发一个可以处理图像骨架的路径 曲线的代码 我想要一个来自两点之间骨架的点向量 该代码在添加一些点后结束 我没有找到解决方案 include opencv2 highgui highgui hpp include opencv2
  • 在discord.py中访问成员的横幅

    我正在制作图像配置文件命令 我想为此访问会员的横幅 我们有什么办法可以在discord py 中做到这一点吗 如果不清楚我所说的横幅是什么意思 那么蓝色背景的图像就是横幅 我想访问它 在discord py v2 0中你可以使用 You m
  • 如何在 OpenCV 中从 YUV 文件读取帧?

    如何在 OpenCV 中从 YUV 文件读取帧 我编写了一个非常简单的 python 代码来从二进制文件读取 YUV NV21 流 import cv2 import numpy as np class VideoCaptureYUV de
  • 归一化互相关的基础知识

    我正在尝试使用范数校正2 归一化互相关 http en wikipedia org wiki Cross correlation Normalized cross correlation 来自 MATLAB 用于计算发育中胚胎中移动形状的速
  • Matlab颜色检测

    我试图一致地检测同一场景的图像之间的某种颜色 这个想法是根据颜色配置文件识别一组对象 因此 例如 如果给我一个带有绿色球的场景 并且我选择绿色作为我的调色板的一部分 我想要一个具有反映它检测到球的矩阵的函数 任何人都可以为这个项目推荐一些

随机推荐

  • 列出 Google Fonts API 中的所有可变字体?

    我需要通过 Google Fonts API 获取所有可用的可变字体的列表 我可以从这个端点获取所有字体名称 您可以添加一些参数 但我认为其中不包括可变字体过滤器 我认为在进行 API 调用后我无法过滤结果 这里的 Open Sans 是一
  • 创建的 Iframe 和扩展、google chrome 扩展之间的通信

    我尝试从从我的扩展程序加载的 iframe 发送消息到我的扩展程序 后台脚本或内容脚本 创建的 Iframe 通过内容脚本从扩展加载 我正在寻找一种沟通方式 但我所有的尝试都失败了 清单 json author background pag
  • 在 Pandas DataFrame 上滚动应用速度更快?

    改进这个问题 https stackoverflow com questions 21040766 python pandas rolling apply two column input into function它提供了一个巧妙的解决方
  • 使用泛型类型反射执行类

    我想在使用反射 查找接口实现 找到它之后 在使用泛型类型的类上动态执行方法 下面是我陷入困境的一个例子 非常感谢您的帮助 Setup public interface IActionRequired
  • 关于在 Perl 中将混合编码文件转换为 UTF8 的问题

    我正在将我们大学中国研究系古老的基于 DOS 的图书馆程序生成的文件转换为更有用和更易于访问的文件 我正在处理的问题之一是导出的文本文件 大小约为 80MB 采用混合编码 我在 Windows 上 我认为德语元音变音和其他高级 ASCII
  • 如何为 SwiftUI 列表中的各个行设置动画?

    我想显示一个列表 其中每一行都显示不透明动画并且延迟逐渐增加 因此 第一行应在 0 1 秒后出现 第二行应在 0 3 秒后出现 第三行应在 0 5 秒后出现 依此类推 我尝试了以下方法 但它不起作用 因为所有行都会同时出现并且没有动画 任何
  • 分布式环境中会话ID的唯一性?

    我们正在使用 Spring Session 由关键的 Gemfire 备份 来运行在分布式环境中的 Spring Boot 应用程序 在这样的分布式环境中 Spring Session 是否确保新的会话使用唯一的会话 id 跨不同 JVM
  • 图表中的最小损坏成本

    给定一个图 G V E 其中有 N 个节点 编号从 0 到 N 1 并且恰好为 N 1 双向边缘 图中的每条边都有一个正成本 C u v 边缘权重 整个图是这样的任何一对节点之间都有唯一的路径 我认为改进的 Kruskal 是正确的选择 取
  • DateTimePicker 永远不会更新!

    我有一些DateTimePicker是一种永不更新的形式 我试过了Value and Text Invalidate 进而Update 并且Refresh 从当前日期开始 他们的价值观似乎没有任何改变 无论我设置什么 当前日期都是 相对 今
  • 自动登录其他网站的php脚本

    我想要一个脚本 通过它我可以登录其他网站而无需打开他们的登录页面 场景是这样的 我不想将登录 ID 和密码提供给他人 他们只需单击链接或按钮 脚本就会完成其工作 它将传递所需的登录 ID 和密码 并提交登录表单并登录 并且客户端拥有所有凭据
  • 如何使用单个bat文件传递动态参数来运行一个exe

    我需要运行一个 EXE 它将采用 7 个参数 其中一个参数是动态的 有人可以帮助我如何通过使用bat文件传递动态参数来运行EXE吗 谢谢 柴塔尼亚 如果您需要执行带有动态数量参数的命令 您可以使用 命令示例 foo exe options
  • C 变量名定义中使用下划线的原因是什么?

    我试图了解开发人员何时需要定义C前面带有 的变量 其原因何在 例如 uint32 t xyz 0 也许这有帮助 来自 C99 7 1 3 保留标识符 所有以下划线和大写字母或其他字母开头的标识符 下划线始终保留用于任何用途 所有以下划线开头
  • 如何解释 Google perf 工具 CPU 分析器中的地址

    我的 C 程序消耗大量 CPU 并且在运行时消耗更多 我使用 Google 性能工具来分析 CPU 使用情况 这就是我得到的结果 pprof top Total 1343 samples 1330 99 0 99 0 1330 99 0 0
  • 是否可以让ScrollView滚动到底部?

    对于一个类似聊天的应用程序 我想保留一个ScrollView组件滚动到底部 因为最新消息出现在旧消息下方 我们可以调整a的滚动位置吗ScrollView For React Native 0 41 及更高版本 您可以使用内置的scrollT
  • 如何获取 Spring Boot 应用程序建立的活动数据库连接数

    我已经使用 Oracle 数据源构建了一个 Spring Boot 应用程序 我需要在日志语句中打印总活动连接 如何获取活动连接 注意 不是最大活动连接数 它应该是 特定时间 实例的活动连接数 DataSource dataSource D
  • iOS 金属线宽

    我想设置我在金属中绘制的线条的宽度 我可以设置一个点的大小point size正如所解释的here https developer apple com library prerelease ios documentation Metal R
  • node js 从 URL 获取 Zip 并上传到 Google 云端硬盘

    我正在尝试从网址获取 zip 文件 以便在下一步中将其上传到 Google 云端硬盘 但我的代码不起作用 The method to get the zip File from the url function getFile var fi
  • python Tkinter() 如何隐藏 UI

    嗨 我正在使用 Tkinter 在 python 中开发单个登录 我只希望当用户正确登录时 登录 UI 将被隐藏 内容 UI 将显示 所以我认为 ui 可以隐藏或者可见性将被隐藏 例如我有这个代码 def httpGETCheck user
  • Magento - 重新索引过程存在问题 - 目录产品 [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我刚刚重新索引了运行 v1 6 的 Magenot 安装上的数据 现在我收到一条消息 指出 There was a pr
  • 图像/视频序列中的模糊检测

    我在 photo stackexchange 上问过这个问题 但认为它也可能在这里相关 因为我想在我的实现中以编程方式实现这个问题 我正在尝试为我的成像 管道实现模糊检测算法 我想要检测的模糊是 1 相机抖动 当快门速度较低时 用手移动 抖