常用函数有:imread,imshow,imwrite,rgb2gray,imresize,imhist,histeq等
读取图像的简单函数
I = imread('sweden_input.jpg'); % 读取图像
% 还可以与其他函数嵌套使用 表示直接读取并使用函数处理图形
Image = im2double(imread('AG.jpg')); % 将数字图像精度转换至双精度
展示各种图像
% 程序第一张图像显示时可以不加figure;
imshow(Image);title('xxx');
% 一个窗口显示image图像
figure; imshow(image);title('图像主题');% figure :创建一个新的窗口,所有参数采用默认
% 使用subplot(xxx) 实现一个窗口展示多幅图像 前两个数字表示几行几列 最后一个数字表示从左至右从上至下第几个位置
subplot(121),imshow(p1),title('p1'); % 121 表示窗口分为一行两列 将此图像防置第一个位置
subplot(122),imshow(p2),title('p2'); % 122 则表示放置在第二个位置
1、保存到当前文件夹下:
imwrite(I,'xx.xxx'); % 将图像I 保存到当前目录下
2、保存到当前文件夹下一级某文件夹:
imwrite(I,'./xxx/xx.xxx'); % 保存图像路径
3、保存到当前文件夹上一级的某文件夹下:
imwrite(I,'../xxx/xx.xxx');
在进项图像均衡化的时候必须先将图像灰度化则可使用此函数
% 2 : 可以看作是 to rgb-->gray
Image = rgb2gray(imread('xx.xxx')); % 读取图像并灰度化
Image = imresize(I, [h w])
h和w分别指定目标图像的高度和宽度.这种格式允许图像缩放后长宽比例和原图像长宽比例相同,因此所产生的图像有可能发生畸变。
[…] = imresize(…, method)
method : 参数用于指定在改变图像尺寸时所使用的算法,可以为以下几种:
‘nearest’: 这个参数也是默认的, 即改变图像尺寸时采用最近邻插值算法;
‘bilinear’:采用双线性插值算法;
‘bicubic’: 采用双三次插值算法,
Image = imresize(I, m);
% 返回的图像的长宽是图像I的长宽的m倍,即缩放图像。 m大于1, 则放大图像; m小于1, 缩小图像。
Image = imresize(I, 0.5); % 缩放0.5倍
Image = imresize(I, 0.5 , 'bilinear'); % 使用'bilinear'算法缩放
histgram = imhist(Image); % 直接调用函数 imhist(I,N): 统计并显示图像I的直方图,N为灰度级,默认256
figure;imhist(Image);title('灰度图像的直方图'); % 图像直方图
% matlab 提供了直方图均衡化函数
% J = histeq(I,N)
% 对图形I进行均衡化处理,N为输出图像的灰度级数
clc,clear,close all;
Image = imread('couple.bmp');
NewImage = histeq(Image,64);
subplot(121),imshow(Image);
subplot(122),imshow(NewImage);