首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >数字图像处理之亮度变换

数字图像处理之亮度变换

作者头像
努力努力再努力F
发布于 2018-09-11 03:03:26
发布于 2018-09-11 03:03:26
1.2K00
代码可运行
举报
文章被收录于专栏:fangyangcoderfangyangcoder
运行总次数:0
代码可运行

数字图像处理之亮度变换

                                           by方阳

版权声明:本文为博主原创文章,转载请指明转载地址

http://www.cnblogs.com/fydeblog/p/6557603.html

第二篇博客,为自己加油加油!!

今天写一点亮度变换的东西;亮度变换主要有线性与非线性变化和直方图处理,线性变化有分段线性和直接线性之分,非线性有对数变换,幂律变换等等,直方图处理有直方图均衡和直方图归一化,今天只讲直方图均衡。

今天选的是被广泛使用的lena图片,大家有眼福了!直方图用的是细胞图,比较明显!

参考书籍:数字图像处理(matlab版)——冈萨雷斯

直接线性变换:直接乘以倍数

参考代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
I=imread('lena.bmp');
I1=I*2;
I2=I/2;
figure;
subplot(1,3,1);
imshow(I);
title('原图');
subplot(1,3,2);
imshow(I1);
title('线性2倍');
subplot(1,3,3);
imshow(I2);
title('线性1/2倍');

 运行结果;

非线性变换:对数和幂律变换

参考代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
figure;
A=double(I);
B=40*(log(A+1));
I3=uint8(B);
subplot(1,3,1);
imshow(I3);
title('对数');
I_D=double(I);
C=I_D/255;
I4=uint8(255*(C.^0.7));
subplot(1,3,2);
imshow(I4);
title('幂律变换—γ=0.5');
I5=uint8(255*(C.^1.3));
subplot(1,3,3);
imshow(I5);
title('幂律变换—γ=1.5');

 运行结果:

分段线性变换:这里只介绍灰度层分级,其他的类似

参考代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
figure;
subplot(1,3,1);
imshow(I);
title('原图');
I6=fy_PiecewiseLinear(I,100,170,1.5);
subplot(1,3,2);
imshow(I6);
title('100到170乘以1.5');
I7=fy_PiecewiseLinear(I,170,220,1/2);
subplot(1,3,3);
imshow(I7);
title('170到220除以1/2');

 灰度级分层函数的实现代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
%该函数实现分段线性
%by方阳
function image_out=fy_PiecewiseLinear(image_in ,low_in,high_in,linear_number)
[m,n]=size(image_in);
for i=1:m
    for j=1:n
        if image_in(i,j)>low_in
           if image_in(i,j)<high_in
               image_in(i,j)=image_in(i,j)*linear_number;
           end
        end
    end
end
image_out=image_in;

 运行结果:

最后介绍直方图均衡

参考代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
figure;
I8=imread('fig819.bmp');
h=imhist(I8);
subplot(2,2,1);
imshow(I8);
title('原始图像');
subplot(2,2,2);
imhist(I8);%imhist是实现显示当前图像的直方图分布
ylim('auto');
title('原始图像的直方图');
I9=histeq(I8,256);%histeq是实现直方图均衡
subplot(2,2,3);
imshow(I9);
title('变换后的图像');
subplot(2,2,4);
imhist(I9);
title('变换后的直方图');
ylim('auto');

 运行结果:

就写到这吧,SEE YOU!!!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-03-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
数字图像处理之傅里叶变换
                                                        by方阳
努力努力再努力F
2018/09/11
1.2K0
数字图像处理之傅里叶变换
数字图像处理之锐化处理
                                          by方阳
努力努力再努力F
2018/09/11
1.8K0
数字图像处理之锐化处理
数字图像处理之频域图像增强
                                                        by方阳
努力努力再努力F
2018/09/11
1.3K0
数字图像处理之频域图像增强
数字图像处理之基础知识
                                            by方阳
努力努力再努力F
2018/09/11
9060
数字图像处理之基础知识
《数字图像处理原理与实践(MATLAB版)》一书之代码Part2[通俗易懂]
本文系《数字图像处理原理与实践(MATLAB版)》一书之代码系列的Part2(P43~80),代码运行结果请參见原书配图,建议下载代码前阅读下文:
全栈程序员站长
2022/07/07
3600
数字图像处理之gamma矫正
图像Gamma矫正是一种调整图像对比度和亮度的方法。它使用幂律函数来调整图像的灰度级分布,以改变图像的显示效果。
FPGA开源工作室
2024/03/21
1.1K0
数字图像处理之gamma矫正
数字图像处理之平滑滤波
                                         by方阳
努力努力再努力F
2018/09/11
1K0
数字图像处理之平滑滤波
【计算机视觉】数字图像处理基础知识题
1、产生下图所示亮块图像 f1(x,y)(128×128大小,暗处=0,亮处=255),对其进行FFT。
zstar
2022/09/01
1.1K0
【计算机视觉】数字图像处理基础知识题
最快最好用的图像处理库:albumentations库的简单了解和使用
在对图片进行处理的时候,之前就使用torch自带的transfrom来对图像做一些反转,平移,随机剪裁,拉伸这样的任务。然而最近的图像分类+语义分割的比赛中,发现了这样的一个库函数:Albumentations。
机器学习炼丹术
2020/07/14
11.7K0
最快最好用的图像处理库:albumentations库的简单了解和使用
大神带你玩转matlab图像处理(四)
均衡化:经过均衡化处理的图像,像素占有更多的灰度级并且分布更均匀,这样的图像具有更高的对比度
巴山学长
2020/03/10
9820
大神带你玩转matlab图像处理(四)
Python针对图像的基础操作
5. 返回目录中所有JPG 图像的文件名列表,直方图均衡化,平均图像,主成分分析等
李智
2018/08/03
8050
数字图像处理之复原处理
                                                        by方阳
