数字图像处理实验——数字图像处理初步

这篇具有很好参考价值的文章主要介绍了数字图像处理实验——数字图像处理初步。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、实验目的与要求
1.熟悉及掌握在MATLAB中能够处理哪些格式的图像;
2.熟练掌握在MATLAB中如何读取图像及图像的属性信息(大小、颜色、亮度(灰度)、宽度、高度等);
3.掌握如何在MATLAB中按照指定要求存储一副图像的方法;
4.了解图像的算术运算在数字图像中的初步应用,并体会其处理的过程和处理前后图像的变化;
二、实验内容及步骤
1.图像的读取,显示和存储,以及提取图像的基本信息:
(1)使用imread()函数读取一副图像,假设其名为lena.bmp,存入一个矩阵(或数组)中;
(2)利用whos命令提取该读入图像lena.bmp的基本信息;
数字图像处理实验——数字图像处理初步
(3)利用imshow()函数显示图像lena.bmp;
数字图像处理实验——数字图像处理初步

(4)利用imwrite()函数存储该图像,命名为lena2.jpg
数字图像处理实验——数字图像处理初步

(5)联合使用figure, subplot(), imshow()函数将lena.bmp和lenaRGB.bmp显示出来,观察两幅图像的质量。
数字图像处理实验——数字图像处理初步
lena.bmp为灰度图,单通道;lenaRGB.bmp为RGB图像,三通道

clc;clear;close all; 
img1 = imread("lena.bmp");
img2 = imread("lenaRGB.bmp");
whos img1;
imshow(img1)
title('lena.bmp');
figure;
subplot(121)
imshow(img1)
title('lena.bmp')
subplot(122)
imshow(img2)
title('lenaRGB.bmp');

