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

相关文章

Mybatis 传参与排序模糊查询功能实现

《Mybatis传参与排序模糊查询功能实现》:本文主要介绍Mybatis传参与排序模糊查询功能实现,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、#{ }和${ }传参的区别二、排序三、like查询四、数据库连接池五、mysql 开发企业规范一、#{ }和${ }传参的

使用Python实现网络设备配置备份与恢复

《使用Python实现网络设备配置备份与恢复》网络设备配置备份与恢复在网络安全管理中起着至关重要的作用,本文为大家介绍了如何通过Python实现网络设备配置备份与恢复,需要的可以参考下... 目录一、网络设备配置备份与恢复的概念与重要性二、网络设备配置备份与恢复的分类三、python网络设备配置备份与恢复实

MySQL使用binlog2sql工具实现在线恢复数据功能

《MySQL使用binlog2sql工具实现在线恢复数据功能》binlog2sql是大众点评开源的一款用于解析MySQLbinlog的工具,根据不同选项,可以得到原始SQL、回滚SQL等,下面我们就来... 目录背景目标步骤准备工作恢复数据结果验证结论背景生产数据库执行 SQL 脚本,一般会经过正规的审批

通过ibd文件恢复MySql数据的操作方法

《通过ibd文件恢复MySql数据的操作方法》文章介绍通过.ibd文件恢复MySQL数据的过程,包括知道表结构和不知道表结构两种情况,对于知道表结构的情况,可以直接将.ibd文件复制到新的数据库目录并... 目录第一种情况:知道表结构第二种情况:不知道表结构总结今天干了一件大事,安装1Panel导致原来服务

使用Python开发一个图像标注与OCR识别工具

《使用Python开发一个图像标注与OCR识别工具》:本文主要介绍一个使用Python开发的工具,允许用户在图像上进行矩形标注,使用OCR对标注区域进行文本识别,并将结果保存为Excel文件,感兴... 目录项目简介1. 图像加载与显示2. 矩形标注3. OCR识别4. 标注的保存与加载5. 裁剪与重置图像

MySQL InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据

《MySQLInnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据》mysql的ibdata文件被误删、被恶意修改,没有从库和备份数据的情况下的数据恢复,不能保证数据库所有表数据... 参考:mysql Innodb表空间卸载、迁移、装载的使用方法注意!此方法只适用于innodb_fi

mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据

《mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据》文章主要介绍了如何从.frm和.ibd文件恢复MySQLInnoDB表结构和数据,需要的朋友可以参... 目录一、恢复表结构二、恢复表数据补充方法一、恢复表结构(从 .frm 文件)方法 1:使用 mysq

mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespace id不一致处理

《mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespaceid不一致处理》文章描述了公司服务器断电后数据库故障的过程,作者通过查看错误日志、重新初始化数据目录、恢复备... 周末突然接到一位一年多没联系的妹妹打来电话,“刘哥,快来救救我”,我脑海瞬间冒出妙瓦底,电信火苲马扁.

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

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

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

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