1、图像的读取、显示。
%读取
a=imread('1.jpg');
%显示
imshow(a);
2、imfinfo函数用于显示图像的详细信息,size函数显示图像尺寸大小。
3、title给图像加标题。
4、subplot把图形窗口分成多个矩形部分,每个部分可以分别用来进行显示。
suplot(2,2,1);%把图像分成2*2的小窗口,第三个数字1是表示第一块。
suplot(2,2,2);%把图像分成2*2的小窗口,第三个数字2是表示第二块。
5、彩色图像变换为灰度图像。
a=imread('1.jpg');
b = rgb2gray(a);
6、通过阈值化方法把图像转换为二值图像。
a=im2bw(b);
7、imadjust 函数用于数字图像的灰度或颜色调整。
1、读入一幅彩色图像,把彩色图像变换为灰度图像和二值图像,并在同一个窗口内利用子窗口方式来显示彩色图像、灰度图像和黑白图像,对每一幅图像标注文字标题。
>> a=imread('1.jpg');%读入图像
>> subplot(3,1,1);%划分窗口
>> imshow(a)
>> title('原图');
>> b=rgb2gray(a);%转化成为灰度图像
>> subplot(3,1,2)
>> imshow(b)
>> title('灰度图像');
>> c=im2bw(a); %转化成二值图像
>> subplot(3,1,3)
>> imshow(c)
>> title('二值图像');
2、读入一幅彩色图片,利用 imfinfo 函数显示其详细信息,利用 size()函数显示其尺寸大小,并和 imfinfo
显示的结果进行对照。
>> imfinfo 1.jpg
ans =
Filename: '1.jpg'
FileModDate: '17-3月-2021 14:51:12'
FileSize: 24675
Format: 'jpg'
FormatVersion: ''
Width: 1200
Height: 800
BitDepth: 24
ColorType: 'truecolor'
FormatSignature: ''
NumberOfSamples: 3
CodingMethod: 'Huffman'
CodingProcess: 'Sequential'
Comment: {}
>> size('1.jpg')
ans =
1 5
3、读入一幅图片,首先转换为灰度图像,然后利用 double 和 uint8 数据类型转换函数将图像的数据类
型进行转换,并显示转换后的结果,并分析结果出现的原因。
>> a=imread('1.jpg');
>> b=rgb2gray(a);
>> subplot(1,2,1)
>> c=double(b);
>> imshow(c);
>> title('Double类型数据');
>> d=uint8(b);
>> subplot(1,2,2)
>> imshow(d);
>> title('uint8类型数据');
4、首先将一幅彩色图像变为一幅灰度图像,然后对其进行线性灰度变换,s=T®=a*r+b,其中 S 是变换后图像的像素值,r 是原图像的像素值。分别给出六种情况的变换图像,并予以标题标注。
>> %灰度图像线性灰度变换
>> a=imread('1.jpg');
>> b=rgb2gray(a);
>> [oriHist,oriX] = imhist(b);
>>
>>%以下是六幅图像的变化参数
>> %m=1,n=0
>> m=1;
>> n=0;
>> gray1=b*m+n;
>> [g1Hist,g1X]=imhist(gray1);
>>
>> %m=1;n=40
>> m=1;
>> n=40;
>> gray2=b*m+n;
>> [g2Hist,g2X]=imhist(gray2);
>>
>> %m=1,n=-40;
>> m=1;
>> n=-40;
>> gray3=b*m+n;
>> [g3Hist,g3X]=imhist(gray3);
>>
>> %m=1.5,n=0
>> m=1.5;
>> n=0;
>> gray4=b*m+n;
>> [g4Hist,g4X]=imhist(gray4);
>>
>> %m=0.6,n=0
>> m=0.6;
>> n=0;
>> gray5=b*m+n;
>> [g5Hist,g5X]=imhist(gray5);
>>
>> %m=-1,n=0
>> m=-1;
>> n=0;
>> gray6=b*m+n;
>> [g6Hist,g6X]=imhist(gray6);
>>
>>%显示出来
>> subplot(2,4,1);
>> imshow(a);
>> title('彩色图像');
>> subplot(2,4,2);
>> imshow(b);
>> title('灰度图像');
>> subplot(2,4,3);
>> imshow(gray1);
>> title('不变a=1,b=0');
>> subplot(2,4,4);
>> imshow(gray2);
>> title('整体变亮a=1,b=40');
>> subplot(2,4,5);
>> imshow(gray3);
>> title('整体变暗a=1,b=-40');
>> subplot(2,4,6);
>> imshow(gray4);
>> title('提高对比度a=1.5');
>> subplot(2,4,7);
>> imshow(gray5);
>> title('降低对比度a=0.6');
>> subplot(2,4,8);
>> imshow(gray6);
>> title('负片a=-1');
5、读入一幅彩色图像,首先将其转换为灰度图像,然后对其分段线性变换。
function [ b ] = Change( Image,fa,fb,ga,gb )
%UNTITLED2 Summary of this function goes here
% Detailed explanation goes here
x = imread('1.jpg');
[m,n,c] = size(x);
if(c>1)
a=rgb2gray(x);
end
b=zeros(m,n);
a = double(a);
k1 = ga/fa;
k2 = (gb-ga)/(fb-fa);
k3 = (255-gb)/(255-fb);
for i=1:m
for j=1:n
if a(i,j)<fa
b(i,j) = k1*a(i,j);
elseif a(i,j)<fb
b(i,j) = k2*(a(i,j)-fa)+ga;
else
b(i,j) = k3*(a(i,j)-fb)+gb;
end
end
end
b = uint8(b);
end
>>fa = 80;fb = 120;
>>ga = 50;gb = 200;
>>Image='1.jpg';
>> b=Change(Image,fa,fb,ga,gb);
>> subplot(1,2,1);
>> imshow(Image);
>> title('原图');
>> subplot(1,2,2);
>> imshow(b);
>> title('变换后的图像');
6、读取一幅图像,利用 imadjust 函数对其进行灰度变化,实现图像整体变亮、整体变暗,在同一个窗口内分别显示,并标注文字标题。
>> a=imread('1.jpg');
>> subplot(1,3,1);
>> imshow(a);
>> title('原图像');
>> b=imadjust(a,[0 1],[0.5 0.75]);
>> c=imadjust(a,[],[],0.6);
>> subplot(1,3,2);
>> imshow(b);
>> title('图像变暗');
>> subplot(1,3,3);
>> imshow(c);
>> title('图像变亮');