【中值滤波和最邻近插值(matlab)】

Author:HanDi
上海某高校遥感专业 工科男
相信积微者速成,相信分享的力量
CSDN@这可真是难为我了

最近在学习matlab图像处理的内容。有些小练习就放在上面,复习自用。

最近学习编程,作为一个新手菜鸡,最深的感悟就是,一定要动手敲,切记不要以为自己懂了就ctrl c ctrl v,这样学习起来真的很难有收获。可以自己理解一遍后照着源码自己敲一遍(下面源码就是老师给的加上自己修改),最后要达到的效果就是脑中有思路,下手如有神~自己独立完成一个编程作业还是很有成就感的!

新手写技术博客没有什么经验,如有不足,还请大家多多包涵,欢迎大家私信交流 ^ _ ^ !!!一起进步~
以后会分享一些地理数据处理和数据挖掘的示例

下面是完整代码,我的matlab版本是 2021a

这里是示例数据与源码,自取
链接:https://pan.baidu.com/s/19sHYYgtvp2nlbhNCPdPbMA?pwd=bzq4
提取码:bzq4

%此程序用于练习xls文件读写,中值滤波原理,最临近法插值原理,图像显示
clc
clear
[gray] = xlsread('image_gray.xlsx');  %读入excel数据
%gray = uint8(gray);
[height,weight] = size(gray);  % 读取灰度图像矩阵的维度

%图像矩阵中随机引入高斯噪声
rng('default')
for i = 1:height
    for j = 1:weight
        gray(i,j) = gray(i,j) + randn;
        if gray(i,j) > 255
            gray(i,j) = 255;
        end
        if gray(i,j) <0 gray(i,j)="0;" end %进行中值滤波 result="zeros(height," weight); %生成的结果 prompt="&#x8F93;&#x5165;&#x6EE4;&#x6CE2;&#x6A21;&#x677F;&#x5C3A;&#x5BF8;(1&#x5230;7&#x4E4B;&#x95F4;&#x7684;&#x5947;&#x6570;)&#xFF1A; " ; x="input(prompt);" kernel_size="x;" % 模板尺寸 expand_size="floor(kernel_size" 2); 扩展尺寸 kernel="ones(kernel_size," kernel_size); %模板生成 expand_img="double(wextend('2D','zpd'," gray, expand_size)); 在原矩阵的外围填充0,使得中值模板运算后不改变图像大小 for i="1:height" j="1:weight" mat="expand_img(i:i+kernel_size-1,j:j+kernel_size-1)" .* kernel; %取出原矩阵中从(i,j)开始的n行n列元素与模板进行矩阵相乘 %展成一维数据 %排序 if mod(kernel_size, 2)="=1" %若为奇数 取排序后的中值 result(i,j)="mat((kernel_size*kernel_size+1)/2);" else 为偶数 取排序后中间两数的均值 + mat(kernel_size*kernel_size 2+1)) 2; %对图像矩阵进行最邻近插值 扩展为512x512大小 final_result="zeros(512," 512); alpha_h="height" 512; alpha_w="weight" src_x="round(i" * alpha_h); src_y="round(j" alpha_w); final_result(i,j)="result(src_x," src_y); %将double数据转化为uint8格式 figure() subplot(121) imshow(gray,[]);axis on title('原始图像') subplot(122) imshow(final_result);axis title('滤波并插值后512×512后的图像') %写入excel文件 xlswrite('result.xlsx', final_result); %存储jpg格式图像 imwrite(final_result,'result.jpg'); < code></0>

【中值滤波和最邻近插值(matlab)】

运行结果如上图

如有错误,欢迎评论,私信,会及时改正

Original: https://blog.csdn.net/weixin_42183989/article/details/122431619
Author: 这可真是难为我了
Title: 【中值滤波和最邻近插值(matlab)】

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/645126/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球