努力努力再努力F
2018/09/11
8390
数字图像处理之复原处理
matlab GUI基础8
图像处理工具箱 从屋物理和数学角度看,图像时记录物体辐射能量的空间发呢不,这个分布是空间坐标、时间坐标和波长的函数,即i = f(x,y,z,λ,t),这样的图像能被计算机处理,计算机图像处理即数字图像处理matlab的长处就是处理矩阵运算,因此使用matlab处理数字图像非常方便,计算机图像处理是利用计算机对数字图像进行一系列操作,从而获得预期的结果的技术。 1.图像类型转换 函数说明dither图像抖动,将灰度图变成二值图,或将RGB图像抖动成索引图像 gray2ind将灰度图转换为索引图象graysl
瓜大三哥
2018/02/26
1.4K0
matlab GUI基础8
直方图均衡化(Matlab实现)
直方图均衡化定义:通过某种灰度映射使输入图像转换为在每一灰度级上都有近似相同的像素点的输出图像(即输出的直方图是均匀的)。
全栈程序员站长
2022/11/01
7650
Matlab系列记录之图像处理(结束篇)
对于图像处理,我现在也是一知半解的程度,毕业后基本就没接触这些东西了,如果有理解的不对的地方,欢迎指出~
狂人V
2021/10/20
2.4K0
Matlab系列记录之图像处理(结束篇)
matlab图像(亮度变换与线性滤波)
如今,很多人都喜欢摄影。当然也有很多人喜欢对图像进行处理,使图像具有别样的味道。其中用到了很多知识,那现在我就向大家介绍一下简单的图像数字处理。
巴山学长
2019/07/15
1.2K0
matlab图像(亮度变换与线性滤波)
图像增强的几个方法以及Matlab代码
这种方法通常用来增加许多图像的全局对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。
Mezereon
2018/09/17
4K0
【干货】计算机视觉实战系列04——用Python做图像处理
【导读】专知成员Hui上一次为大家介绍Numpy包的使用,介绍了Numpy库的一些基本函数和一些简单用法,以及图像灰度变换,这一次为大家详细讲解图像的缩放、图像均匀操作和直方图均衡化。 图像的缩放、均
WZEARW
2018/04/13
2.3K0
【干货】计算机视觉实战系列04——用Python做图像处理
【数字图像】数字图像锐化处理的奇妙之旅
数字图像处理是一门涉及获取、处理、分析和解释数字图像的科学与工程领域。这一领域的发展源于数字计算机技术的进步,使得对图像进行复杂的数学和计算处理变得可能。以下是数字图像处理技术的主要特征和关键概念:
SarPro
2024/02/20
4150
【数字图像】数字图像锐化处理的奇妙之旅
matlab实现图像预处理的很多方法
RGB = imread('sy.jpg');                     % 读入图像 imshow(RGB),                                  % 显示原始图像 GRAY = rgb2gray(RGB);                          % 图像灰度转换 imshow(GRAY),                                  % 显示处理后的图像 threshold = graythresh(GRAY);                    % 阈值 BW = im2bw(GRAY, threshold);                     % 图像黑白转换 imshow(BW),                                      % 显示处理后的图像 BW = ~ BW;                                       % 图像反色 imshow(BW),                                      % 显示处理后的图像 1.图像反转 MATLAB程序实现如下: I=imread('xian.bmp'); J=double(I); J=-J+(256-1);                 %图像反转线性变换 H=uint8(J); subplot(1,2,1),imshow(I); subplot(1,2,2),imshow(H); 2.灰度线性变换 MATLAB程序实现如下: I=imread('xian.bmp'); subplot(2,2,1),imshow(I); title('原始图像'); axis([50,250,50,200]); axis on;                  %显示坐标系 I1=rgb2gray(I); subplot(2,2,2),imshow(I1); title('灰度图像'); axis([50,250,50,200]); axis on;                  %显示坐标系 J=imadjust(I1,[0.1 0.5],[]); %局部拉伸,把[0.1 0.5]内的灰度拉伸为[0 1] subplot(2,2,3),imshow(J); title('线性变换图像[0.1 0.5]'); axis([50,250,50,200]); grid on;                  %显示网格线 axis on;                  %显示坐标系 K=imadjust(I1,[0.3 0.7],[]); %局部拉伸,把[0.3 0.7]内的灰度拉伸为[0 1] subplot(2,2,4),imshow(K); title('线性变换图像[0.3 0.7]'); axis([50,250,50,200]); grid on;                  %显示网格线 axis on;                  %显示坐标系 3.非线性变换 MATLAB程序实现如下: I=imread('xian.bmp'); I1=rgb2gray(I); subplot(1,2,1),imshow(I1); title('灰度图像'); axis([50,250,50,200]); grid on;                  %显示网格线 axis on;                  %显示坐标系 J=double(I1); J=40*(log(J+1)); H=uint8(J); subplot(1,2,2),imshow(H); title('对数变换图像'); axis([50,250,50,200]); grid on;                  %显示网格线 axis on;                  %显示坐标系 4.直方图均衡化 MATLAB程序实现如下: I=imread('xian.bmp'); I=rgb2gray(I); figure; subplot(2,2,1); imshow(I); subplot(2,2,2); imhist(I); I1=histeq(I); figure; subplot(2,2,1); imshow(I1); subplot(2,2,2); imhist(I1); 5.线性平滑滤波器 用MATLAB实现领域平均法抑制噪声程序: I=im
MachineLP
2022/05/09
9450
推荐阅读
相关推荐
数字图像处理之傅里叶变换
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档