ImageJ图像滤波基础

文章目录

    • 滤波
    • 简单滤波器
    • 卷积滤波
    • Unsharp Mask
    • Top Hat

ImageJ系列:安装与初步💎灰度图像处理

滤波

预设滤波器

ImageJ的Process菜单提供了诸多图像滤波器,其中大部分方法均可定制参数,但也提供了一些已经预设参数的处理方法。

  • Smooth 3 × 3 3\times3 3×3平滑滤波,将每个像素替换为其 3 × 3 3\times3 3×3邻域的平均值。
  • Sharpen 3 × 3 3\times3 3×3锐化滤波,将每个像素替换为3×3邻域的加权平均值
  • Find Edges 3 × 3 3\times3 3×3Sobel边缘检测器。

效果如下

在这里插入图片描述

简单滤波器

ImageJ中的大部分滤波器,都在Process->Filters的子菜单中。其中,下面这几种滤波器只需输入一个模板参数

  • Gaussian Blur 高斯滤波,输入参数为高斯函数的标准差。
  • Median 中值滤波,用相邻像素的中值替换当前像素
  • Mean 均值滤波,用邻域平均值替换当前像素
  • Minimum 最小值滤波,用邻域像素最小值来替换当前像素
  • Maximum 最大值滤波,用邻域像素最大值来替换当前像素
  • Variance 方差滤波,用邻域像素方差来替换当前像素

这些滤波函数中,除了Variance用于边缘提取之外,其他滤波器均用作降噪或者平滑,下面取设参数为5,滤波效果如下

在这里插入图片描述

点击Filters->Show Circular Masks,可以查看不同滤波半径所作用的邻域范围。

由于我们处理的是RGB图像,而这些滤波函数针对R, G, B三个通道执行相同的滤波操作,所以最后得到的结果可能会比较怪异,相比之下,单一通道的灰度图像或许会更效果明显一些。

此外,这几个滤波器均提供了3D版本,即不仅局限于单个通道,其邻域的概念扩展到不同通道,并且针对不同坐标轴,允许设置不同的滤波半径。

卷积滤波

对于高斯滤波和均匀滤波来说,其运算过程是通过卷积实现的。例如, 3 × 3 3\times3 3×3的均匀滤波,其卷积模板为

[ 1 / 9 1 / 9 1 / 9 1 / 9 1 / 9 1 / 9 1 / 9 1 / 9 1 / 9 ] \begin{bmatrix} 1/9&1/9&1/9\\ 1/9&1/9&1/9\\ 1/9&1/9&1/9 \end{bmatrix} 1/91/91/91/91/91/91/91/91/9

Filters的子菜单中也提供了卷积滤波Convolve,默认的卷积模板可用作边缘提取

[ − 1 − 1 − 1 − 1 − 1 − 1 − 1 − 1 − 1 − 1 − 1 − 1 24 − 1 − 1 − 1 − 1 − 1 − 1 − 1 − 1 − 1 − 1 − 1 − 1 ] \begin{bmatrix} -1&-1&-1&-1&-1\\ -1&-1&-1&-1&-1\\ -1&-1&24&-1&-1\\ -1&-1&-1&-1&-1\\ -1&-1&-1&-1&-1 \end{bmatrix} 11111111111124111111111111

效果如下

在这里插入图片描述

Unsharp Mask

这是个边缘增强滤波工具,原理是从原始图像中减去高斯模糊版后的图像,有两个参数

  • Radius:高斯模糊的标准偏差
  • Mask Weight:确定过滤强度,值越大,减去的高斯滤波的权重就越大。取值为0时,就是原图。

下图是权重为0.9时的滤波效果。

在这里插入图片描述

Top Hat

顶帽滤波,是一种形态学滤波方法。所谓形态学滤波,包含开/闭两种基础的运算,顶帽滤波等于原图减去开运算;而原图减去原图减去闭运算则称作底帽滤波,或者黑帽滤波。具体含义可参考:python图像处理之形态学梯度、礼帽、黑帽

当选中Light Background时,其滤波效果如下

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

博易大师智星系统外盘资管系统的功能介绍!

1. 市场行情数据接收和显示:软件需要接收实时的市场行情数据,并将其以图形或数字的形式显示出来,包括价格、成交量、成交额等信息。 2. 交易操作界面:软件需要提供一个交易操作界面,供用户进行交易操作,包括…

少走十年弯路!!!webpack详解

webpack是什么?? 本质上,webpack 是一个用于现代 JavaScript 应用程序的 静态模块打包工具。当 webpack 处理应用程序时,它会在内部从一个或多个入口点构建一个 依赖图(dependency graph),然后将你项目中所需的每一个模…

sql_lab之sqli中的搜索型注入

搜索型注入 原理是运用模糊查询: select * from users where username like %a% 1.找到具有模糊查询的搜索框的注入点 2.构造闭合 因为模糊查询的代码是 select * from users where username like %a% 所以应该 鱼%’ -- s 判断构造闭合的函数是否正确 鱼%…

Spring Boot3 Web开发技术

前期回顾 springboot项目常见的配置文件类型有哪些?哪种类型的优先级最高 yml properties yaml 读取配置文件里的数据用什么注解? value restful风格 RESTful 风格与传统的 HTTP 请求方式相比,更加简洁,安全,能隐…

成为小leader后,最大的感受就是:领导真的更偏爱主动汇报的下属!

* 你好,我是前端队长,在职场,玩副业,文末有福利! 有些朋友在职场,可能会陷入一个误区,觉得我们的付出,领导都能看到。这就大错特错了,很简单,打个比方,你有10…

