⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fanyan.m

📁 用于对天文图像进行去噪和探测
💻 M
字号:
function [err,DestImage,Xlabel,Ylabel]=FanYan(FourFrame, Height, Width,LineNum)

fid = fopen(FourFrame);
Xlabel=[];
Ylabel=[];
if fid ~= -1
    err=0;    
    file = textscan(fid, '%s', 'delimiter', '\n', 'whitespace', '');
    fclose(fid);
    Hang=file{1};    
    HangSize_t=size(Hang,1);
    cnt=HangSize_t;
    while cnt >= 1
        if isequal(Hang{cnt}, '') == 1
            cnt = cnt-1;
        else
            break;
        end
    end
    HangSize = cnt;
    SatNum_t=Hang{LineNum,:};
    SatNum=str2num(strrep(SatNum_t,'SATEOBJ_NUM=',''));
    DestImage=zeros(Height,Width);
    if SatNum ~=0
        xlabels=zeros(1,SatNum);
        ylabels=zeros(1,SatNum);
        for i=1:SatNum
            Lines{i}=Hang{HangSize-i+1,:};
            xlabels(i)=sscanf(Lines{i},'%*s %f',1);
            ylabels(i)=sscanf(Lines{i},'%*s %*f %*s %f',1);
            xlabel=round(xlabels(i));
            ylabel=round(ylabels(i));
            Xlabel=[Xlabel xlabel];
            Ylabel=[Ylabel ylabel];
            
            if xlabel>1 && ylabel>1 && xlabel<Height && ylabel<Width
                for x=xlabel-1:xlabel+1
                    for y=ylabel-1:ylabel+1
                        DestImage(x,y)=1;
                    end
                end
            elseif xlabel==1 && ylabel>1 && ylabel<Width
                for x=1:3
                    for y=ylabel-1:ylabel+1
                        DestImage(x,y)=1;
                    end
                end
            elseif ylabel==1 && xlabel>1 && xlabel<Height
                for x=xlabel-1:xlabel+1
                    for y=1:3
                        DestImage(x,y)=1;
                    end
                end
            elseif xlabel==Height && ylabel>1 && ylabel<Width
                for x=Height-2:Height
                    for y=ylabel-1:ylabel+1
                        DestImage(x,y)=1;
                    end
                end
            elseif ylabel==Width && xlabel>1 && xlabel<Height
                for x=xlabel-1:xlabel+1
                    for y=Width-2:Width
                        DestImage(x,y)=1;
                    end
                end
            elseif xlabel==1 && ylabel==1
                for x=1:3
                    for y=1:3
                        DestImage(x,y)=1;
                    end
                end
            elseif xlabel==1 && ylabel==Width
                for x=1:3
                    for y=Width-2:Width
                        DestImage(x,y)=1;
                    end
                end
            elseif ylabel==1 && xlabel==Height
                for x=Height-2:Height
                    for y=1:3
                        DestImage(x,y)=1;
                    end
                end
            elseif ylabel==Width && xlabel==Height
                for x=Height-2:Height
                    for y=Width-2:Width
                        DestImage(x,y)=1;
                    end
                end
            end
        end
    else
        DestImage=zeros(Height,Width);
        Xlabel=[];
        Ylabel=[];
    end
else
    err=1;
    DestImage=zeros(Height,Width);
    Xlabel=[];
    Ylabel=[];
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -