本次内容基于MATLAB的图像处理进行基本介绍,内容包含图像数据的读取、图像展示、裁剪、调整等变换。
1、imread()函数
①若为灰色图像,则A为 M*N 数组,灰色图像的每个像素的灰度值是一个由黑到白的区间;
②若为真彩色图像则返回 M*N*3 数组,彩色图像的每个像素都分成R、G、B三个基色分量,
分量决定基色的强度,这样的颜色成为真彩色;
③彩色图像具有三个通道,加入图像深度为24,则R、G、B各占用8位,每个基色的强度等级
为 2^8 ,图像可容纳 2^24=16MB。
imread(filename,fmt): 函数返回数组A,fmt为指定格式。如:
RGB = imread('p1.jpg');imshow(RGB);title('原彩色图');
2、imshow()函数
该函数功能是显示图像,常用用法如下:
① imshow(A); % 类似于mshow(filename);
②imshow(A,map); % map为图像颜色表,[0,1]内值组成的c*3矩阵,每行都是一个三元素RGB
3、rgb2gray()函数
该函数是matlab内部一种处理图像的函数,保持亮度的同时消除色调和饱和度信息,将rgb图
像转换为灰度图像,即灰度化处理的功能。用法如下:
RGB = imread('p1.jpg');GRAY = rgb2gray(RGB);imshow(GRAY);title('灰色图像');
[A,map] = imread('p1.jpg'); % A为图像索引, map为图像对应的颜色表newmap = rgb2gray(map);imshow(A,newmap);
4、imresize() 函数
imresize函数用于调整图像的大小,暂时用到的语法有两种:
① B = imresize(A, scale ) ,scale为图像放大倍数
RGB = imread('p1.jpg');imagesize = imresize(RGB,2); % 改变后图像大小 = 原图像大小 * ximshow(imagesize);title('尺度变换');
② B = imresize(A,[numrows numcols]),图像B的行数和列数由[numrows numcols]标定。两值有
可能是NaN,在这种情况下,imresize函数将自动计算行数或者列数,保留图 像原有的宽高比。
RGB = imread('p1.jpg');imagesize = imresize(RGB,[120 160]); % 改变后图像大小 = 原图像大小 * ximshow(imagesize);title('尺度变换');
5、imcomplement()函数
对图像数据取反得到负片。图像的反转变换,将x的像素值转换为255-x。
RGB = imread('p1.jpg');imagereverse = imcomplement(RGB);imshow(imagereverse);title('色彩翻转');
6、imadjust()函数
① B = imadjust(A,[low_in high_in],[low_out high_out]) ;
[low_in;high_in]为原图像中要变换的灰度范围,[low_out;high_out]为变换后的灰度范围
RGB = imread('p1.jpg');RGB1 =imadjust(RGB,[0.2 0.9],[0 1]); % 调整图像强度值或颜色图imshow(RGB1);title('图像增强');
② 通过函数imadjust()调整灰度图像的亮度
RGB = imread('p1.jpg');RGB1 = imadjust(RGB,[0.1 0.5],[0 1],0.4); %调整图像灰度并调高亮度RGB2 = imadjust(RGB,[0.1 0.5],[0 1],4); %调整图像灰度并调低亮度imshow(RGB1);title('亮度增强');imshow(RGB2);title('亮度减弱');
7、imcrop()函数
B = imcrop(A,rect)裁剪图像。rect是表单的四元素位置向量[x y width height],以左上角
作为坐标(0,0),用于指定裁剪矩形的位置和大小。
RGB = imread('p1.jpg');RGB1 = imcrop(RGB,[1300 300 1000 1000]); imshow(RGB1);title('图像裁剪');
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删