【数字图像处理】实验一 图像处理基本操作

实验一 图像处理基本操作

  • 1 实验目的
  • 2 实验环境
  • 3 实验内容
  • 4 实验心得

1 实验目的

  1. 熟悉并掌握MATLAB工具的使用;
  2. 实现图像的读取、显示、代数运算和简单变换。

2 实验环境

matlab

3 实验内容

读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像、灰度图像和二值图像,注上文字标题,并将结果以文件形式存到磁盘上。

close all;
clear;
clc;
%读取图像
I0=imread('lab12.jpeg');    %原始图像
%I0=im2double(I0);
I1=rgb2gray(I0);            %灰度图像
I2=im2bw(I0,0.5);           %二值图像
%显示
figure('NumberTitle','off','name','图像的读取、显示'),
subplot(1,3,1);imshow(I0);title('RGB图像','FontName','宋体');
subplot(1,3,2);imshow(I1);title('灰度图像','FontName','宋体');
subplot(1,3,3);imshow(I2);title('二值图像','FontName','宋体');

【数字图像处理】实验一 图像处理基本操作_第1张图片

对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成6个子窗口来分别显示,注上文字标题。

close all;
clear;
clc;
%读入图像
I1=imread('lab11.jpeg');
I2=imread('lab12.jpeg');
%转换成双精度
%将将图像类型转换成双精度是因为:
%uint8进行数据处理的时候,容易造成数据溢出或精度不够
%有些函数支持double型,而不支持uint8的数据类型
%matlab读入图像的数据是uint8,而matlab中数值一般采用double型(64位)存储和运算
I1=im2double(I1);
I2=im2double(I2);
%改变图像大小
J1=imresize(I1,[350 350]);
J2=imresize(I2,[350 350]);
%加、减、乘、除
J3=imadd(J1,J2);            %相当于J3=J1+J2;
J4=imsubtract(J1,J2);       %相当于J4=J1-J2;
J5=immultiply(J1,J2);       %相当于J5=J1.*J2;
J6=imdivide(J1,J2);         %相当于J6=J1./J2;
%显示图像
figure('NumberTitle','off','name','代数运算、简单变换'),
subplot(3,2,1);imshow(J1);title('原始图像1','FontName','宋体');
subplot(3,2,2);imshow(J2);title('原始图像2','FontName','宋体');
subplot(3,2,3);imshow(J3);title('加','FontName','宋体');
subplot(3,2,4);imshow(J4);title('减','FontName','宋体');
subplot(3,2,5);imshow(J5);title('乘','FontName','宋体');
subplot(3,2,6);imshow(J6);title('除','FontName','宋体');

【数字图像处理】实验一 图像处理基本操作_第2张图片

4 实验心得

本次实验内容还是比较简单的,主要是熟悉matlab操作,所以需要多多练习使基础扎实,为后续的图像分割、图像识别等领域提供必要的基础。


照理是有分析的,但是比较懒,嘻嘻嘻

你可能感兴趣的:(数字图像处理,matlab,数字图像处理)