与窗口大小无关的图像滤波算法

2023-11-17

         问题:一幅24位彩色图像,其上有一些红色区域。这些区域都是相连的。为了将图像中红色且相连的部分分离出来,使用如下算法:对单个像素进行判断,若满足R-10>G且R-10>B,那么就认为该像素呈红色。

         因为图像原因,可能在某个位置孤立的单个像素也满足上述条件。所以,既要考虑颜色因素又要考虑相邻因素。于是使用以下滤波算法:对于每个像素,取一个m×m的窗口,该像素位于窗口中心。对于该窗口内的所有像素,进行上述的条件判断。若该像素呈红色,则计数+1,否则不加。若最终累加结果超过窗口大小的1/2,那么就认为该像素满足条件。

 

         实践证明,上述滤波算法可以很好地将红色连续区域提取出来。但是,由于对每个像素都要进行一次窗口滤波,以100×100的图像为例,其中有10000个像素,若取滤波窗口为3,则窗口内像素有9个,要进行90000次比较。窗口若为9,则要进行810000次比较。其时间复杂度随窗口指数增加。因此窗口越大,其速度越慢。

 

         为了改善上述情形,采取以下方法:

①  构造一个跟图像像素一一对象的二维int数组,默认值为0。然后对图像的每个像素进行颜色判断,若呈红色,则将相应的int数组值设为1。

②  申请一个新的二维数组,其大小与原二维数组相同。对于原二维数组,对每一个值,将其左侧,包括自身在内的所有数进行累加,然后加上上侧相邻的数值,最后得出的结果设置在新二维数组对应的值中。这样,新的二维数组每个点的值就是其左上角区域中呈红色像素的总数。

③  滤波时,对新二维数组取一个窗口rect,其滤波值为:rect.RB –rectRT-rectLB+rectLT。这样,就可以求出窗口内红色像素的个数。

 

         使用上述滤波算法,其时间复杂度始终恒定,与窗口大小无关。

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

