实验一 MATLAB数字图像处理初步

本文介绍了使用MATLAB进行数字图像处理的初步实验,包括将彩色图像转换为灰度和二值图像,进行平移、缩放、翻转和旋转等变换,以及对两幅图像执行加减乘除操作。实验强调了MATLAB在图像处理中的应用及其对基本概念的理解,如像素、色彩空间和图像变换。

1读取彩色图像Warrior.jpg,将其转换为灰度图像,查看它的直方图, 请编程实现。

代码如下:

% 读取彩色图像

img = imread('Warrior.jpg');

% 转换为灰度图像

gray_img = rgb2gray(img);

% 显示灰度图像

imshow(gray_img);

% 计算直方图

histogram = imhist(gray_img);

% 显示直方图

figure;

plot(histogram);

2.读取彩色图像Warrior.jpg, 将其转换为灰度图像和二值图像, 在同一个窗口内分成三个子窗口分别显示彩色图像、灰度图像和二值图像, 标注文字标题, 请编程实现

代码如下:

 % 读取彩色图像

color_img = imread('Warrior.jpg');

% 转换为灰度图像

gray_img = rgb2gray(color_img);

% 转换为二值图像

threshold = graythresh(gray_img);

binary_img = imbinarize(gray_img, threshold);

% 创建一个窗口

figure('Name', '颜色、灰度、二值图像', 'NumberTitle', 'off');

% 分成三个子窗口,并显示对应的图像

subplot(1, 3, 1);

imshow(color_img);

title('彩色图像');

subplot(1, 3, 2);

imshow(gray_img);

title('灰度图像');

subplot(1, 3, 3);

imshow(binary_img);

title('二值图像');

3.读取彩色图像胸片.jpg,分别对其进行平移、放大1.5倍 、缩小0.5倍、水平镜像、垂直镜像、旋转90度等操作,请编程实现。

代码如下:

% 读取彩色图像

img = imread('胸片.jpg');

% 平移

translated_img = imtranslate(img, [50, 50]);

% 放大1.5倍

scaled_img = imresize(img, 1.5);

% 缩小0.5倍

resized_img = imresize(img, 0.5);

% 水平镜像

hflipped_img = flip(img, 2);

% 垂直镜像

vflipped_img = flip(img, 1);

% 旋转90度

rotated_img = imrotate(img, 90);

% 显示变换后的图像

figure;

subplot(2, 4, 1), imshow(img), title('原始图像');

subplot(2, 4, 2), imshow(translated_img), title('平移');

subplot(2, 4, 3), imshow(scaled_img), title('放大1.5倍');

subplot(2, 4, 4), imshow(resized_img), title('缩小0.5倍');

subplot(2, 4, 5), imshow(hflipped_img), title('水平镜像');

subplot(2, 4, 6), imshow(vflipped_img), title('垂直镜像');

subplot(2, 4, 7), imshow(rotated_img), title('旋转90度');

4.读取两幅不同彩色图像:flower.jpgpattern.jpg,对这两幅图像分别执行加、减、乘、除操作, 在同一个窗口内分成五个子窗口分别显示, 标注文字标题,请编程实现

 

代码如下:

 % 读取两幅彩色图像

img1 = imread('flower.jpg');

img2 = imread('pattern.jpg');

% 加、减、乘、除操作

add_img = imadd(img1, img2);

sub_img = imsubtract(img1, img2);

mul_img = immultiply(img1, img2);

div_img = imdivide(img1, img2);

% 显示变换后的图像

figure('Name', '彩色图像加减乘除', 'NumberTitle', 'off');

subplot(2, 3, 1), imshow(img1), title('flower.jpg');

subplot(2, 3, 2), imshow(img2), title('pattern.jpg');

subplot(2, 3, 3), imshow(add_img), title('加操作');

subplot(2, 3, 4), imshow(sub_img), title('减操作');

subplot(2, 3, 5), imshow(mul_img), title('乘操作');

subplot(2, 3, 6), imshow(div_img), title('除操作');

、实验心得

       MATLAB数字图像处理是目前常见的一种数学软件工具,在科学研究、工程实践、医学影像等领域非常常见。学习除了基础知识,更加需要对实践的掌握。在我个人的学习过程中,我总结了以下几点心得体会。

       首先,需要了解MATLAB数字图像处理的基本概念。数字图像是由像素组成的,每个像素代表图像上的一个点,其数值表示该点的颜色或亮度。数学上可以表示为矩阵或数组形式,其中每个元素对应一个像素点。还需要了解图像的色彩空间、亮度、对比度等基本概念,从而更好地理解数字图像处理的方法和实现方式。

       本次实验也初步学习了MATLAB的使用,感受其在图像处理上的便捷,希望在之后可以进行更多的实践和练习。从而加深对数字图像处理方法的理解和掌握。

        我在本课程上收获良多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RDEESSDERT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值