轮廓改进程度量化

本文介绍了一个使用MATLAB实现的函数,用于测量图像修改的程度。该函数通过比较精确化后的groundTruth与原始groundTruth,计算每个改动点与最近改动点之间的距离之和作为修改程度的指标。
function measure_distance_1 (a)
%groundTruth修改程度的测量(以原始gT为基准)
%测量方法是计算有改动的原groundTruth中每一个坐标点与距其最近的改动后坐标之距离,并将此距离求和。
%输入为一个数字,为图像的索引(名称标号)。示例输入:measure_distance_1(8048).


    global pic;
    global pic1;
    global ori;
    global n;
    global m;
    ori = [-1,0;0,1;1,0;0,-1;-1,1;1,1;1,-1;-1,-1];%移动方向坐标,正方向在前,斜向在后;(一个改进思路:正方向和斜向设定权值)
    
    %载入精确化后的groundTruth
    patha = strcat('/home/hetianjian/matlab2010/R2010b/BSR/GroundTruth/',num2str(a),'.mat');
    load(patha)
    pic1 = groundTruth{1}.Boundaries;
    %载入BSDS500提供的原始groundTruth。罗灿修改了每个groundTruth中的一个,并且将其是哪个保存在details.txt中。
    pathb = strcat('/home/hetianjian/matlab2010/R2010b/BSR/bench/data/groundTruth/',num2str(a),'.mat');
    load(pathb);
    inputfile = fopen('details.txt','r');
	detail = fscanf(inputfile,'%d ',[2,101]);
    %在文件中找到罗灿是修改的哪个groundTruth
    gTindex = -1;
	for i = 1:101,
		if detail(1,i) == a,
           gTindex = detail(2,i);
           break;
        end
    end
    if gTindex == -1,%输入数据出现错误,
       fprintf('cannot find the groundTruth...');
       return;
    end
    pic2 = groundTruth{gTindex}.Boundaries;
    %pic1是精确化后的groundTruth,pic2是原始的groundTruth
    [n,m] = size(pic1);
    del_outer();%罗灿改动后的gT在图片四周会增加一圈,删除它
    pic = bitxor(pic1,pic2);
    pic1 = pic1 & pic;
    pic2 = pic2 & pic;
%     dlmwrite('pic.txt',[n,m],'-append','delimiter',' ','newline','unix');
%     dlmwrite('pic.txt',pic1,'-append','delimiter',' ','newline','unix');
%     dlmwrite('pic.txt',pic2,'-append','delimiter',' ','newline','unix');
    %计算修改程度
    sum = 0;
    for i = 1:n,
       for j = 1:m,
          if pic2(i,j) == 1,
             sum = sum + cal(i,j,pic1); 
          end
       end
    end
    fprintf('%d\n',sum);
    imshow(pic);
end

%删除罗灿改动后gT在四周出现的一圈标定
function del_outer(pic)
    global pic1;
    global n;
    global m;
    for i = 1:n,
       pic1(i,1) = 0;
       pic1(i,m) = 0;
    end
    for i = 2:m-1,
       pic1(1,i) = 0;
       pic1(n,i) = 0;
    end
end

%对每个基准点计算距离它最近的另一个gT中点的距离
function dis = cal(x,y,another_pic)
    global ori;
    for dis = 1:5,
       for i = 1:8,
           xx = x+ori(i,1)*dis;
           yy = y+ori(i,2)*dis;
           if check(xx,yy) && another_pic(xx,yy) == 1,
              fill_image(x,y,i,dis);
              return ; 
           end
       end
    end
end

%判断坐标是否在图像内
function check = check(x,y)
    global n;
    global m;
    if x<1||y<1||x>=n+1||y>=m+1
       check = 0;
    else
       check = 1;
    end
end


%将得出距离的路径描实
function fill_image(x,y,orient,dis)
    global pic;
    global ori;
    for i = 1:dis,
       pic(x+ori(orient,1)*i,y+ori(orient,2)*i) = 1; 
    end
end

内容概要:本文档是一份关于交换路由配置的学习笔记,系统地介绍了网络设备的远程管理、交换机与路由器的核心配置技术。内容涵盖Telnet、SSH、Console三种远程控制方式的配置方法;详细讲解了VLAN划分原理及Access、Trunk、Hybrid端口的工作机制,以及端口镜像、端口汇聚、端口隔离等交换技术;深入解析了STP、MSTP、RSTP生成树协议的作用与配置步骤;在路由部分,涵盖了IP地址配置、DHCP服务部署(接口池与全局池)、NAT转换(静态与动态)、静态路由、RIP与OSPF动态路由协议的配置,并介绍了策略路由和ACL访问控制列表的应用;最后简要说明了华为防火墙的安全区域划分与基本安全策略配置。; 适合人群:具备一定网络基础知识,从事网络工程、运维或相关技术岗位1-3年的技术人员,以及准备参加HCIA/CCNA等认证考试的学习者。; 使用场景及目标:①掌握企业网络中常见的交换与路由配置技能,提升实际操作能力;②理解VLAN、STP、OSPF、NAT、ACL等核心技术原理并能独立完成中小型网络搭建与调试;③通过命令示例熟悉华为设备CLI配置逻辑,为项目实施和故障排查提供参考。; 阅读建议:此笔记以实用配置为主,建议结合模拟器(如eNSP或Packet Tracer)动手实践每一条命令,对照拓扑理解数据流向,重点关注VLAN间通信、路由选择机制、安全策略控制等关键环节,并注意不同设备型号间的命令差异。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值