2.图像间的代数运算:
(1)使用imread()函数读入图像:lenaRGB.bmp和pout.jpg
(2)进行图像的加法运算(自己写代码);
(3)调用imadd函数进行两幅图像的相加;
(4)比较第二步和第三步的结果。
(5)重复以上步骤,进行图像的相减,相乘相除运算(分别与直接使用图像处理工具箱中的代数运算函数进行结果比较。
数字图像处理实验——数字图像处理初步
数字图像处理实验——数字图像处理初步

数字图像处理实验——数字图像处理初步
进行图像操作前要将图片变为相同尺寸,使用MATLAB的基本算术符(+、-、*、/ 等)可以执行图像的算术操作,但是在此之前必须将图像转换为适合进行基本操作的双精度类型。
源码:文章来源地址https://www.toymoban.com/news/detail-440937.html

%加法
clc;clear;close all; 
img1 = imread("lenaRGB.bmp");
img1 = imresize(img1,[268 216])
img2 = imread("pout.jpg");
img3 = img1+img2
img4 = imadd(img1,img2)
figure;
subplot(141)
imshow(img1)
title('lena原始图像')
subplot(142)
imshow(img2)
title('pout原始图像')
subplot(143)
imshow(img3)
title('相加后图像')
subplot(144)
imshow(img4)
title('imadd后图像');
	%减法
clc;clear;close all; 
img1 = imread("lenaRGB.bmp");
img1 = imresize(img1,[268 216])
img2 = imread("pout.jpg");
img3 = img1-img2
img4 = imsubtract(img1,img2)
figure;
subplot(141)
imshow(img1)
title('lena原始图像')
subplot(142)
imshow(img2)
title('pout原始图像')
subplot(143)
imshow(img3)
title('相减后图像')
subplot(144)
imshow(img4)
title('imsubtract后图像');
	%乘法
clc;clear;close all; 
img1 = imread("lenaRGB.bmp");
img1 = imresize(img1,[268 216])
img2 = imread("pout.jpg");
img3 = uint16(img1).*uint16(img2)
img4 = immultiply(uint16(img1),uint16(img2))
figure;
subplot(141)
imshow(img1)
title('lena原始图像')
subplot(142)
imshow(img2)
title('pout原始图像')
subplot(143)
imshow(img3)
title('相乘后图像')
subplot(144)
imshow(img4)
title('immultiply后图像');
	%除法
clc;clear;close all; 
img1 = imread("lenaRGB.bmp");
img1 = imresize(img1,[268 216])
img2 = imread("pout.jpg");
img3 = double(img1)./double(img2)
img4 = imdivide(double(img1),double(img2))
figure;
subplot(141)
imshow(img1)
title('lena原始图像')
subplot(142)
imshow(img2)
title('pout原始图像')
subplot(143)
imshow(img3)
title('相除后图像')
subplot(144)
imshow(img4)
title('immultiply后图像');
  1. 图像的线性运算:
    (1)使用imread()函数读入图像:cameraman.bmp
    (2)进行图像的缩放运算( f1=g∗1.2 )以及线性运算
    (3)联合使用figure, subplot(), imshow()函数显示结果。
    数字图像处理实验——数字图像处理初步
  2. f1=g∗1.2 等价于f=immultiply(g,1.2)
  3. imshow(I) 以及imshow(I,[])的区别:matlab的图像经过数值计算之后会将数据类型转换为double类型的,double类型数据在imshow函数里默认为0~1范围内,数值超过1的重置为白色,一般显示出来的是黑白图像。imshow(I,[ ])的意思相当于imshow(I,[min(I(😃) max(I(😃)])I中数值最大值与最小值分别为255和0。
clc;clear;close all; 
I = imread("cameraman.bmp");
I1=1.2*I;
subplot(1,2,1);imshow(I);title('原始图像');
subplot(1,2,2);imshow(I1);title('线性运算图像');

clc;clear;close all; 
img1 = imread("cameraman.bmp");
img2 = immultiply(img1,1.2)
figure;
subplot(121)
imshow(img1)
title('cameraman原始图像')
subplot(122)
imshow(img2)
title('cameraman缩放运算图像');

到了这里,关于数字图像处理实验——数字图像处理初步的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数字信号与图像处理实验三:图像处理基础与图像变换

    ​ 通过本实验加深对数字图像的理解,熟悉MATLAB中的有关函数;应用DCT对图像进行变换;熟悉图像常见的统计指标,实现图像几何变换的基本方法。 ​ 选择两幅图像,读入图像并显示,同时使用Matlab计算图像的大小,灰度平均值、协方差矩阵、灰度标准差和相关系数。 DC

    2024年02月04日
    浏览(43)
  • 数字图像处理实验之Matlab对图像的基本处理

    1、提取Lena图像的左半上角部分,与原始Lena图像在同一个figure中显示,并做适当命名 效果图 2、利用 imnoise , 对原始Lena图像叠加高斯噪声,产生4幅、14幅、140幅的含噪图像。对这些含噪图像采用 相加  运算,来验证、比较图像相加消除叠加性噪声的效果。将原始图像、1幅噪

    2024年02月03日
    浏览(37)
  • 数字图像处理实验报告

    目录 实验二、图像在空间域上的处理方法 实验三、图像在频率域上的处理方法 一、实验目的 了解图像亮(灰)度变换与空间滤波的意义和手段; 熟悉图像亮(灰)度变换与空间滤波的MATLAB函数和语法; 熟练掌握应用MATLAB软件编程进行图像亮(灰)度变换与空间滤波的方法

    2024年02月08日
    浏览(25)
  • 数字图像处理之matlab实验(五):形态学图像处理

    常见的形态学处理包括腐蚀、膨胀、开运算、闭运算。不同的操作有不同的作用,同样的操作在不同类型的图片上也有不同效果,具体效果如下表格所示。要求熟练掌握对二值图像的形态学处理。 不同操作对不同类型图像处理效果 一、对二值图像进行处理 1、结构元素 在开

    2024年02月04日
    浏览(45)
  • 【数字图像处理】实验三 图像分割(MATLAB实现)

    目录 一、实验意义及目的 二、实验内容 三、Matlab 相关函数介绍 四、算法原理 五、参考代码及扩展代码流程图 (1)参考代码流程图 (2)扩展代码流程图 六、参考代码 七、实验要求 (1)尝试不同的阈值选择方法,实现灰度图像二值化 (2)变换参数实现形态学滤波,查看滤波

    2024年02月05日
    浏览(31)
  • 【数字图像处理】实验二 图像增强(MATLAB实现)

    目录 一、实验意义及目的 二、实验内容 三、Matlab 相关函数介绍 四、算法原理 五、参考代码及扩展代码流程图  (1)参考代码流程图 (2)扩展代码流程图 六、参考代码 七、实验要求 (1)对以上处理变换参数,查看处理效果; (2)更改伪彩色增强方法为热金属编码或彩

    2023年04月12日
    浏览(65)
  • 【数字图像处理】实验(2)——图像增强(MATLAB实现)

    (1)进一步掌握图像处理工具Matlab,熟悉基于Matlab的图像处理函数。 (2)掌握各种图像增强方法。 1.打开一幅彩色图像Image1,使用Matlab图像处理函数,对其进行下列变换: (1)将Image1灰度化为gray,统计并显示其灰度直方图; (2)对gray进行分段线性变换; (3)对gray进行

    2023年04月23日
    浏览(40)
  • 数字图像处理大作业实验报告

         《数字图像处理》 期末大作业 班    级:数字媒体技术2020级1班 姓    名:快乐的小蓝 学    号:XXXXXXXXX XXXX大学信息学院 目录 一、任务描述 二、设计思路 三、功能模块 1 人脸定位 1.1 算法原理 1.检测最大连通域 2.基于肤色的检测 3.使用matlab自带的工具人脸识别

    2023年04月23日
    浏览(37)
  • 山东大学数字图像处理实验(一)

    题目:加载并显示图像 imread 函数原型为 imread(const string filename, int flags=1) 这里的 filename 需要的是图像的路径。该函数从文件中加载图像并返回一个矩阵,如果图像不能被读取,则返回一个空的矩阵 这里介绍一下不同 flag 的效果 flag=-1 :8位深度,原通道 flag=0 :8位深度,

    2024年02月06日
    浏览(53)
  • 数字图像处理——实验五 基于图像分割的车牌定位识别

    (1)掌握车牌阈值分割; (2)掌握基于形态学计算的图像分割; (3)掌握图像的二值化; (4)掌握基于像素投影的字符分割; (5)掌握字符识别原理。 (1)计算机; (2)Python 3.x及PyCharm软件; (3)需进行车牌识别的图片。 注: opencv-python 使用的是3.x 版本 (1) 图像灰

    2024年02月08日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包