自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhedahe的专栏

即便做一个ds程序员,也需要内涵!

  • 博客(51)
  • 资源 (8)
  • 收藏
  • 关注

原创 一种改进的中值滤波算法(张恒等)

主函数:%1 三种算法比较I=imread('11.png');I=rgb2gray(I);%加入混合噪声%var=100/(255^2);%imnoise中的方差等于实际方差除以灰度级的平方%按照文献设置参数J=imnoise(I,'salt & pepper',0.8);%J=imnoise(J,'gaussian',0,var);%var=0.0015%k1=co

2013-10-29 20:07:02 3888 1

原创 灰度最小方差的均值滤波器

此为灰度最小方差的均值滤波器:在去噪能力上弱于传统的均值、中值滤波,但在保留图像边缘和细节能力方面要强于前者。子函数:%该种方法的基本思想是:先使用模板覆盖图像区域,若像素都属于一个区域,则区域内不含边界,则可以放心平滑去噪(高斯用均值,椒盐用中值);否则像素属于不同部分,即区域含有边界,那我们不平滑去噪,保持边界即可。%编程的思想是:9个模板找出方差最小的那个模板,这个模板覆盖像素

2013-10-29 20:02:21 4107 2

原创 对称邻近均值滤波

子函数代码:%symmetricnearmean.mfunction [y]=symmetricnearmean(x,a,b)y=x;[m,n]=size(x);N=(a-1)/2;M=zeros( 1,2*N*(N+1) );for i=3:m-2 for j=3:n-2 k=1; for i1=1:N for j1=-N:N

2013-10-29 19:58:23 4046

原创 K近邻均值滤波

子函数代码:function[y]=K_neardealnoise(x,a,b)[m,n]=size(x);x=double(x);y=x;k0=floor(a*b/2)+1;for i=2:m-1 for j=2:n-1 %y(i,j)=0; z1=abs(x(i,j)-x(i-1,j+1)); z2=abs(x(i,j)-x(i,j+1));

2013-10-29 19:56:15 8222

原创 一种稳健的自适应图像平滑算法(芮杰等)

平滑算法1:%roburstmedfilt1.mfunction [y]=roburstmedfilt1(x,a,b)x=double(x);y=x;[m,n]=size(x);k=floor(a/2)+1;for i=k:m+1-k for j=k:n+1-k z=zeros(1,4*k^2-4*k); num=1; for

2013-10-29 19:50:51 1553

原创 消除椒盐噪声的改进滤波算法(李双全等)

