图像处理学习笔记03:灰度变换(二)

对数及对比度扩展变换

对数变换表达式 g=c*log(1+(f))
这个变换与之前的gamma曲线相似,但是区别在于对数曲线的形状是固定的,gamma曲线的函数形状可以改变。c是尺寸比例系数,f是原灰度值,g为变化后的灰度值。函数的自变量为低值时,曲线的斜率很高;自变量为高值时,曲线的斜率很低。这种变换可以增强图像中较暗部分的细节,从而用来扩展被压缩的高值图像中的较暗像素。
mat2gray函数,将矩阵的值限制在[0 1]之间,再使用im2unit8将值限制在[0 255]之间。
例 例用对数变换处理傅里叶频谱

clear;
clf;
clc;
f=imread("Fig0205(a).tif");
figure;
subplot(1,2,1);
imshow(f);
g=im2uint8(mat2gray(log(1+double(f))));
% g=log(1+double(f));
subplot(1,2,2);
imshow(g);

在这里插入图片描述

灰度阈值变换

将让图像中灰度值小于某一个值的灰度调为0,将灰度值大于某个值的灰度调为L-1.也就是将一幅灰度图像转化为二值图像。
阈值变换的相关函数主要有两个

  1. im2bw函数
  2. graythresh函数

语法形式
BW=im2bw(I,level)参数I表示原图像,level表示设定的阈值大小,他是0-1之间的双精度浮点型数据,具体的阈值为L*level。
thresh=graythresh(I)可以自动选择最优的变化阈值。
例 展示两种不同函数的阈值变换效果。

clf;
clear;
clc;
i=imread('rice.png');
thresh=graythresh(i);
bw1=im2bw(i,thresh);
bw2=im2bw(i,0.4);
subplot(1,3,1);
imshow(i);
title('原图像');
subplot(1,3,2);
imshow(bw1);
title('最优阈值');
subplot(1,3,3);
imshow(bw2);
title('自定义阈值');

在这里插入图片描述

对比拉伸

例 使用dipum工具箱中的intrans函数对比拉伸增强骨骼结构

clf;
clear;
clc;
f=imread('Fig0206(a).tif');
g=intrans(f,'stretch',mean2(tofloat(f)),0.9);
figure;
subplot(1,2,1);
imshow(f);
subplot(1,2,2);
imshow(g)

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值