MySQL数据库——InnoDB引擎-逻辑存储结构(表空间、段、区、页、行)

目录 表空间 段 区 页 行 之前我们初步介绍过InnoDB引擎的逻辑存储结构,如下图所示: 下面来对其每个组成部分详细了解: 表空间 表空间是InnoDB存储引擎逻辑结构的最高层, 如果用户启用了参数 innodb_file_per_table(在 …

Python - 深夜数据结构与算法之 Divide Conquer Backtrack

目录 一.引言 二.分治与回溯简介 1.Divide & Conquer 分治 2.BackTrack 回溯 三.经典算法实战 1.Combination-Of-Phone [17] 2.Permutations [46] 3.Permutations-2 [47] 4.Pow-X [50] 5.N-Queen [51] 6.Combinations [78] 7.Sub-Sets [78] 8.Majority-Elemen…

如何修复无法读取的U盘,修复U盘的方法

无法读取U盘是常见的故障,可能的原因有很多,例如U盘驱动器问题、文件系统损坏、电脑USB接口问题等。本文将详细分析这些原因,并提供相应的解决方法,帮助用户解决无法读取U盘的问题。 如何修复无法读取的U盘,修复U盘的方…

Python - 深夜数据结构与算法之 Recursion

目录 一.引言 二.递归的简介 1.Recursion 递归 2.Factorial 阶乘 3.Template 模版 三.经典算法实战 1.Generate-Parentheses [22] 2.Climbing-Stairs [70] 3.Is-Valid-BST [98] 4.Max-Depth [104] 5.Construct-Binary-Tree [105] 6.Min-Depth [111] 7.Invert-Tree…

DML语言(重点)———update

格式:update 要修改的对象 set 原来的值新值 -- 修改学员名字,带了简介 代码案例: -- 修改学员名字,带了简介 UPDATE student SET name清宸 WHERE id 1; -- 不指定条件情况下,会改动所有表! 代码案例…

@click 默认传递原生的事件对象

项目场景 [Day1] <template><div id"app"><h1>小黑记事本</h1><button click"handleClick">www</button><div class"head"><!-- 按键&#xff08;回车&#xff09;按下&#xff0c;出发add事件&…

适合引流源码声音鉴定神器网站源码,轻松吸引用户关注

源码介绍 声鉴卡HTML5网页源码&#xff0c;完整可运转&#xff0c;调用wx录音&#xff0c;自动判断声音属性&#xff0c;输出结果 安装教程 只需要把源码上传至主机空间就可以 支持上传二级目录访问&#xff01;提示一下&#xff1a;wxvx打开效果是最佳的源码里面生成二维码…

TIA博途中临时变量Temp的基本概念解析

TIA博途中临时变量Temp的基本概念解析 TEMP&#xff08;临时变量&#xff09;的概念是这样的。 每一个OB&#xff0c;FB&#xff0c;FC都可以声明Temp临时变量。 它们仅是在被调用时&#xff0c;由操作系统&#xff0c;根据块声明&#xff0c;临时分配的内存空间。该块结束时…

RTOS_WDS

2023/12/25重启韦东山老师RTO 韦东山freeRTOS快速入门视频教程 P2 2-1堆的概念 堆 char heap_buf[1024]; int pos 0;void *my_malloc(int size) {int old_pos pos;pos size;return &heap_buf[old_pos]; }void my_free(void *buf) {/* err */ }int main(void) {char ch…

Linux操作系统基础知识点

Linux是一种计算机操作系统&#xff0c;其内核由林纳斯本纳第克特托瓦兹&#xff08;Linus Benedict Torvalds&#xff09;于1991年首次发布。Linux操作系统通常与GNU套件一起使用&#xff0c;因此也被称为GNU/Linux。它是一种类UNIX的操作系统&#xff0c;设计为多用户、多任务…

Linux文件编程

目录 1、Linux系统提供的文件编程API 1.1打开文件&#xff1a;open 1.2创建文件creat函数 1.3写入文件write函数 1.4读取文件read函数 1.5文件光标位置lseek函数 2、另外一组文件编程API 2.1文件打开函数fopen 2.2读文件函数fread 2.3写文件函数fwrite 2.4文件光标位…

Hive04_DDL操作

Hive DDL操作 1 DDL 数据定义 1.1 创建数据库 CREATE DATABASE [IF NOT EXISTS] database_name [COMMENT database_comment] [LOCATION hdfs_path] [WITH DBPROPERTIES (property_nameproperty_value, ...)];[IF NOT EXISTS] &#xff1a;判断是否存在 [COMMENT database_c…

【回溯】n皇后问题Python实现

文章目录 [toc]问题描述问题转换回溯法时间复杂性Python实现 个人主页&#xff1a;丷从心 系列专栏&#xff1a;回溯法 问题描述 有一批共 n n n个集装箱要装上 2 2 2艘载重量分别为 c 1 c_{1} c1​和 c 2 c_{2} c2​的轮船&#xff0c;其中集装箱 i i i的重量为 w i w_{i} w…

多重断言插件之pytest-assume的简单使用

背景&#xff1a; pytest-assume是Pytest框架的一个扩展&#xff0c;它允许在单个测试用例中多次断言。通常情况下&#xff0c;当一个断言失败时&#xff0c;测试会立即停止执行&#xff0c;而pytest-assume允许我 们继续执行剩余的断言&#xff0c;以便查看更多的失败信息。…

C# WPF上位机开发(windows pad上的应用)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 大部分同学可能都认为c# wpf只能用在pc端。其实这是一种误解。c# wpf固然暂时只能运行在windows平台上面&#xff0c;但是windows平台不仅仅是电脑…