算法对应的子函数代码:%commonfilt2_1.mfunction[y]=commonfilt2_1(x,a,b)[e f]=size(x);y=x;for i=2:e-1 for j=2:f-1 zmed=median([x(i-1,j+1),x(i,j+1),x(i+1,j+1),x(i-1,j),x(i+1,j),x(i-1,j-1),x(i,j-1),x

2013-10-29 19:39:06 2583

原创 严重椒盐噪声污染图像的非线性滤波算法(董继扬)

新算法对应的子函数:%delseriousnoise.m%有效去除图像中脉冲噪声的新型滤波算法%检测窗口5*5,滤波窗口3*3function [R] = delseriousnoise(x)[e,f]=size(x);Nmax=3; %确定最大的滤波半径,那么滤波窗口或者检测窗口最大为7%下面是边界扩展,图像上下左右各增加Nmax像素z=zeros(e+2*Nmax,f+2

2013-10-29 19:35:43 2119

原创 一种高效快速的高密度椒盐噪声消除算法(吕宗伟等)

新算法对应的子函数:%一种高效快速的高密度椒盐噪声滤除算法%quickdelhighnoise.mfunction [R] = quickdelhighnoise(J)[e,f]=size(J);R=zeros(e,f);Nmax=3; %确定最大的滤波半径,那么滤波窗口最大为7%下面是边界扩展,图像上下左右各增加Nmax像素z=zeros(e+2*Nmax,f+2*Nma

2013-10-29 19:31:17 2604

原创 一种用于抑制椒盐噪声的多窗口中值滤波器(邢藏菊等)

几种算法的比较1)递进开关中值滤波%commonfilt2_1.m%递进开关中值滤波function [R]=commonfilt2_1(x,NR0)[e,f]=size(x);Nmax=2; %确定最大的滤波半径,那么滤波窗口最大为5%下面是边界扩展,图像上下左右各增加Nmax像素z=zeros(e+2*Nmax,f+2*Nmax);%引入一个新矩阵,用以贴上图片

2013-10-29 19:20:23 2071

原创 有效去除图像中脉冲噪声的新型滤波算法(曲延锋等)

%imfledfilt.m%有效去除图像中脉冲噪声的新型滤波算法%检测窗口5*5,滤波窗口3*3function [R] = imfledfilt(x,Noiserate)[e,f]=size(x);Nmax=2; %确定最大的滤波半径,那么滤波窗口或者检测窗口最大为5%下面是边界扩展,图像上下左右各增加Nmax像素z=zeros(e+2*Nmax,f+2*Nmax);%引入一个新矩

2013-10-29 16:32:29 2014

原创 梯度有关的加权滤波器

代码分两部分:1 与梯度有关的加权滤波器,设计了2个:1)自适应加权滤波器 2)倒数加权滤波器2 图像的梯度幅值图像,以及x方向的梯度幅值图像和y方向的梯度幅值图像I=imread('1.png');I=rgb2gray(I);[M,N]=size(I);I=double(I);J=I;%权重因子处理后的图像%k=4;%权重因子系数,数学函数表达式:exp( (-x*x)

2013-10-29 16:28:57 2666

原创 用于图像处理的自适应中值滤波(张旭明等)

基于文章“用于图像处理的自适应中值滤波”的matlab代码如下:%commonfilt2_1.m%一种自适应调整窗口,一种自适应滤波的算法function [y]=commonfilt2_1(x)TD = 9;%判断噪声点所用阈值N1 = 0; %子块1中噪声点的个数N2 = 0; %子块2中噪声点的个数N3 = 0; %子块3中噪声点的个数N4 = 0; %子块4中噪声点

2013-10-29 16:25:05 5826 5

原创 对图像进行中值滤波的几种写法以及基于排序阈值的开关中值滤波算法

自己编写的中值滤波算法和库函数调用的中值滤波算法 psnr值一样,因此不必多虑,放心调用.以下文件:1:自己编写的中值滤波2:库函数中值滤3:极值中值算法:中心像素等于窗口最大值或者最小值,即该点为噪声点的可能性很大,中心点则使用中值代替4:一种基于排序阈值的开关中值滤波方法(秦鹏等):先将窗口内所有像素分成三类:1) 噪声点 2) 平坦区域 3)边缘细节5:极大中值滤波:

2013-10-29 16:17:12 5491

原创 快速排序

快速排序法是一种经常提及,被很多公司喜欢用来考察的排序方法,它的平均时间复杂度为O(nlongn),最差时间复杂度为O(n*n)。/* Note:Your choice is C IDE */#include "stdio.h"void quick_sort(int a[],int n);//函数的声明后要加分号int main(){int i;int a[10];print

2013-10-26 20:44:27 738

原创 图论中的BFS和DFS

其时两种算法还真的不好懂,BFS强调先选择一条路径走完,然后再回到原来的备选路径走,直至结束;DFS强调把所有邻接点遍历完;前者使用堆栈模拟,后者可以用队列模拟。BFS:/* Note:Your choice is C IDE */#include#include#define Max 9#define queueMAX 10typedef struct Bintree{

2013-10-26 20:40:50 1091

原创 矩阵相乘

两个矩阵相乘,其实很简单,但真正写起来,需要你理解其中的细节,公式会被,但程序不一定会写。以此,送给基础薄弱,眼高手低的我们。#include "stdio.h"int main(){int i,j,k;int matrixC[5][6]={0};int matrixA[5][4]={1,5,7,3,3,6,3,9,1,2,8,7,0,3,1,9,3,2,5,4,};

2013-10-26 20:36:09 805

原创 链表反转

#include "stdio.h"#define LEN sizeof(Student)typedef struct student{ int num; float score; struct student *next; }Student,*link;//构造链表的函数 link creat(int n);//打印链表的内容 void print_link(l

2013-10-26 19:32:22 809

原创 队列

