图像增强:直方图均衡和小波变换【matlab】
直方图均衡:统计图像像素灰度的直方图分布。对其进行重新分配以使图像的直方图分布更加均衡。
小波变换:图像轮廓主要体现在低频部分,可以通过对低频分解系数进行增强处理,对高频分解系数进行衰减处理,达到图像增强。
clc;
clear all;
img=imread('D:\文件及下载相关\图片\gray.jpg');
gray_img=rgb2gray(img);
[m,n]=size(gray_img);
pr=zeros(,);
for i=:
pr(i)=length(find(gray_img==i-))/(m*n);
end
S=zeros(,);
for i=:
for j=:i
S(i)=pr(j)+S(i);
end
end
S1=round((S*)+0.5);
for i=:
q(i)=sum(pr(find(S1==i)));
end
res_img=gray_img;
for i=:
res_img(find(gray_img==i-))=S1(i);
end
imshow(res_img);
title('均衡化后');
小波变换:
clc
I= imread('D:\文件及下载相关\图片\gray.jpg');
I1 = I(:,:,);
[c,s]=wavedec2(I1,,'sym4'); len=length(c);
w = prod(s(,:));
for i =:w
if(c( i )>)
c( i )=1.3*c( i );
end
end
for i =w:len
if(c( i ) < )
c( i )=0.8*c( i );
end
end
nx1=waverec2(c,s,'sym4');
I2 = I(:,:,);
[c,s]=wavedec2(I2,,'sym4');
len=length(c);
w = prod(s(,:));
for j =:w
if(c( j )>)
c( j )=1.3*c( j );
end
end
for j =w:len
if(c( j ) < )
c( j )=0.8*c( j );
end
end
nx2=waverec2(c,s,'sym4'); I3 = I(:,:,);
[c,s]=wavedec2(I3,,'sym4');
len=length(c);
w = prod(s(,:));
for k =:w
if(c( k )>)
c( k )=1.3*c( k );
end
end
for k =w:len
if(c( k ) < )
c( k )=0.8*c( k );
end
end
nx3=waverec2(c,s,'sym4');
nx = cat(,nx1,nx2,nx3);
figure(),imshow(nx/)
图像增强:直方图均衡和小波变换【matlab】的更多相关文章
- 基于小波变换的数字图像处理(MATLAB源代码)
基于小波变换的数字图像处理(MATLAB源代码) clear all; close all; clc;M=256;%原图像长度N=64; %水印长度[filename1,pathname]=uiget ...
- matlab直方图均衡,使用向量优化
matlab自带有histeq函数对图像进行直方图均衡 自己写了一个,改成向量化形式,效率提高了一点,但是比自带的还是差很多,差不多9倍 function D = my_histeq(I) [m,n] ...
- 基于MATLAB的离散小波变换
申明,本文非笔者原创,原文转载自: 基于Matlab的离散小波变换 http://blog.sina.com.cn/s/blog_725866260100ryh3.html 简介 在 ...
- matlab 小波变换
MATLAB小波变换指令及其功能介绍 1 一维小波变换的 Matlab 实现 (1) dwt函数 功能:一维离散小波变换 格式:[cA,cD]=dwt(X,'wname') [cA,cD]=dwt(X ...
- Matlab图像处理系列1———线性变换和直方图均衡
注:本系列来自于图像处理课程实验,用Matlab实现最主要的图像处理算法 图像点处理是图像处理系列的基础,主要用于让我们熟悉Matlab图像处理的编程环境.灰度线性变换和灰度拉伸是对像素灰度值的变换操 ...
- 小波学习之一(单层一维离散小波变换DWT的Mallat算法C++和MATLAB实现) ---转载
1 Mallat算法 离散序列的Mallat算法分解公式如下: 其中,H(n).G(n)分别表示所选取的小波函数对应的低通和高通滤波器的抽头系数序列. 从Mallat算法的分解原理可知,分解后的序 ...
- 浅谈压缩感知(十四):傅里叶矩阵与小波变换矩阵的MATLAB实现
主要内容: 傅里叶矩阵及其MATLAB实现 小波变换矩阵及其MATLAB实现 傅里叶矩阵及其MATLAB实现 傅里叶矩阵的定义:(来源: http://mathworld.wolfram.com/F ...
- 边缘检测算子和小波变换提取图像边缘【matlab】
Roberts边缘检测算子:根据一对互相垂直方向上的差分可用来计算梯度的原理,采用对角线方向相邻两像素之差. 小波变换的方法比较适用于展现夹带在正常信号中的瞬间反常现象,具有方向敏感性.所以可以边缘检 ...
- MATLAB数字图像处理(二)图像增强
1 图像增强 1.1 直方图均衡化 对于灰度图像,可以使用直方图均衡化的方法使得原图像的灰度直方图修正为均匀的直方图. 代码如下: I2=histeq(I1); ...
随机推荐
- 使用VisualSVN建立SVN服务器
原地址:http://blog.csdn.net/happyjiang2009/article/details/5719988 以前使用官方Subversion搭建SVN版本控制环境,感觉很繁琐,需要 ...
- js math 对数和指数处理 expm1 log1p
1.Math.expm1() Math.expm1(x)返回 ex - 1,即Math.exp(x) - 1. Math.expm1(-1) // -0.6321205588285577 Math.e ...
- vim 中Taglist的安装和使用
将vim 改造成功能强大的IDE系列之二 『插件介绍』 Taglist是vim的一个插件,提供源代码符号的结构化视图. 效果图:(直接使用了别人的图片.在我机器上也差不多-) 『下载和安装』 1)从h ...
- 彻底删除Oracle 11g的方法
1.关闭oracle所有的服务. 可以在windows的服务管理器中关闭. 2.打开注册表:regedit 打开路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlS ...
- win7配置两个tomcat(8 & 7)
背景如下: 电脑中原先tomcat版本是tomcat8,现在要再在其中另配置一个tomcat7,原先tomcat8的配的端口是8089 步骤如下: 1.官网下载tomcat7压缩包解压 2.修改D:\ ...
- github创建maven项目过程
笔者运行环境: 1. windows 10 2. cygwin,安装openssh 3. git版本 2.11.0 前置操作,如果已经配置可以略过 1. cygwin下执行 ssh-keygen - ...
- tomcat下运行war包
例如你下的包名test.war直接放入webapps目录下,到bin目录下双击启动startup.bat,不要关掉tomcat控制台窗口,回到webapps下应该要看到自动解压出一个test的目录,如 ...
- STL容器分析--stack
stack,顾名思义,表示栈,先进后出.
- 多校第九场Arithmetic Sequence题解
题目链接:http://acm.hdu.edu.cn/showproblem.php? pid=5400 题意:给定等差数列的差值d1,d2.问长度为n的数列中有多少个满足条件的子序列,条件为子序列中 ...
- 使用Apache Jmeter进行并发压力测试
http://blog.jassassin.com/2014/04/17/tools/jmeter/