您的位置:首页 > 编程语言 > MATLAB

MATLAB常用图像图像预处理算法汇总(一)

2016-03-16 17:17 465 查看
1,图像归一化

matlab里图像数据有时候必须是浮点型才能处理,而图像数据本身是0-255的UNIT型数据所以需要归一化,转换到0-1之间。因此归一化是一种简化计算的方式,即将有量纲的表达式,经过变换,化为无量纲的表达式,成为纯量。

function I1 = Image_Normalize(I, flag)

if nargin < 2
flag = 1;
end
if size(I, 1) > 2000
I = imresize(I, 0.2, 'bilinear');
end
I1 = imadjust(I, [0 0.6], [0 1]);

if flag
figure('units', 'normalized', 'position', [0 0 1 1]);
subplot(2, 1, 1); imshow(I, []); title('x1', 'FontWeight', 'Bold');
subplot(2, 1, 2); imshow(I1, []); title('x2', 'FontWeight', 'Bold');
end


2,图像平滑

突出图像的宽大区域、低频成分、主干部分或抑制图像噪声和干扰高频成分,使图像亮度平缓渐变,减小突变梯度,改善图像质量的图像处理方法。

function I2 = Image_Smooth(I1, hsize, sigma, flag)

if nargin < 4
flag = 1;
end
if nargin < 2
hsize = [3 3];
sigma = 0.5;
end
h = fspecial('gaussian', hsize, sigma);
I2 = imfilter(I1, h, 'replicate');


3,图像二值化

将图像上的像素点的灰度值设置为0或255

function bw2 = Image_Binary(I, flag)

if nargin < 2
flag = 1;
end
bw1 = im2bw(I, graythresh(I));
bw2 = ~bw1;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: