锐化空间滤波器--二阶微分图像增强(提高清晰度的另一种方式)

书上一阶微分的定义可以理解,毕竟这里不死数学上的曲线的概念,而是像素点上的曲线。所以,不同于数学的严格单调递增曲线的导数是大于等于零,这里的严格单调递增曲线,只能是大于零。

至于二阶微分的定义,就无法从一阶微分的定义得到:如果按照一阶微分的定义应该是

f''(x)=f(x+2)+f(x)-2f(x+1)。这就是说差了一个像素的平移,究竟会有影响吗?这需要从书上之后的使用情况来判断。

我观察了一下,后面是和滤波器连用了,使用的结果是这种定义确实是跟我说的定义有一个向左下平移的关系,我只能说这种定义书上的定义更符合滤波器(掩模)。

也可以得出结论,一阶微分和二阶微分的定义是相互独立的,不相关的。

现在看拉普拉斯算子。

书上需要个各向同性滤波器,使用了拉普拉斯算子的概念(我该怎么说这些概念呢?属于数学建模的想法,但只是借了数学的外皮,跟真正的数学内容相差太大,令人哭笑不得。不过认真想想感觉真的是个好方法,能把无穷小分析下的数学转化为离散的数学,并且概念能保持一致,这样数学中的能解决的问题,这里也能解决。)

所以拉普拉斯算子的概念,只是看看就行,本质还是3x3掩模的对成型,图3.39的a是旋转90重合,图3.39的b是旋转45重合.至于掩模的数值计算,书上说的很清楚了。

然后书上说拉普拉斯变换,强调灰度的突变区域及把灰度慢变化区域降低。这句话的实质是二阶微分算子的作用,我现在贴出来:

这个图3.38a可惜并没有画出来彩照,书上也没有说清楚b是怎么来的。我只能猜测这就是在图像的中心花了一条水平线,是图b的横轴,纵轴是灰度级。

对比上图的二阶微分算子和图像素的数值发现,对于图像某个区域内,像素灰度级的缓的斜坡,数值在二阶微分计算之后是降低了,突变的白点和亮线数值提升了,但是对于突变的阶梯数值处理感觉是有些问题,把这么亮的变暗了。

图像边界和突变点叠加到暗背景。突变点会变亮可以理解。边界应该是掩模漏出来的部分对像素值补零了,所以边界也会提亮。

叠加原图会得到锐化图像。

书上给出了计算方法,并且给说拉普拉斯图像在负值的时候会被修剪为0。然后提到了标定方式,我贴出来:

最后我说一下,为什么叠加拉普拉斯图像的芯图像会保留原来的灰度呢?因为拉普拉斯算子把原来图像变化缓慢的都变成了0,做了标定之后变成了灰色,然后减去呢?就把原来的变化缓慢的变暗了,但是原本正值的被减去的更多,总的来说就是图片变暗了,但是图片发灰的情形被去去除了,然后书上的图3.38的(e)是重复减了一次图(c),按理说应该整体上应该变得更暗一些。

这就是ps中的锐化了。本来我以为空间滤波器只会造成图像的信息丢失,但是这个锐化过程是做减法,而不是求均值(这里不是平滑线性滤波器,平滑会丢失细节,局部会模糊),那么信息就没有丢失。所以能提高清晰度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/809324.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS实战开发-图片编辑、使用 TextArea 实现多文本输入

介绍 本示例使用 TextArea 实现多文本输入,使用 ohos.app.ability.common 依赖系统的图库引用,实现在相册中获取图片,使用 ohos.multimedia.image 生成pixelMap,使用pixelMap的scale(),crop(),rotate()接口…

idea 中运行spring boot 项目报 Command line is too long的解决办法。

Command line is too long 在这里选择edit configures 选择shrten command line , 选择 jar manifest 运行即可。

解决vue启动项目报错:npm ERR! Missing script: “serve“【详细清晰版】

目录 问题描述问题分析和解决情况一解决方法情况二(常见于vue3)解决方法情况三解决方法 问题描述 在启动vue项目时通常在控制台输入npm run serve 但是此时出现如下报错: npm ERR! Missing script: "serve" npm ERR! npm ERR! T…

IJKPLAYER源码分析-iOS端显示

1 简介 1.1 EAGL(Embedded Apple Graphics Library) 与Android系统使用EGL连接OpenGL ES与原生窗口进行surface输出类似,iOS则用EAGL将CAEAGLLayer作为OpenGL ES输出目标。 与 Android EGL 不同的是,iOS EAGL 不会让应用直接向 BackendFrameBuffer 和 F…

KKVIEW远程远程访问家里电脑

远程访问家里电脑:简易指南与价值所在 在数字化时代,电脑已成为我们日常生活和工作中不可或缺的工具。有时,我们可能在外出时急需访问家中电脑里的某个文件或应用,这时,远程访问家里电脑就显得尤为重要。本文将简要介…

微服务-7 Docker

