Halcon图像运动模糊,虚焦模糊仿真与恢复

2024-03-08 03:20

本文主要是介绍Halcon图像运动模糊,虚焦模糊仿真与恢复,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、所谓图像运动模糊指的是,相机在拍摄运动物体时造成的拖影,图像的模糊。而虚焦模糊是相机的镜头没有在焦点位置拍照,造成的虚焦模糊。
二、Halcon针对这两张图像模糊有很好的仿真算子,以及恢复模糊图像为真实图像的算子。下面是这些算子的简介

  1. gen_psf_defocus

功能:产生一个均匀散焦模糊的脉冲相应。

  1. gen_psf_motion

功能:产生一个(线性)运动模糊的脉冲相应。

  1. simulate_defocus

功能:对一个图像的均匀散焦模糊进行仿真。

  1. simulate_motion

功能:(线性)运动模糊的仿真。

  1. wiener_filter

功能:通过Wiener滤波进行图像恢复。

  1. wiener_filter_ni

功能:通过Wiener滤波进行图像恢复。
三、案例说明
dev_close_window ()
dev_open_window (0, 0, 512, 512, ‘black’, WindowHandle)
dev_set_draw (‘margin’)
read_image (Image, ‘C:/Users/Dell/Desktop/2022_11_28_15_44_14_0588_id_36429.bmp’)
*相机拍摄运动物体模糊图像仿真
simulate_motion (Image, MovedImage, 40, 0, 3)
*利用维纳滤波恢复运动模糊的图像
mean_image (MovedImage, ImageMean, 3, 3)
get_image_size (MovedImage, Width, Height)
gen_psf_motion (Psf, Width, Height, 40, 0, 3)
wiener_filter (MovedImage, Psf, ImageMean, RestoredImage)
*相机失焦造成图像模糊仿真
simulate_defocus (Image, DefocusedImage, 40)
*利用维纳滤波恢复失焦模糊的图像
mean_image (DefocusedImage, ImageMean1, 3, 3)
get_image_size (DefocusedImage, Width, Height)
gen_psf_defocus (Psf1, Width, Height, 40)
wiener_filter (DefocusedImage, Psf1, ImageMean1, RestoredImage1)

在利用维纳滤波恢复后,与原图对比。直线和边缘仍然在一条直线上,效果很好。
原图
在这里插入图片描述
运动模糊图
在这里插入图片描述
运动模糊恢复图
在这里插入图片描述
失焦模糊图
在这里插入图片描述
失焦模糊恢复图
在这里插入图片描述

这篇关于Halcon图像运动模糊,虚焦模糊仿真与恢复的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/785818

相关文章

Git中恢复已删除分支的几种方法

《Git中恢复已删除分支的几种方法》:本文主要介绍在Git中恢复已删除分支的几种方法,包括查找提交记录、恢复分支、推送恢复的分支等步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录1. 恢复本地删除的分支场景方法2. 恢复远程删除的分支场景方法3. 恢复未推送的本地删除分支场景方法4. 恢复

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

基于WinForm+Halcon实现图像缩放与交互功能

《基于WinForm+Halcon实现图像缩放与交互功能》本文主要讲述在WinForm中结合Halcon实现图像缩放、平移及实时显示灰度值等交互功能,包括初始化窗口的不同方式,以及通过特定事件添加相应... 目录前言初始化窗口添加图像缩放功能添加图像平移功能添加实时显示灰度值功能示例代码总结最后前言本文将

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中,我们经常会遇到这样的情况:一不小心,桌面上的某个重要文件被删除了。这时,大多数人可能会感到惊慌失措,不知所措。 其实,不必过于担心,因为有很多方法可以帮助我们找回被删除的桌面文件。下面,就让我们一起来了解一下这些恢复桌面文件的方法吧。 一、使用撤销操作 如果我们刚刚删除了桌面上的文件,并且还没有进行其他操作,那么可以尝试使用撤销操作来恢复文件。在键盘上同时按下“C

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

Unity3D 运动之Move函数和translate

CharacterController.Move 移动 function Move (motion : Vector3) : CollisionFlags Description描述 A more complex move function taking absolute movement deltas. 一个更加复杂的运动函数,每次都绝对运动。 Attempts to

如何恢复回收站中已删除/清空的文件

回收站清空后如何恢复已删除的文件?是否可以恢复永久删除的文件?或者最糟糕的是,如果文件直接被删除怎么办?本文将向您展示清空回收站后恢复已删除数据的最佳方法。 回收站清空后如何恢复已删除的文件? “回收站清空后我还能恢复已删除的文件吗?” 答案是肯定的,但是在这种情况下您将需要一个  回收站恢复工具 来从回收站中检索文件: 错误/永久删除回收站或任何数字存储设备中的文件 直接删除的文件/

Verybot之OpenCV应用一:安装与图像采集测试

在Verybot上安装OpenCV是很简单的,只需要执行:         sudo apt-get update         sudo apt-get install libopencv-dev         sudo apt-get install python-opencv         下面就对安装好的OpenCV进行一下测试,编写一个通过USB摄像头采