pc网站开发,搜索网站做淘宝客,襄城县住房和城市建设局网站,腾讯云做网站教程任务一#xff1a; 将不同像素#xff08;32、64和256#xff09;的原图像放大为像素大 小为1024*1024的图像#xff08;图像自选#xff09; 要求#xff1a;1#xff09;输出一幅图#xff0c;该图包含六幅子图#xff0c;第一排是原图#xff0c;第 二排是对应放大…任务一 将不同像素32、64和256的原图像放大为像素大 小为1024*1024的图像图像自选 要求1输出一幅图该图包含六幅子图第一排是原图第 二排是对应放大的图 2每幅图的顶头都加上小标题
解释过程原理实际上这里用到的图像操作就是调用函数来增加它的像素点数实际生活中的压缩和解压图像中也会有这种操作用法就是调用imresize函数即可。之余之后建立一个新的窗口和简单的内容分布实际上的操作可以会看第一章的基本操作。
A imread(1.jpg); %将图像A的大小调整为32x32像素结果存储在变量img32中
img32 imresize(A,[32,32]);
%将图像A的大小调整为64x64像素结果存储在变量img64中
img64 imresize(A,[64,64]);
%将图像A的大小调整为256x256像素结果存储在变量img256中
img256 imresize(A,[256,256]); %将32x32的图像img32放大到1024x1024像素结果存储在变量img32_resized中
img32_resized imresize(img32, [1024, 1024]);
%将64x64的图像img64放大到1024x1024像素结果存储在变量img64_resized中
img64_resized imresize(img64, [1024, 1024]);
%将256x256的图像img256放大到1024x1024像素结果存储在变量img256_resized中
img256_resized imresize(img256, [1024, 1024]); %创建一个新的图形窗口用于显示图像
figure; %在图形窗口的2x3网格中的第一个位置显示32x32的原图
subplot(2,3,1);
imshow(img32); % 显示图像
title(32x32 原图); % 设置图像标题 %在图形窗口的2x3网格中的第二个位置显示64x64的原图
subplot(2,3,2);
imshow(img64); % 显示图像
title(64x64 原图); % 设置图像标题 %在图形窗口的2x3网格中的第三个位置显示256x256的原图
subplot(2,3,3);
imshow(img256); % 显示图像
title(256x256 原图); % 设置图像标题 %在图形窗口的2x3网格中的第四个位置显示32x32放大到1024x1024的图像
subplot(2,3,4);
imshow(img32_resized); % 显示图像
title(32x32 放大到1024x1024); % 设置图像标题 % 在图形窗口的2x3网格中的第五个位置显示64x64放大到1024x1024的图像
subplot(2,3,5);
imshow(img64_resized); % 显示图像
title(64x64 放大到1024x1024); % 设置图像标题 %在图形窗口的2x3网格中的第六个位置显示256x256放大到1024x1024的图像
subplot(2,3,6);
imshow(img256_resized); % 显示图像
title(256x256 放大到1024x1024); % 设置图像标题
结果如下 任务二去噪声
要求
1对所选图添加噪声可以选择高斯噪声或椒盐噪声次数为10次、 30 次和50次
2对添加噪声后的图像去噪
3输出一幅图该图包含七幅子图共三排第一排是 原图第二排是添加噪声后的图第三排是对应去噪声后的图像
4每幅图的顶头都加上小标踢
操作重点第一、了解所添加的噪声类型和matlab函数的使用方法第二、了解噪声的特性第三、学会查找和调用函数
img1 imread(1.png);
% 如果是彩色图像则将其转换为灰度图像
if size(img1, 3) 3 img rgb2gray(img1); % 使用rgb2gray函数将彩色图像转换为灰度图像
end % 向灰度图像img中添加椒盐噪声
% 噪声密度为0.01相当于添加“10次”噪声
noisy_img10 imnoise(img, salt pepper, 0.01);
% 噪声密度为0.03相当于添加“30次”噪声
noisy_img30 imnoise(img, salt pepper, 0.03);
% 噪声密度为0.05相当于添加“50次”噪声
noisy_img50 imnoise(img, salt pepper, 0.05); % 使用中值滤波对添加噪声后的图像进行去噪处理
denoised_img10 medfilt2(noisy_img10); % 对噪声密度为0.01的图像进行去噪
denoised_img30 medfilt2(noisy_img30); % 对噪声密度为0.03的图像进行去噪
denoised_img50 medfilt2(noisy_img50); % 对噪声密度为0.05的图像进行去噪 % 创建一个新的图形窗口用于显示图像
figure; % 在图形窗口的3x3网格中的第一个位置显示原图
subplot(3,3,1);
imshow(img1); % 显示原图如果是彩色图则显示彩色图如果是灰度图则显示灰度图
title(原图); % 设置图像标题 % 在图形窗口的3x3网格中的第四、五、六个位置分别显示添加不同密度椒盐噪声后的图像
subplot(3,3,4);
imshow(noisy_img10); % 显示噪声密度为0.01的图像
title(椒盐噪声密度0.01); % 设置图像标题
subplot(3,3,5);
imshow(noisy_img30); % 显示噪声密度为0.03的图像
title(椒盐噪声密度0.03); % 设置图像标题
subplot(3,3,6);
imshow(noisy_img50); % 显示噪声密度为0.05的图像
title(椒盐噪声密度0.05); % 设置图像标题
% 在图形窗口的3x3网格中的第七、八、九个位置分别显示去噪后的图像
% 注意原代码中的标题有误将“高斯噪声”更正为“椒盐噪声”
subplot(3,3,7);
imshow(denoised_img10); % 显示去噪后的噪声密度为0.01的图像
title(去噪后的椒盐噪声密度0.01); % 设置图像标题
subplot(3,3,8);
imshow(denoised_img30); % 显示去噪后的噪声密度为0.03的图像
title(去噪后的椒盐噪声密度0.03); % 设置图像标题
subplot(3,3,9);
imshow(denoised_img50); % 显示去噪后的噪声密度为0.05的图像
title(去噪后的椒盐噪声密度0.05); % 设置图像标题
结果 任务三图像的补集以及对两幅图求并集
要求
1求原图的补集
2以该图像平均灰度值的3倍获得均值图并将它与原图做并集操作
3输出一幅图该图包含一排的三幅子图从左到右为 原图、补集图和并集图。
4每幅图的顶头都加上小标题。
操作重点第一、了解数字图像处理时的并集、补集的含义主要是记住其实现时存在的图像然后理解就方便很多第二、注意理解要求2中的获得均值图后在与原图求取并集操作了解其作用咸鱼哥建议可以先尝试一下不做并集得到的图像这样会更方便理解这个概念。
A imread(1.jpg); % 将图像A转换为双精度类型double并将像素值归一化到 [0, 1] 区间
% 这是因为imread读取的图像通常是uint8类型像素值在 [0, 255] 区间
A im2double(A);
img_1 A;
img_2 A;
% 计算原图像A灰度值的三倍并将结果存储在变量N中
N 3 * A;
% 使用min函数确保N中的值不超过1对于大于1的值将其设置为1
N min(N, 1);
% 调用自定义函数set_comple计算图像A的补集并将结果存储在变量h中
% 补集是指将图像中的每个像素值用1减去该像素值得到的图像
h set_comple(A);
% 调用自定义函数set_union计算图像A和它的三倍图像N的并集并将结果存储在变量j中
% 对于两幅图像来说并集是指逐元素取两幅图像中较大的那个值
j set_union(A, N); % 创建一个新的图形窗口用于显示图像
figure;
% 在图形窗口的1x3网格中的第一个位置显示原图A
subplot(1, 3, 1), imshow(A), title(原图);
% 在图形窗口的1x3网格中的第二个位置显示补集图像h
subplot(1, 3, 2), imshow(h), title(补集图);
% 在图形窗口的1x3网格中的第三个位置显示并集图像j
subplot(1, 3, 3), imshow(j), title(并集图); % 定义计算补集的函数set_comple
% 输入参数f为待计算补集的图像
% 输出参数img_1为计算得到的补集图像
function img_1 set_comple(f) img_1 1 - f; % 计算补集将每个像素值用1减去
end % 定义计算并集的函数set_union
% 输入参数f1和f2为待计算并集的两幅图像
% 输出参数img_2为计算得到的并集图像
function img_2 set_union(f1, f2) img_2 max(f1, f2); % 计算并集逐元素取两幅图像中较大的值
End
结果 任务四多种噪声添加及多种滤波
要求
1对原图添加多种不同类型、不同程度的噪声,包括高斯噪声、椒盐噪声、泊松噪声等至少3种噪声,噪声参数自己拟定, 但须得到有对比性噪声效果的图像泊松噪声的参数可以只添加1 次
2然后使用不同的滤波方法进行降噪,如中值滤波、自适 应中值滤波、小波降噪等至少3种滤波方法
3输出一幅图该图至少包含原图(1张、噪声图(至少5张)和滤波图(至少3张)一共至少9张子图
4每幅图的顶头都加上小标题。
操作重点这里针对不同类型、不同程度的噪声要重点理解可以直接在matlab的函数库中搜索函数这样会显示噪声类型和种类但是要求英语水平足够扎实才推荐去看。
d imread(3.jfif);
% 将图像d转换为双精度类型double以便进行后续处理
% 因为imread读取的图像通常是uint8类型像素值在 [0, 255] 区间
% 转换为double后像素值会被归一化到 [0, 1] 区间
d_double im2double(d);
% 添加噪声并滤波处理部分
% 向图像d_double添加高斯噪声方差为(0.005*5)^2相当于添加5次高斯噪声的累积效果但实际上是直接设置了一个较大的方差
I1 imnoise(d_double, gaussian, 0, 0.005*5^2);
% 向I1添加泊松噪声
I1 imnoise(I1, poisson);
% 向I1添加斑点噪声噪声密度为0.2
I111 imnoise(I1, speckle, 0.2);
% 向图像d_double添加高斯噪声方差为(0.001*2)^2相当于添加2次高斯噪声的累积效果但实际上是直接设置了一个较小的方差
I2 imnoise(d_double, gaussian, 0, 0.001*2^2);
% 向I2添加泊松噪声
I2 imnoise(I2, poisson);
% 向I2添加斑点噪声噪声密度为0.1
I222 imnoise(I2, speckle, 0.1);
% 向图像d_double添加一次较高方差的高斯噪声方差为0.1^2
I3 imnoise(d_double, gaussian, 0, 0.1^2);
% 向I3添加泊松噪声
I3 imnoise(I3, poisson);
% 向I3添加斑点噪声噪声密度非常低为0.001
I333 imnoise(I3, speckle, 0.001);
% 向图像d_double添加椒盐噪声噪声密度为0.03
I4 imnoise(d_double, salt pepper, 0.03);
% 向I4添加高斯噪声方差为0.1^2
I44 imnoise(I4, gaussian, 0, 0.1^2);
% 向I44添加泊松噪声
I444 imnoise(I44, poisson);
% 这行代码是多余的因为I444已经是double类型但不会影响后续操作
I444_d I444;
% 向图像d_double添加椒盐噪声噪声密度为0.02实际上这是椒盐噪声但比例较低时椒噪声可能不明显
I5 imnoise(d_double, salt pepper, 0.02);
% 这行代码没有做任何处理可能是为了保持格式一致而保留的
I5 I5;
% 向I5添加高斯噪声方差为0.01^2
I55 imnoise(I5, gaussian, 0, 0.01^2);
% 向I55添加泊松噪声
I555 imnoise(I55, poisson);
% 滤波处理部分
% 创建一个5x5大小的高斯滤波器标准差为1.4
h1 fspecial(gaussian, [5 5], 1.4);
% 使用高斯滤波器h1对I444_d进行滤波处理
f_I444 imfilter(I444_d, h1);
% 创建一个3x3大小的均值滤波器
h2 fspecial(average, [3 3]);
% 使用均值滤波器h2对I333进行滤波处理
f_I333 imfilter(I333, h2);
% 使用均值滤波器h2对I555进行滤波处理
f_I555 imfilter(I555, h2);
% 显示图像部分
% 创建一个新的图形窗口
figure;
% 在3x3的网格中的第一个位置显示原图像d
subplot(3,3,1), imshow(d), title(原图像);
% 在3x3的网格中的第二个位置显示噪声图1经过高斯、泊松、斑点噪声处理后的图像I111
subplot(3,3,2), imshow(I111), title(噪声图1高斯泊松斑点);
% 在3x3的网格中的第三个位置显示噪声图2经过高斯、泊松、斑点噪声处理后的图像I222
subplot(3,3,3), imshow(I222), title(噪声图2高斯泊松斑点);
% 在3x3的网格中的第四个位置显示噪声图3经过高斯、泊松、斑点噪声处理后的图像I333
subplot(3,3,4), imshow(I333), title(噪声图3高斯泊松斑点);
% 在3x3的网格中的第五个位置显示噪声图4经过椒盐、高斯、泊松噪声处理后的图像I444
subplot(3,3,5), imshow(I444), title(噪声图4椒盐高斯泊松);
% 在3x3的网格中的第六个位置显示噪声图5经过椒盐、高斯、泊松噪声处理后的图像I555
subplot(3,3,6), imshow(I555), title(噪声图5椒盐高斯泊松);
% 在3x3的网格中的第七个位置显示对噪声图4进行高斯滤波后的图像f_I444
subplot(3,3,7), imshow(f_I444), title(对噪声图4高斯滤波);
% 在3x3的网格中的第八个位置显示对噪声图3进行平均滤波后的图像f_I333
subplot(3,3,8), imshow(f_I333), title(对噪声图3平均滤波);
% 在3x3的网格中的第九个位置显示对噪声图5进行平均滤波后的图像f_I555
subplot(3,3,9), imshow(f_I555), title(对噪声图5平均滤波);
结果 任务五旋转和放大原图自选
要求
1将原图像旋转不同角度(至少2个角度),并对旋转后的图放大处理(放大到1024*1024)
2输出一幅图该图至少包含原图(1张)、旋转图(至少2张)和滤波图(至少2张)一共至少5张子图
3每幅图的顶头都加上小标题。
操作重点这里的操作基本上没有困难所以咸鱼哥不重点赘述记住imrotate和 imresize两个函数的作用就可以了
img imread(1.png); % 使用imrotate函数将图像img旋转45度结果存储在rotated_img_45中
rotated_img_45 imrotate(img, 45);
% 使用imrotate函数将图像img旋转90度结果存储在rotated_img_90中
rotated_img_90 imrotate(img, 90); % 使用imresize函数将旋转45度后的图像rotated_img_45放大到1024x1024像素结果存储在rotated_img_45_resized中
rotated_img_45_resized imresize(rotated_img_45, [1024, 1024]);
% 使用imresize函数将旋转90度后的图像rotated_img_90放大到1024x1024像素结果存储在rotated_img_90_resized中
rotated_img_90_resized imresize(rotated_img_90, [1024, 1024]); % 创建一个新的图形窗口用于显示图像
figure; % 使用subplot函数在2x3的网格中的第一个位置创建一个子图并显示原图img
subplot(2,3,1);
imshow(img);
title(原图); % 设置子图的标题为“原图” % 使用subplot函数在2x3的网格中的第二个位置创建一个子图并显示旋转45度后的图像rotated_img_45
subplot(2,3,2);
imshow(rotated_img_45);
title(旋转45度); % 设置子图的标题为“旋转45度” % 使用subplot函数在2x3的网格中的第三个位置创建一个子图并显示旋转90度后的图像rotated_img_90
subplot(2,3,3);
imshow(rotated_img_90);
title(旋转90度); % 设置子图的标题为“旋转90度” % 使用subplot函数在2x3的网格中的第四个位置创建一个子图并显示旋转45度后放大的图像rotated_img_45_resized
subplot(2,3,4);
imshow(rotated_img_45_resized);
title(旋转45度后放大); % 设置子图的标题为“旋转45度后放大” % 使用subplot函数在2x3的网格中的第五个位置创建一个子图并显示旋转90度后放大的图像rotated_img_90_resized
subplot(2,3,5);
imshow(rotated_img_90_resized);
title(旋转90度后放大); % 设置子图的标题为“旋转90度后放大”
结果 第二章针对于数字图像处理的内容的练习和实际的操作咸鱼哥个人觉得本章内容较为简单也比较适合初学者和爱好者来学习本章代码基本上我把逻辑和操作都写上了注释方便大家理解和使用为了促进数字图像处理技术的学习我们一起加油uu们