使用数组模拟队列:/*==========用数组模拟队列===============*//*起初数组元素全部为0 我们给它入队但数据都为非 0 出队元素确定后 该出队元素设置为 0*/#include "stdio.h"#include "stdlib.h"#include "conio.h"#define maxsize 10int queue[maxsize];int

2013-10-26 19:31:03 694

原创 二叉树的遍历:前序、中序、后序

#include#includetypedef struct Bintree{int data;struct Bintree *lchild;struct Bintree *rchild;}treenode,*b_tree;b_tree root=NULL;/* 函数的声明*/b_tree creat_tree(int n);void print1();void preor

2013-10-26 19:28:48 825

原创 二叉树用数组表示

/*复杂的编程,思考永远是最重要的*/#include "stdio.h"#include "stdlib.h"#include "math.h"int b_tree[20]={0};//int count=0;//因为count不能由开始输入的数据个数直接看出来 ,故我直接用全局 变量方便随时使用 //这段程序我借鉴了链表建立二叉树的方法,值得仔细推敲 void creat_

2013-10-26 19:26:55 2700

原创 归并排序

归并排序:即将一个无序序列分为长度大致相同的2部分,然后对这两部分逐个元素比较,将较小的元素放入相应位置#include "stdio.h"void merge(int a[], int first, int mid, int end, int temp[]){ int i,j,k,m,n; i = first; j = mid + 1; m = mid; n =

2013-10-26 19:25:35 588

原创 老生常谈的“初始化”顺序

#include "iostream"#include "stdlib.h"using namespace std;class base{ private: int m; int n;//先声明哪个变量 就对哪个变量初始化 public: base(int i) { m=n; n=i; }/*****base(int i):n(i),m(n){}写成这

2013-10-26 18:26:33 569

原创 STL排序链表

例子1:#include#include//对字符串操作#include//STL对数据结构中的双向链表类操作using namespace std;int main(){string s;listLS;list::iterator iter;//迭代器while(true){//表面看起来似乎 没用,其实是可控的循环与break联合使用 cout<<"Enter st

2013-10-26 18:24:07 838

原创 含有纯虚函数的例子

#include#includeusing namespace std;class Student//含有纯虚函数的类是抽象类,不能定义对象 {public: Student(int,string,float); virtual void display()const=0;//加了const,display函数包括派生类graduate中的函数皆为纯虚函数,所以graduate不能定

2013-10-26 18:22:17 1633

原创 虚基类的例子

#include#include#includeusing namespace std;class Person//虚基类的作用避免重复继承基类中的元素 ,针对一堆多对一的继承结构 {public: Person(string nam,char s,int a) {name=nam;sex=s;age=a;}protected: string name; char sex

2013-10-26 18:19:24 868

原创 一些简单的析构函数例子

析构函数未被调用情况:#include#includeusing namespace std;class Student{public: Student(int n,char nam[],char s){num=n;name=nam;sex=s;cout} ~Student(){cout}void display()

2013-10-26 18:16:03 1047

原创 类模板(3种)

类模板1:#includeusing namespace std;template//相当于templateclass Compare{ public: Compare(T a, T b); T max(); T min(); private: T x, y;};templateCompare :: Compare(

2013-09-17 15:42:37 572

原创 友元函数(类中的成员函数作为友元函数)

#includeusing namespace std;class Time{ public: Time(int h, int m, int s); friend void display(Time &t);//声明一个友元函数,不属于任何类 private: int hour; int minute; int sec;

2013-09-17 15:31:18 1495

原创 静态数据成员和静态成员函数

静态数据成员:#includeusing namespace std;class Box{ public: Box(int w,int l); int volume(); static int height; int width; int length;};Box::Box(int w,int l){ wi

2013-09-17 15:28:23 731

原创 带参数的构造函数及使用默认参数的构造函数

#includeusing namespace std;class Box{ public: Box(int h,int w,int l); int volume(); private: int height; int width; int length;};Box::Box(int h,int w,int l)

2013-09-17 15:16:28 1717

原创 无参传递及类外使用作用域运算符

一个很简单的例子:#includeusing namespace std;class Time{ public: inline void set_time(); inline void show_time(); private: int hour; int minute; int sec;};int mai

2013-09-17 15:11:26 645