与窗口大小无关的图像滤波算法 的相关文章

  • OpenGL加速渲染:顶点数组

    加速渲染主要有两种方法 显示列表与顶点数组 其中 显示列表是通过预编译方式加速 而顶点数组是通过优化实时编译方式加速 但是 不需要同时使用两种加速方式 如果把顶点数组放在预编译中 然后通过显示列表来显示 这样做所耗时间与直接使用顶点数组所耗
  • 【图像处理】【图像去模糊】 总结

    本人最近由于做相关去卷积工作 查阅了上百篇文献 发现在这个领域 可能也是 水太深 了 并没有一篇较好的综述 现在做以下总结 只对高斯与散焦模糊的非盲去卷积领域 对于运动模糊并未做总结 但实际上除了点扩散函数的估计有区别 实际上这三类去模糊甚
  • Batch Normalization(BN)超详细解析

    单层视角 神经网络可以看成是上图形式 对于中间的某一层 其前面的层可以看成是对输入的处理 后面的层可以看成是损失函数 一次反向传播过程会同时更新所有层的权重W1 W2 WL 前面层权重的更新会改变当前层输入的分布 而跟据反向传播的计算方式
  • Python打开图像始终提示错误error:(-215) size.width>0 && size.height>0

    用Python打开图像始终提示错误 cv2 error C projects opencv python opencv modules highgui src window cpp 331 error 215 size width gt 0
  • 图像I、B、P帧介绍

    I p b 帧 I帧 帧内编码帧 尽可能去除图像空间冗余信息来压缩传输数据量的帧内编码图像 P帧 前向预测编码帧 通过充分将低于图像序列中前面已编码帧的时间冗余信息来压缩传输数据量的编码图像 也叫预测帧 B帧 双向预测内插编码帧 既考虑与源
  • 高通、低通、带通 三种滤波器的工作原理

    滤波 视频讲解 图片来源视频 滤波是将信号中特定波段频率滤除 得到想要的频率信号的操作 是抑制和防止干扰的一项重要措施 滤波器主要有低通滤波器 高通滤波器和带通滤波器3种 按照电路工作原理又可分为无源和有源滤波器2大类 按照电容电感数量和滤
  • C/C++从源码到可执行程序的过程

    C C 源码生成平台下的可执行文件 需要经过3个步骤 预处理 编译 链接 1 预处理 将宏 条件编译指令 头文件包含等指令进行展开 也就是说 这是一个代码替换的工作 C C 源码经预处理后 不再存在各种宏指令 但展开后依然是代码的形式 是人
  • 实时脑波和眼动连通性分析 python-(3)

    实时提取脑波的delta theta alpha beta 对于baseline的比率差 import os import pandas as pd import numpy as np def mkdir path 3 folder os
  • 转载之remosaic

    一 Quadra CFA 介绍 Quadra CFA Quadra Color Filter array 功能提高了在弱光条件下的性能和信噪比 此功能在弱光条件下提供明亮和清晰的图像 在正常光照条件下提供高分辨率图像 Quadra CFA有
  • 感性工学

    感性工学是为了消费者情感的满足而进行调查分析的 对分析的定性数据进行解释和定量化 即规范化 目的是为设计师和工程师实现情感设计 感性工程是指将人类定性的情感转化为定量数据化 以便工程师在设计中得到应用 具体化为产品的格式 例如 如果消费者想
  • 情感理论-emotion theory

    情感理论是一种用于情感研究大量方法 主要基于认知心理学 cognitive psychology 得益于学习理论 learning theory 生理心理学 physiological psychology 临床心理学 clinical p
  • 苹果电脑上几款不错的cad绘图软件

    说起3cad绘图 很多人第一反应就是AutoCAD AutoCAD是一款用于Mac平台上的二维绘图 详细绘制 设计文档和基本三维的设计软件 现已经成为国际上广为流行的绘图工具 除了AutoCAD以及lt以外 还有不错的cad绘图软件 下面的
  • 【图像】焦距与景深的关系

    在光圈恒定 被摄物体在取景框内大小恒定的前提下 焦距与景深成反比关系 即焦距越长 景深越浅 反之亦然 当焦距越长时 成像的前虚后实 即浅景深 效果会越明显 被摄物清晰但周围环境模糊 当焦距越短时 成像的前虚后实 即深景深 效果会越小 被摄物
  • 完成U-net细胞分割的一些准备

    使用本地上传文件 from google colab import files uploaded files upload for fn in uploaded keys print User uploaded file name with
  • CData API Server全面且文档完整的API

    CData API Server全面且文档完整的API 使用现有业务信息创建API 连接到任何SQL以及NoSQL数据库以及API服务器 都会立即生成灵活 全面且文档完整的API 发现数据集成的潜力 API服务器API服务器提供了在企业AP
  • MATLAB实现滑动平均滤波法的实例(移动平均滤波器)

    原始信号 0 03 1 46 0 26 0 47 1 46 0 06 0 47 1 27 0 15 0 47 1 47 0 01 0 47 1 27 0 17 0 63 1 37 0 15 0 88 1 07 0 25 0 88 1 27
  • unity地形之splatalpha研究 地形贴图导出更换与绘制

    unity中的地图贴图的绘制常常使用的是paint texture里面的 但是这个方式往往费时很多 却只能做出很少的效果 这里要介绍的就是通过外部绘制splatalpha 来替换 达到unity中地形更强的效果 使用软件基本有worldma
  • OpenGL加速渲染:显示列表glGenLists

    在OpenGL中 可能要用非常多的点 线 面来构成一幅图 若进行实时渲染 无疑对显示效率有非常大的影响 比如要画几百万个三角形 那么很可能旋转一下图片需要响应很久 为了加速渲染 可以将需要绘制的部分放在显示列表glGenLists中 每一个
  • 用户变量与系统变量的区别

    用户变量仅对当前用户生效 若有其他用户登录 对其无效 系统变量对所有用户生效 其中 引用已经设置的其他环境变量 使用 变量名 如 MyJAVA PATH C JAVA TheBin MyJAVA PATH Bin 那么 TheBin实际为
  • 相机 - 02 图像处理isp

    isp 知识 1 基本概念 1 1 isp 模块简介 参考 1 基本概念 图像处理流程图 1 光线 gt lens gt sonsor gt 光电转换 gt A D gt bayer pattern gt isp gt I O bayer

