yyfly1 2021-05-15 09:37 采纳率: 0%
浏览 18

MATLAB程序填空题

下面是某同学针对图像被灰度值为255的白点噪声干扰而在Matlab平台编写的利用3*3模板完成数字图像选择性中值滤波的程序。阅读并补充完整程序。 中值滤波Matlab程序如下:

F=[1 1 1 8 7 4; 2 255 2 3 3 3; 3 3 255 4 3 3; 3 3 3 255 4 6; 3 3 4 5 255 8; 2 3 4 6 7 8]%加载输入图像

G=F; imshow(uint8(F));%显示原图像

[m,n]=size(F); %提取原图像F空间分辨率,并存为变量m和n temp=0; %两个数交换时,临时存储数据所用变量 threshold=200; %设置阈值 for i=2:m-1 %设置行循环变量i及取值范围 for j=2:n-1 %设置列循环变量j及取值范围 if F(i,j)> threshold %阈值判断执行 a=[F(i-1,j-1),F(i-1,j),F(i-1,j+1),F(i,j-1),F(i,j),F(i,j+1),F(i+1,j-1),F(i+1,j),F(i+1,j+1)]; %将9个数据组成数组 %%%%利用冒泡法按从大到小排序 for u=1:8
%%%%%%%%%%%%%%%%%%%%%%%语句1begin (1分) %%%%%%%%%%%%%%%%%%%%%%%语句1 end
if a(v)<a(v+1)
%%%%%%%%%%%%%%%%%%%%%%%语句2begin (2分) %%%%%%%%%%%%%%%%%%%%%%%语句2 end %%%%%%%%%%%%%%%%%%%%%%%语句3begin (2分) %%%%%%%%%%%%%%%%%%%%%%%语句3 end %%%%%%%%%%%%%%%%%%%%%%%语句4begin (2分) %%%%%%%%%%%%%%%%%%%%%%%语句4 end end %判断结束
end %循环结束 end %循环结束
%%%%冒泡法排序结束
G(i,j)=a(5) ; %用中值替换结果图像G中相应的像素灰度值 end % 阈值判断执行结束
end %循环结束 end %循环结束 imshow(uint8(G),[]); %显示中值滤波的结果图像

  • 写回答

1条回答 默认 最新

  • 憧憬blog 2023-06-27 09:43
    关注

    中值滤波Matlab程序如下:

    F=[1 1 1 8 7 4; 2 255 2 3 3 3; 3 3 255 4 3 3; 3 3 3 255 4 6; 3 3 4 5 255 8; 2 3 4 6 7 8]; %加载输入图像
    
    G=F; 
    imshow(uint8(F)); %显示原图像
    
    [m,n]=size(F); %提取原图像F空间分辨率,并存为变量m和n 
    temp=0; %两个数交换时,临时存储数据所用变量 
    threshold=200; %设置阈值 
    
    for i=2:m-1 %设置行循环变量i及取值范围 
        for j=2:n-1 %设置列循环变量j及取值范围 
            if F(i,j)> threshold %阈值判断执行 
                a=[F(i-1,j-1),F(i-1,j),F(i-1,j+1),F(i,j-1),F(i,j),F(i,j+1),F(i+1,j-1),F(i+1,j),F(i+1,j+1)]; %将9个数据组成数组 
                %%%%利用冒泡法按从大到小排序 
                for u=1:8
                    for v=1:9-u
                        if a(v)<a(v+1)
                            temp=a(v);
                            a(v)=a(v+1);
                            a(v+1)=temp;
                        end
                    end
                end
                %判断结束
                %%%%%冒泡法排序结束
                
                G(i,j)=a(5) ; %用中值替换结果图像G中相应的像素灰度值 
            end % 阈值判断执行结束
        end %循环结束 
    end %循环结束 
    
    imshow(uint8(G),[]); %显示中值滤波的结果图像
    

    其中,需要补充完整的代码部分为:

    语句1:

    for v=1:8
    

    语句2:

    temp=a(v);
    

    语句3:

    a(v)=a(v+1);
    

    语句4:

    a(v+1)=temp;
    
    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题