輪廓改進程度量化

2021-06-22 00:38:38 字數 2523 閱讀 2721

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.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;

endend

if gtindex == -1,%輸入資料出現錯誤,

fprintf('cannot find the groundtruth...');

return;

endpic2 = groundtruth.boundaries;

%pic1是精確化後的groundtruth,pic2是原始的groundtruth

[n,m] = size(pic1);

del_outer();%羅燦改動後的gt在四周會增加一圈,刪除它

pic = bitxor(pic1,pic2);

pic1 = pic1 & pic;

pic2 = pic2 & pic;

%計算修改程度

sum = 0;

for i = 1:n,

for j = 1:m,

if pic2(i,j) == 1,

sum = sum + cal(i,j,pic1);

endend

endfprintf('%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;

endfor i = 2:m-1,

pic1(1,i) = 0;

pic1(n,i) = 0;

endend%對每個基準點計算距離它最近的另乙個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 ;

endend

endend%判斷座標是否在影象內

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;

endend%將得出距離的路徑描實

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;

endend

程式複雜程度的定量度量

對程式複雜程度進行度量的目的 1.把程式的複雜程度乘以適當常數即可估算出軟體中錯誤的數量以及軟體開發需要用的工作量,2.定量度量的結果可以用來比較兩個不同的設計或兩個不同演算法的優劣 3.程式的定量的複雜程度可以作為模組規模的精確限度。度量方法 1.mccabe方法 mccabe方法根據程式控制流的...

商務統計 9 數值描述度量 離散程度

目錄 又稱變異程度。集中趨勢所描述的是資料集分布的中心 或一般水平的代表值。對於總體分布的分析,只有這一維度的分析顯然不夠。1.極差 又稱全距,等於一組資料中最大值 最小值,即r x max xmin r x x r xmax xm in 說明 2.平均離差 一組資料中,各變數值與均值之差的絕對值之...

11 看板實踐 用度量指導改進(筆記)

00.記得要讓團隊共同參與決策,這樣團隊就可以說出對他們有用的好指標。還要記得這一建議知識為了讓討論有效,你還要記得考慮過程相關的度量的同時,也要考慮業務相關的度量。01.週期 cycle 時間指的是工作項通過部分流程所用的時間,如開發或測試。前置時間則是指完成整個流程的時間,即從創意到特性完成投產...