原创 一个简单的c++程序

很简单的一个cpp程序,帮助了解一下cpp的结构:#includeusing namespace std;class Time{ public://这里一定要使用public,不能使用private,否则对象无法调用这些数据 int hour; int minute; int sec; };void set_time(Time &

2013-09-17 14:59:55 641

原创 c++中数据的输入输出形式及数据形式的设置

数据的输入输出,有时也要注意形式,比如强制规定小数点后面几位,一段例子:#include#include#includeusing namespace std;int main(){ double a = 33.0/9; int b = 248; cout<<a<<endl; cout<<setprecision(1)<<a<<endl;//设置精度(不包

2013-09-17 14:52:00 1124

原创 C++中输入字符串总结

c/c++中常用到字符串,输入字符串可以使用:getline,指针,数组等方式。一个简单的例子如下:#include#include#includeusing namespace std;int main(){ char a[10]; cout<<"please input a string :"<<endl; cin.getline(a, 10);//输入的字

2013-09-17 14:44:45 819

转载 二分查找

二分查找:针对排好序的序列,查找其中的某个数字,一段粗略的代码如下:#includevoid search(int a[], int n, int x){ int i; if(a[n/2] == x) { printf("需要查找的数已经查到,放心!\n"); printf("您要查找的数a[%d]=%d", n/2, a[n/2]); }

2013-09-17 14:40:17 618 3

原创 投掷筛子

投筛子,大家都玩过。假设有一个六面(各面数字为1到六)的筛子,由计算机“摇出”某个介于6的随机数字。代码如下:#include#include//含有字符类型转换,rand(),srand(),system()#includeusing namespace std;int randrom(int n){ return rand()%n;//计算机随机获取一个数,再除以n

2013-09-17 14:27:51 1039

原创 递归法反向输出字符串

#include #include #include char string[20];void convert(int n , int N)//n为元素的下标,N为数组的实际长度 { if(n < N) { convert(n+1 , N); printf("%c" ,string[n]); }}int main(){ pr

2013-09-17 14:02:55 2620

原创 求素数

素数:即除了1和其本身外,没有其他的约数,即为素数,又称质数。如1,3,7,11等。常见思路:对于n(假设n不小于2),设变量 i=2 遍历到 n,若中间满足n % i == 0,则n非素数,退出循环;若n小于i(这里也可以不必遍历到n,是sqrt(n)即行)void prime(int n){ int i,j; int count = 0;//计算素数的序号 for(

2013-09-17 10:17:14 1073 1

原创 计算一个简单文件的大小

#include "stdio.h"int main(){ long f; FILE *fp; fp=fopen("C:\\Users\\XXX\\Desktop\\如何进入设计领域.txt","r");//计算“如何进入设计领域.txt”的大小 fseek(fp,0,2);//SEEK_END或者2,表示末尾,指针起初是在文件末尾,偏移量为0,即一直指向文件末尾

2013-09-17 09:34:00 1012

原创 汉诺塔问题

有n个环的汉诺塔问题:void tranf(int n, char a, char b, char c){ if(n == 1) printf("%c=>%c\n",a,c); else { tranf(n-1,a,c,b); tranf(1,a,b,c);//此处使用printf("%c=>%c\n",a,c)也是可以的; 不得不承认熟

2013-09-17 09:29:06 703

win7系统下的MinGW安装

win7系统下的MinGW安装,适合win7系统下的同学们!

2013-10-26

MinGW的使用说明

常用MINGW模拟linux下的一些操作,所以mingw对于用惯windows操作系统的人而言是个福音

2013-10-26

c语言学习过程中的程序

我当时学习c语言过程中写的一些小程序,但都不简单,有一定基础的童鞋看一下

2013-04-09

清华大学C++课件

很不错的c++课件 我当时自学用的 很清晰 重点突出

2013-04-09

单片机的学习课件与程序

对于想入门单片机的同学,这是个不错的资料

2012-03-03

proteus实验内容

常见的proteus资料,包含了一些实验,希望对大家有用

2012-02-27

DSP集成开发环境

详细叙述了DSP的开发环境,有兴趣的同学可以参考一下,跟之前传的哈工大资料结合看

2011-12-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除