随机推荐

  • 查验身份证 C语言

    碎碎念念 这道题很坑 注意这里的权重是直接乘上去 一开始我乘的是百分之几 死活不知道哪里有问题 后来把一百乘上去 就对了 代码 include
  • 计算机网络第一章课后习题

    1 14 计算机网络有哪些常用的性能指标 速率 带宽 吞吐量 时延 时延带宽积 往返时间RTT 利用率 1 17 收发两端之间的传输距离为1000km 信号在媒体上的传播速率为2 x 10 8 m s 试计算以下两种情况的发送时延和传播时延
  • Android 开发中 Kotlin Coroutines 如何优雅地处理异常

    一 尽量少用 GlobalScope GlobalScope 是 CoroutineScope 的实现类 我们以前使用过的 launch async 函数都是 CoroutineScope 的扩展函数 GlobalScope 没有绑定任何
  • 为 Excalidraw 添加手写中文字体

    Excalidraw目前支持手写英文 不支持手写中文 导致画出的图不好看 那么 如何添加手写中文字体呢 准备一个手写中文字体 然后上传到一个存储位置 可以访问的地方 或者本地静态服务器 获取到一个可访问连接 可以放到云服务器上 可以放到Gi
  • 解决maven clean 报错 Process terminated

    设置一下maven
  • QT表格控件实例(Table Widget 、Table View)

    欢迎小伙伴的点评 相互学习 博主 本着开源的精神交流Qt开发的经验 将持续更新续章 为社区贡献博主自身的开源精神 文章目录 前言 一 图示实例 二 列表常用成员解析 三 代码实例解析 UI设计如下 mainwindow h main cpp
  • 使用Rest API设计简单的博客网站

    博客根地址 https mygithub com 对于每个用户自己的博客网站都在这个根地址后加url信息 使用Rest API进行设计 在这里设计如下API https mygithub com username articles http
  • python解释器的安装与配置

    目录 1 Python解释器安装配置 2 Python环境变量设置 3 Python解释器多个版本共存 1 Python解释器安装配置 python解释器是能够解释执行 Python代码的程序 它可以解析和执行 Python 程序 首先前往
  • c#之构造函数和析构函数

    如有错误 欢迎指正
  • 【五一创作】某头条参数破解并实现界面化搭建

    某条参数破解并实现界面化搭建 前言 效果展示 难点 参数逆向破解 signature ac signature s v web id 界面化实现 总结 前言 趁着日常闲余时间 想着搞一搞某条的反爬 练练手 想到自己很久没开发过前端界面了 有
  • JAVA线程 -- wait notify notifyAll

    在通常的代码中实现线程互斥用的较多的是synchronized synchronized this 与synchronized static Object 的区别 synchronized就是针对内存区块申请内存锁 this关键字代表类的一
  • Apache+PHP+MySQL环境搭建超详细!!!

    前言 最近在学习PHP语言 整理了一下关于环境搭建的部份 也可以选择集成环境会更方便 自己搭建环境会更好的理解原理 适合初学者 会持续更新哟 确定服务器的VC版本 一定要看 避免后面的错误 版本不一致会导致Apache在加载php包的时候出
  • AcWing 378. 骑士放置(最大独立集&&匈牙利算法)

    输入样例 2 3 0 输出样例 4 解析 题意为求最大独立集 即为总点数 最小点覆盖 include
  • 逆序输出数组元素

    题目描述 从键盘上输入10个整数 存储在一个长度为10的整型数组中 要求将输入的10个数逆序输出 如输入为 0 1 2 3 4 5 6 7 8 9 输出为 9 8 7 6 5 4 3 2 1 0 输入 10个整数 以空格分隔 输出 将输入的
  • Linux定时同步时间、定时任务、crontab

    Linux定时同步时间 定时任务 crontab 1 安装ntp 2 手动同步 3 确定服务器是否开启定时任务计划服务 4 创建 修改 删除定时任务 5 查看定时任务 6 查看定时任务的执行情况 7 定时任务备份恢复 8 停止crontab
  • RAC 网路结构 network

    Reliable Data Socket 协议配置Oracel Clusterware 的通信方式 默认使用的是UDP协议 在windows平台上默认使用TCP IP协议进行通信 用户不能使用内联网络与数据库进行通信 因为Cache Fus
  • 基于C#的数据库文件管理助手

    我们经常会遇到这样的问题 在数据库中的文件存放的是web格式或者是绝对路径 以及使用的是百度上传或者其他上传组件 造成了很多异步上传的冗余文件 如果客户需要我们导出企业官网中的产品图片 我们该如何处理 很简单 当然是自己写个工具来读取 然后
  • obsidian memos插件iphone端无法读取memos

    首先看periodic或者daily插件有没有问题 其次看dateview插件是否达到要求的0 5 9以上 如果是手机端不行但电脑端可以的话一般来说插件配置是没问题的 除非手机app有哪里不兼容 都没有问题的话可能是 memos插件在手机上
  • CMake中cmake_minimum_required的使用

    CMake中的命令cmake minimum required用于设定需要的最低版本的CMake 其格式如下 cmake minimum required VERSION
  • 与窗口大小无关的图像滤波算法

    问题 一幅24位彩色图像 其上有一些红色区域 这些区域都是相连的 为了将图像中红色且相连的部分分离出来 使用如下算法 对单个像素进行判断 若满足R 10 gt G且R 10 gt B 那么就认为该像素呈红色 因为图像原因 可能在某个位置孤立