技术标签: 图像处理
1.概述
很多人提出了各种中值滤波的快速算法,其共同特点是只考虑滑动窗口中移入和移出的数据,避免了传统算法中因排序所需的大量数据比较,从而较大地提高了速度。本文从另一个角度提出了一种快速算法,考虑的对象是单个滑
动窗内的像素。具体步骤如下:
(1)
上步骤,取完为止。
(2)
(3)
(4)
大这个数(Right>Left )情况下分析类似 。
(5)
流程图如下:
2 调试
2. 1 中值滤波快速算法
测试结果:
根据测试,处理同样一副椒盐噪声图像,与一般的中值滤波方法相比,采用3*3的滤波窗口,本文的中值滤波的快速算法在时间上大约可以缩短一半,而对于更大的滤波窗口来说,窗口越大采用本文的方法实验结果越明显。由此可见,本中值滤波在实际应用中可以更为快速的解决问题。
椒盐噪声图像滤波:
CCS代码:
#include
#include
#include"IMG_thr_le2min.h"
#define IMAGEWIDTH
#define IMAGEHEIGHT 256
#define Uint8
unsigned char grey[IMAGEHEIGHT][IMAGEWIDTH];
void ReadImage(char *cFileName);
void bmpDataPart(FILE* fpbmp);
void fastmiddle();
Uint8 GetMedianLocalSort(Uint8 *array,Uint8 length,Uint8 index,int type);
void main()
{
}
void ReadImage(char *cFileName)
{
}
void bmpDataPart(FILE* fpbmp)
{
}
void fastmiddle()
{
}
Uint8 GetMedianLocalSort(Uint8 *array,Uint8 length,Uint8 index,int type)
{
if(type==2)
}
文章浏览阅读841次。 什么是虚拟化3.0时代? 微软公司的云计算服务有哪些? 云计算IDC服务都包括什么? 什么是云计算? 向私有云过渡的步骤有哪些?一直舍不得丢掉的东西:“一(个)白云、三(个)兔子...” 和“...早日发账”(写于2011年12月10日00:17 北京)今天这个话题比较有感觉,就晒一晒我舍不得的两件东西:“一(个)白云、三(个)兔子...” 和“
文章浏览阅读2w次,点赞17次,收藏97次。一、滚轮控制视角缩放 /// <summary> /// 滚轮控制相机视角缩放 /// </summary> public void CameraFOV() { //获取鼠标滚轮的滑动量 float wheel = Input.GetAxis("Mouse ScrollWheel&am_unity 相机 平移 拖拽 缩放
文章浏览阅读280次,点赞6次,收藏4次。目录1、题目2、思路13、代码14、思路25、代码21、题目给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1中,使 nums1 成为一个有序数组。初始化 nums1 和 nums2的元素数量分别为 m 和n。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2的元素。示例 1:输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3输出:[1,2,2,3,5,6]_力扣22 c++
文章浏览阅读139次。《一个很不错的CSS改写的大表单文本框和搜索按钮组》要点:本文介绍了一个很不错的CSS改写的大表单文本框和搜索按钮组,希望对您有用。如果有疑问,可以联系我们。先看效果图:HTML代码部分:开始爬取CSS部分:/*大搜索框*/.searchInputBox{height:62px;width:810px;margin:0auto;border-radius:6px;background-..._css 好看 文本框
文章浏览阅读3.4k次。描述:通过你好来判断hello是否启用和禁止html:<li> <span class="xin">*</span><label>你好</label> <select id="dimAcc"> <option >类似</option> ..._select下拉框启用和禁止
文章浏览阅读988次,点赞29次,收藏21次。前言之前面试遇到这样一个题目。关于async/await、promise和setTimeout的执行顺序,当时没做对。后来查了查是非常经典的题目。也给大家解疑答惑一下,说出自己的理解。题目是看代码写结果。async function async1() { console.log('async1 start'); await async2(); console.log('asnyc1 end');}async function async2() { console.log('async2_js执行顺序console.log('script start') async function async1() { await async2
文章浏览阅读912次。一、前言上一节我们介绍了:vs code工具的一些特殊使用,使用vs code默认集成的Git工具快速提交代码,详细可参考博文:原创Vue笔记整理,11.项目-使用vs code默认集成的Git工具快速提交代码这篇我们将介绍项目-完成tabbar的小图标设置二、完成tabbar的小图标设置更新中。。。..._tab-bar设置图标
文章浏览阅读109次。第一节 Make与MakefileMake简介Make将只编译改动的代码文件,而不用完全编译Make使用Makefile1:Make只能读取Makefile文件2:Makefile功能包含’由谁生成’可执行文件,‘怎么生成可执行文件’.‘生成什么可执行文件’Makefile格式生成什么:由谁生成 <table> commandMakefile隐含规则第二节 创建与使用变量Make变量(变量必须大写)去""的字符串Make变量为了便_d4文件
文章浏览阅读702次。MVVM的大名相信做手机开发的肯定不会陌生,我第一次听到它是从做IOS开发的同学那里听到的,我们的项目之前应用了MVP,要说服大家从MVP到MVVM,肯定得说说为啥,他优秀在那里? 首先我们看看正常MVP的依赖关系图: 这是个经典的MVP依赖关系,View 层和Presenter,Presenter和Model层彼此依..._android mvvm image src
文章浏览阅读4.8k次。PostgreSQL有3种日志,分别是pg_log(数据库运行日志)、pg_xlog(WAL 日志,即重做日志)、pg_clog(事务提交日志,记录的是事务的元数据)pg_log默认是关闭的,需要设置参数启用此日志。pg_xlog和pg_clog都是强制打开的,无法关闭。1.启用pg_log并配置日志参数log_destination = 'csvlog'logging_collector = o..._pg修改log_connections
文章浏览阅读62次。有个网友写信给我谈到关于PHP计算工资问题。我以前一篇文章中谈到过一种计算工资的方法,不过是偷巧,利用现有的表达式的工具,现在既然有人想要,我就给出一个逆波兰的算法。 我们的目标是实现如下的计算公式: 假设有一个计算公式如下: $expression = "(F1*F12+10.34)"; 其中的变量值如下: $expression_value = Array('F1'=>10, 'F12'..._php 逆波兰算法 函数
文章浏览阅读57次。16.12编写你自己版本的Blob和BlobPtr模板,包含书中未定义的多个const成员。Blob.h(注意,成员函数的声明和定义要放在一个头文件中)/*记住,模板的头文件中通常既包括声明也包括定义。函数模板和类模板成员函数的定义通常放在头文件中,不能分开放。。。。谨记*/#ifndef BLOB_H#define BLOB_H#include<iostream&g..._blobptr