91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

Matlab檢測消失點源代碼,并且可以實現深度圖填充

資源截圖

代碼片段和文件信息

sourcePic=imread(‘xcv-2.jpg‘);
sourcePic=rgb2gray(sourcePic);

sourcePic=im2double(sourcePic);

%使用水平和垂直Sobel算子自動選擇閾值?
edgePic=edge(sourcePic‘sobel‘‘horizontal‘);?
figureimshow(edgePic)title(‘水平圖像邊緣檢測‘);?%?顯示邊緣探測圖像?

edgePic=edge(sourcePic‘sobel‘‘vertical‘);?

figureimshow(edgePic)title(‘垂直圖像邊緣檢測‘);?%?顯示邊緣探測圖像?

edgePic=edge(sourcePic‘sobel‘);?

[heightwidth]=size(edgePic);?

?%圖像中直線的個數
?LINE_COUNT?=?100;
?
?%?Hough變換檢測直線,g(x)=(ap)為邊界點對應的平面??
?ma=180;?%a的值為0到180度??

?mp=round(sqrt(height^2+width^2));?%對應P的最大值??

?npc=zeros(ma2*mp);?%用于記錄(ap)對應的點的個數??
?
?MAP=zeros(height?width);
?
?npp=cell(ma2*mp);?%用于記錄(ap)對應的點的坐標??
?
?for?i=1:height?%計算(ap)的值,并做相應記錄??

?????for?j=1:width??

?????????if(edgePic(ij)==1)??

?????????????for?k=1:ma
?????????????????p?=?round(i*cos(pi*k/180)+j*sin(pi*k/180));
?????????????????npc(kmp+p)=npc(kmp+p)+1;
?????????????????npp{kmp+p}=[npp{kmp+p}[ij]‘];
?????????????end??

?????????end??

?????end??

?end


LNum?=?0;???????????????????????%得到的直線的數目
LPC?=?zeros(LINE_COUNT6);??????%直線的參數集合?元素為?[Number][k][b][a][p][DP]???分別為直線的:?編號?斜率?截距?角度a?弦長p?是否為消失線
index?=?1;


%提取直線的閥值
LT?=?90;

for?i=1:ma??????

?????for?j=1:mp*2??

?????????if(npc(ij)?>?LT)?
?????????????
????????????????lk=?-cot(pi*i/180);
????????????????lb=?round((j?-?mp?-?1)/sin(pi*i/180));

????????????????%保存直線的參數,順序為?編號?(kb)?(ap)
????????????????LNum?=?LNum?+?1;
????????????????
????????????????LPC(index1)?=?LNum;%存儲直線的編號
????????????????LPC(index2)?=?lk;
????????????????LPC(index3)?=?lb;
????????????????LPC(index4)?=?i;
????????????????LPC(index5)?=?j;
????????????????
????????????????index?=?index?+?1;
????????????????
????????????????lp=npp{ij};
????????????????for?k=1:npc(ij)
?????????????????????MAP(lp(1k)lp(2k))=1;??
????????????????end
?????????end??

?????end??

end??

figureimshow(MAP);title(‘檢測出的直線圖‘);

%求出總共有多少交點
InterCount?=?LNum*(LNum?-?1)*0.5;

LInter?=?zeros(InterCount4);???????????%直線的交點集合?元素為?兩條相交直線的編號?ij?和?交點坐標?xy?.?有?i?????????????????????????????????????????%元素個數為?n*(n?-?1)/2
%下面的代碼是求直線的交點
T?=1;

LIC?=?0;????????????????????????????????%直線交點的個數

for?i?=?1:LNum?-?1
????for?j?=?i?+?1:LNum
????????
????????k1?=?LPC(i2);
????????b1?=?LPC(i3);

????????k2?=?LPC(j2);
????????b2?=?LPC(j3);
????????
????????dp?=?k1?-?k2;???????????????????%得到兩條直線斜率之差
????????
????????if(abs(dp?-?0)?>?10e-03)????????%如果斜率之差太小,就可以認為這兩條直線平行而沒有交點。
????????????
????????????LIC?=?LIC?+?1;??????????????%直線交點個數加一
????????????
????????????X?=?(b2?-?b1)/(k1?-?k2);????%?X?=?(b2?-?b1)/(k1?-?k2)
????????????Y?=?k1?*?X?+?b1;????????????%?Y?=?k1?*?X?+?b1
????????????LInter(LIC1)?=?i;
????????????LInter(LIC2)?=?j;
????????????LInter(LIC3)?=?round(X);
????????????LInter(LIC4)?=?round(Y);
????????????
????????end
????end
end


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%以下的部分是求消失點和消失線的參數
%%%

評論

共有 條評論