图像增强:直方图均衡和小波变换【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); ...
随机推荐
- 也谈编译 VS 解释
语言发展 计算机的硬件仅仅能识别0和1组成的机器指令,而机器指令是最主要的计算机语言,可是我们平时进行程序设计时肯定不会用机器语言来编程,由于用它的效率低.更让人难以理解. 因此聪明的人类发明了汇编语 ...
- linux sudo命令详解
--sudo命令重启网卡 sudo service network restart http://bestchenwu.iteye.com/blog/1450292
- java集合框架01——总体框架一览
java集合框架是java提供的工具包,在java.util.*中,这个包中包含了常用的数据结构:集合.数组.链表.栈.队列.映射等.java集合框架主要可以分为四个部分:List列表.Set集合.M ...
- Navicat Premium 快捷键
1.ctrl+q 打开查询窗口2.ctrl+/ 注释sql语句3.ctrl+shift +/ 解除注释4.ctrl+r 运行查询窗口的sql语句5.ctrl+shift+r 只运行选中的sql语句6. ...
- Tensorflow - Tutorial (7) : 利用 RNN/LSTM 进行手写数字识别
1. 经常使用类 class tf.contrib.rnn.BasicLSTMCell BasicLSTMCell 是最简单的一个LSTM类.没有实现clipping,projection layer ...
- Openresty + nginx-upload-module支持文件上传
0. 说明 这种方式其实复杂,麻烦!建议通过这个方式搭建Openresty文件上传和下载服务器:http://www.cnblogs.com/lujiango/p/9056680.html 1. 包下 ...
- atitit.it企业管理 项目管理 中的 授权机制 的来源 君权神授 的一定合理性
atitit.it企业管理 项目管理 中的 授权机制 的来源 君权神授 的一定合理性 1. 授权(权利来源)的5种模式 1 2. 企业的组织机构与管理运作来源于国家的管理...而国家的管理又来源于宗教 ...
- 常见typedef 用法
1.常规变量类型定义例如:typedef unsigned char uchar描述:uchar等价于unsigned char类型定义 uchar c声明等于unsigned char c ...
- boost thread
#include <cassert> #include <iostream> #include <boost/ref.hpp> #include <boost ...
- jQuery中的text(),html(),val()有什么区别
text():获取或者改变指定元素的文本html():获取或改变指定元素的html元素以及文本val():获取或者改变指定元素的value值(一般是表单元素) 以上3个都是jquery类库中的语法 第 ...