一、镜像、容器、仓库 容器是镜像的实例,仓库中存储着镜像。 二、镜像的操作 三、容器的操作 创建容器停止容器,查看后发现没有了(docker ps 默认只展示没有停止的) docker ps -a (可以展示运行中和停止的镜像)删除容器:(docker rm 不能删除…

突破界限 千视将在 NAB 2024 展会上展示领先的 AV over IP 技术

突破界限!千视将在 NAB 2024 展会上展示领先的 AV over IP技术 作为AV over IP领域的先驱者,Kiloview将于2024年4月14日至17日在NAB展会(展台号:SU6029)隆重登场,展示我们领先业界的AV over IP产品、解决方…

【问题】解决1130-Host‘ ‘is not allowed to connect to this MySQL 本地无法连接服务器的数据库

【问题】解决1130-Host‘ ‘is not allowed to connect to this MySQL 本地无法连接服务器的数据库 原因: 默认mysql只允许 localhost 本地访问数据库, 解决方法 将 localhost 改为 % 所有 第一步 回车 输入密码 mysql -u root -p 第二步 切换数据库 use mysql 第三步 更新所…

Day96:云上攻防-云原生篇Docker安全系统内核版本漏洞CDK自动利用容器逃逸

目录 云原生-Docker安全-容器逃逸&系统内核漏洞 云原生-Docker安全-容器逃逸&docker版本漏洞 CVE-2019-5736 runC容器逃逸(需要管理员配合触发) CVE-2020-15257 containerd逃逸(启动容器时有前提参数) 云原生-Docker安全-容器逃逸&CDK自动化 知识点&#xff1…

Ubuntu下配置Android NDK环境

Android-NDK的下载 下载Android-NDK wget -c http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin 执行bin文件(即解压) ./android-ndk-r10c-linux-x86_64.bin Android-NDK的配置 要想使用Android-NDK,还需要进行环境变量…

GitHub repository - Code - Issues - Pull Requests - Wiki

GitHub repository - Code - Issues - Pull Requests - Wiki 1. Code2. Issues3. Pull Requests4. WikiReferences 1. Code 显示该仓库中的文件列表。仓库名下方是该仓库的简单说明和 URL. 2. Issues 用于 BUG 报告、功能添加、方向性讨论等,将这些以 Issue 形式进…

less+rem适配+媒体查询布局(主流)

rem适配布局 一.rem基础二.媒体查询1.概念2.语法(1).mediatype查询类型(2).关键字(3).媒体特性(4).应用 3.媒体查询rem实现元素动态大小变化4.引入资源(针对不同媒体查询…

JSONP是跨域资源共享的古老技术吗

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

前端和后端解决跨域问题的方法

目前很多java web开发都是采用前后端分离框架进行开发,相比于单体项目容易产生跨域问题。 一、跨域问题CORS 1.什么是跨域问题? 后端接收到请求并返回结果了,浏览器把这个响应拦截了。 2.跨域问题是怎么产生的? 浏览器基于同源…

spring boot 集成rocketMq + 基本使用

1. RocketMq基本概念 1. NameServer 每个NameServer结点之间是相互独立,彼此没有任何信息交互 启动NameServer。NameServer启动后监听端口,等待Broker、Producer、Consumer连接, 相当于一个路由控制中心。主要是用来保存topic路由信息&#…

ETL中如何运用好MQ消息集成

一、ETL的主要作用 ETL(Extract, Transform, Load)是数据仓库中的关键环节,其主要作用是将数据从源系统中抽取出来,经过转换和清洗后加载到数据仓库中。具体而言: Extract(抽取):从…

Ubuntu 安装Java、Git、maven、Jenkins等持续集成环境

Ubuntu 持续集成 安装OpenJdk 查看所有可安装的 JDK 版本 apt list OpenJDK\*使用 apt 安装 JDK(以 11为例),最好是用11,java8对应的jenkins会有兼容问题。 sudo apt install openjdk-11-jdk openjdk-11-jre安装成功后,可以使用以…

WS2812B彩灯

目录 1、介绍 2、参数 3、引脚功能 4、应用电路 5、Code 1、介绍 WS2812是一种智能控制LED灯源,集成了控制电路和RGB芯片在一个5050封装组件中。它的主要特点和技术规格如下: 集成设计:WS2812将控制电路和RGB芯片集成在同一个封装中&…

软考高级架构师:数据库模式概念和例题

一、AI 讲解 数据库模式分为三个层次:外模式、概念模式和内模式。这三个层次分别对应不同的抽象级别,帮助数据库管理员和用户以不同的视角理解数据库结构。 外模式(用户级):是数据库用户的视图。每个用户可以通过外模…

HarmonyOS NEXT应用开发—在Native侧实现进度通知功能

介绍 本示例通过模拟下载场景介绍如何将Native的进度信息实时同步到ArkTS侧。 效果图预览 使用说明 点击“Start Download“按钮后,Native侧启动子线程模拟下载任务Native侧启动子线程模拟下载,并通过Arkts的回调函数将进度信息实时传递到Arkts侧 实…