【数字图像处理技术|MATLAB】各类图像类型读写操作
目录
二、实验代码及效果
1. 图像的读入、显示、保存等功能
2. RGB显示真彩图
3. 图像调色板矩阵
4. 点运算
一、实验内容
1. 在MATLAB中,分别针对黑白图、灰度图、真彩色图、索引彩色图,实现图像的读入、显示、保存等功能。
2. 读入一个真彩色图像,请分R、G、B三个通道分别显示该图像的红、绿、蓝色图像,要有彩色效果(可以编程实现)。
3. 利用调色板矩阵map变量(可以自己构造),将自己画的灰度图转为索引彩色图。
4. 实现图像的点运算(G=aF+b),要求有灵活的a、b参数选择(如:键盘输入)。
二、实验代码及效果
1. 图像的读入、显示、保存等功能
实验代码:
%绝对路径,str0自己电脑路径
str0='E:\素材\作品集\2022数字媒体技术\图像处理技术\数字图像处理技术-实验报告1\';
%灰度图读写
graphyPic=imread('cameraman.bmp');
imshow(graphyPic);
imwrite(graphyPic,[str0,'graphyPic.bmp']); %[,]连接字符串
%二值图读写
bkPic=imread('draw.bmp');
imshow(bkPic);
imwrite(bkPic,[str0,'bkPic.bmp']);
%rgb全彩读写
rgbPic=imread('flowers.tif');
imshow(rgbPic);
imwrite(rgbPic,[str0,'rgbPic.bmp']);
%索引读写
[indPic,MAP]=imread('gire.bmp');
imshow(indPic,MAP);
imwrite(indPic,MAP,[str0,'indPic.bmp']);
实验效果:
灰度图(图像的读入、显示、保存)
黑白图(图像的读入、显示、保存)
真彩色图(图像的读入、显示、保存)
索引彩色图(图像的读入、显示、保存)
2. RGB显示真彩图
实验代码:
-
%绝对路径,str0自己电脑路径 str0='E:\素材\作品集\2022数字媒体技术\图像处理技术\数字图像处理技术-实验报告1\'; rgbPic=imread('flowers.tif'); %3管道 RGB RrgbPic(:,:,1)=rgbPic(:,:,1); RrgbPic(:,:,2:3)=0; imshow(RrgbPic); GrgbPic(:,:,2)=rgbPic(:,:,2); GrgbPic(:,:,1)=0; GrgbPic(:,:,3)=0; imshow(GrgbPic); BrgbPic(:,:,3)=rgbPic(:,:,3); BrgbPic(:,:,1:2)=0; imshow(BrgbPic); imwrite(RrgbPic,[str0,'RrgbPic.bmp']); imwrite(GrgbPic,[str0,'GrgbPic.bmp']); imwrite(BrgbPic,[str0,'BrgbPic.bmp']);
实验效果:
-
3. 图像调色板矩阵
实验代码:
先将图片降灰,形成自己画的灰度图
A=imread('suoy1.bmp');
B=rgb2gray(A);
K=ind2rgb(B,MAP1);
imshow(K);
实验效果:
4. 点运算
实验代码:
①键盘输入式:
promptk = 'Please input K value? ';
k = input(promptk);
promptb = 'Please input B value? ';
b = input(promptb);
promptpath = 'Please input picture path? ';
path = input(promptpath);
A=imread(path);
figure(2);
subplot(1,2,1);imshow(A);title('P1 原图');
B=imlincomb(k,A,b);
subplot(1,2,2);imshow(B);title('P2线性变换图');
②纯数字输入对比式:
A=imread('head.jpg');
subplot(2,2,1);imshow(A);title('P1 原');
a=2;b=5;
B=imlincomb(a,A,b);
subplot(2,2,2);
imshow(B);title('P2:a=2;b=5;');
a=2;b=50;
C=imlincomb(a,A,b);
subplot(2,2,3);
imshow(C);title('P3:a=2;b=50;');
a=0.5;b=5;
D=imlincomb(a,A,b);
subplot(2,2,4);
imshow(D);title('P4:a=0.5;b=5;');
实验效果:
①键盘输入式:
②纯数字输入对比式:
fqq3: WoW,JUN
CSDN-Ada助手: Python入门 技能树或许可以帮到你:https://edu.csdn.net/skill/python?utm_source=AI_act_python
是一帆哦!: 为什么结果从(1,5)直接到(3,5)
CSDN-Ada助手: 推荐 算法 技能树:https://edu.csdn.net/skill/algorithm?utm_source=AI_act_algorithm