MATLAB中直方图均衡化和线性与非线性增强
运用知识点
1、图像增强可以通过线性、指数变换、直方图均衡化来对图像进行增强
2、线性变换可以使的“黑色更黑,白色更白”从而增强图像的对比度,下面题二就是运用如下图的折线
3、灰度图像的直方图均衡化的步骤如下
一、
P=im2double(rgb2gray(imread('tes6.jpg')));
subplot(321),imshow(P),title('原图');
subplot(322),imhist(P);
I=imadjust(P,[70/256;180/256],[0/256;70/256]);
subplot(323),imshow(I),title('线性变化');
subplot(324),imhist(I);
J=histeq(I);
subplot(325),imshow(J),title('直方图均衡化');
subplot(326),imhist(J);
二、将RGB图像转换为HSV图像并对其中的V分量进行直方图均衡化
1、运用到了一下matlab函数
cat(3,A,B,C); //将ABC三个矩阵合并
histeq(M); //对M进行直方图均衡化
rgb2hsv(image);
hsv2rgb(image);
P=imread('picture1.png');R=P(:,:,1);G=P(:,:,2);B=P(:,:,3);[H,S,V]=rgb2hsv(P);new_v=histeq(V);new_hsv2rgb=hsv2rgb(cat(3,H,S,new_v));subplot(141),imshow(P),title('rgb原图');subplot(142),imshow(V),title('原图V分量');subplot(143),imshow(new_v),title('直方图均衡化后V分量');subplot(144),imshow(new_hsv2rgb),title('直方图均衡化后rgb');
三、将一幅图像的RGB分量分别进行指数、线性、直方图均衡化变换再合并
P=imread('picture1.png');
R=P(:,:,1);
G=P(:,:,2);
B=P(:,:,3);
type=3; //选择变换方式
type2_m=53; //指数变换的系数
type3_a=80/256;type3_b=180/256;type3_c=30/256;type3_d=220/256; //线性变换的系数,参照上图
switch typecase 1 //直方图变换new_r=histeq(R);new_g=histeq(G);new_b=histeq(B);case 2 //指数变换new_r=type2_m*log(double(R)+1);new_g=type2_m*log(double(G)+1);new_b=type2_m*log(double(B)+1);case 3 //线性变换new_r=imadjust(R,[0;type3_a],[0;type3_c]);new_g=imadjust(G,[type3_a;type3_b],[type3_c;type3_d]);new_b=imadjust(B,[type3_b;1],[type3_d;1]);
end
subplot(231),imshow(R),title('r分量');
subplot(232),imshow(G),title('g分量');
subplot(233),imshow(B),title('b分量');
subplot(234),imshow(uint8(new_r)),title('新r分量');
subplot(235),imshow(uint8(new_g)),title('新g分量');
subplot(236),imshow(uint8(new_b)),title('新b分量');
figure;
subplot(121),imshow(P),title('原图');
subplot(122),imshow(uint8(cat(3,new_r,new_g,new_b))),title('变换后图像');
参考文献:
[1] 蔡利梅 王利娟 数字图像处理[M]. 中国矿业大学出版社 2014
MATLAB中直方图均衡化和线性与非线性增强相关推荐
- python直方图均衡化代码_基于matlab的直方图均衡化代码
基于matlab的直方图均衡化代码 2007-04-15 20:15 clear all %一,图像的预处理,读入彩***像将其灰度化 PS=imread('1.jpg'); ...
- 直方图均衡化 matlab代码,基于matlab的直方图均衡化代码
基于matlab的直方图均衡化代码 2007-04-15 20:15 clear all %一,图像的预处理,读入彩***像将其灰度化 PS=imread('1.jpg'); ...
- OpenCV中直方图均衡化
OpenCV中直方图均衡化 首先知道直方图是个什么鬼?在一幅图像中,直方图所体现的是每个像素值在所有的像素中所占的比例:例值为127的像素点的个数/图像总的像素点的个数\color{#f00}值为12 ...
- matlab实现直方图均衡化
直方图均衡化是一种利用灰度变换自动调节图像对比度质量的方法,基本思想是通过灰度级的概率密度函数求出灰度变换函数,它是一种以累计分布函数变换法为基础的直方图修正法. 直方图均衡化处理的步骤如下: 1. ...
- CUDA:在NPP中直方图均衡化实例
CUDA:在NPP中直方图均衡化实例 #if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64) #
- Matlab实现直方图均衡化(基于自定义函数)
Matlalb实现直方图均衡化 直方图均衡化 Matlab代码实现 直方图均衡化 直方图均衡化是一种使输出图像直方图近似服从均匀分布的变换算法,其计算步骤如下: 列出原始图像的灰度级fjf_jfj, ...
- 【matlab】直方图均衡化
先读入一张图片 这幅图片是显微镜下花粉的图像,的放大了700倍. 这幅图片比较暗,动态范围比较低. 现在我们把a的直方图运行出来: 直方图均衡后的图片 figure,imhist(g) ylim('a ...
- 机器学习中,什么是线性和非线性?
简单理解线性和非线性 对于函数y=f(x)线性就是在函数中对x增加一个数k,那么对于y来说也增加k.故线性函数相加减不会破坏其线性关系.相反的,非线性就是对于不符合线性关系的统一称之为非线性关系.在自 ...
- openCV中直方图均衡化算法的理解
直方图均衡化就是调整灰度直方图的分布,即将原图中的灰度值映射为一个新的值.映射的结果直观表现是灰度图的分布变得均匀,从0到255都有分布,不像原图那样集中.图像上的表现就是对比度变大,亮的更亮,暗的更 ...
- 【MATLAB】直方图均衡化Matlab实现(非histeq内置函数)
直方图均衡化Matlab实现(非histeq内置函数) 直方图均衡化常用于图像增强,可以提高图像对比度,扩展图像动态范围. 算法步骤: 统计直方图 累计直方图 映射 close all clear a ...
最新文章
- 我用python10年后,我发现学python必看这三本书! 1
- spring根据名称获取bean_带你从零开始手写 spring ioc 框架,深入学习 spring 源码
- kafka:一文读懂消费者背后的那点猫腻
- 《Effective STL》学习笔记(第二部分)
- Hibernate Mysql 写入中文乱码 解决方法
- 使用JDK 8轻松进行细粒度排序
- linux如何运行synaptic,Linux_Ubuntu 7.04 Synaptic软件包管理器功能,Ubuntu的新立得软件包管理器(Syn - phpStudy...
- 【POJ1177】【HDU1828】【codevs2149】矩形面积周长并
- 不能忍!世界首富贝索斯发博文称遭”不雅照”威胁
- minhash算法 java_minhash算法
- Clojure 学习入门(12)- map/pmap
- 露天停车场的matlab代码,室外停车场设计规范 · 干货
- HTTP的基础知识——IP、TCP(3次握手) 和 DNS
- Bootstrap(一)
- 关于苹果开发者证书的续费问题改动2021
- 乐优商城之品牌新增fastDFS(九)
- caffeine本地缓存的使用和详解
- 前后端是如何交互的?
- zookeeper随堂笔记
- 企业公众号做内容输出有哪些要点