国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

計算兩個多邊形的最近距離(MATLAB)

這篇具有很好參考價值的文章主要介紹了計算兩個多邊形的最近距離(MATLAB)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

? ? ? ? 本文意在介紹關(guān)于計算兩組坐標(biāo)點的最近距離的簡單方法,可用此方法來計算兩個多邊形的最近距離以及距離最近的兩個點。下面展示具體實例。

函數(shù)代碼

function [ point1,point2,dis ] = Mindistance( F1,F2 )
%此函數(shù)為計算兩組坐標(biāo)點之間的最近距離并找出距離最近的一對坐標(biāo)點
%輸入分別為兩組坐標(biāo)點的二維數(shù)組,必須是n行兩列
max_x1=max(F1(:,1));max_x2=max(F2(:,1));
max_y1=max(F1(:,2));max_y2=max(F2(:,2));
max_x=max(max_x1,max_x2);
max_y=max(max_y1,max_y2);
img1_1=zeros(max_x,max_y);%建立一個二值圖像使兩數(shù)組中的點都可以出現(xiàn)在該圖中
img2_1=img1_1;
%讓數(shù)組F1,F2中的坐標(biāo)點各自顯現(xiàn)在兩個二值圖像中
for i0=1:length(F1(:,1))
    img1_1(F1(i0,1),F1(i0,2))=1;
end
for i1=1:length(F2(:,1))
    img2_1(F2(i1,1),F2(i1,2))=1;
end

[img1_2,dix] = bwdist(img1_1);%dix反映img1_1每個黑點對應(yīng)的最近的白點的索引下標(biāo)
img2_2=img2_1.*img1_2;%img2_2中不為0的點表示img2_1中該點到img1_1中點的最近距離
dis=min(img2_2(img2_2~=0));%找到兩個數(shù)組中的點的最近距離
[x1,y1]=find(img2_2==dis);%找出F2中距離F1最近的點的坐標(biāo)
L=length(x1);
point1=[L,2];
point2=cat(2,x1,y1);%設(shè)置point1,point2數(shù)組,記錄兩組坐標(biāo)點中距離最近的點的坐標(biāo)

for i=1:L
  num=dix(x1(i),y1(i));
  [x,y]=ind2sub([max_x,max_y], num); %來完成下標(biāo)到索引值的轉(zhuǎn)換。
  point1(i,1)=x;
  point1(i,2)=y;      
end

end

????????該函數(shù)可以比較快速的計算兩組坐標(biāo)點之間的最小距離,并返回相應(yīng)的坐標(biāo)。缺點是只能計算整數(shù)坐標(biāo)值,且坐標(biāo)值需大于0。

測試程序

clc
 img1=zeros(20,20);%首先生成一個20×20像素的二值圖像
for i=8:15
    for j=8:i
        img1(i,j)=1;
    end
end
img1(16,9)=1;
img1(17,9)=1;
img1(18,9)=1;
img1(18,10)=1;%在二值圖像中隨意設(shè)計一個多邊形區(qū)域
[x1,y1]=find(img1==1);
f1=cat(2,x1,y1);
%再生成衣服同樣大小的二值圖像,里面同樣包含一個二值多邊形區(qū)域
img2=zeros(20,20);
img2(2,1)=1;
img2(2,2)=1;
img2(3,1)=1;
img2(3,2)=1;
img2(3,3)=1;
[x2,y2]=find(img2==1);
f2=cat(2,x2,y2);
[ point1,point2,dis ] = Mindistance( f1,f2 );%調(diào)用函數(shù)計算兩個多邊形的最小距離
figure(1)
imshow(img1|img2)%在一幅畫面中顯示兩個多邊形
hold on
plot(point1(:,2),point1(:,1),'*')
plot(point2(:,2),point2(:,1),'*')
tip=mean(cat(1,point1,point2));
text(tip(2),tip(1),num2str(dis),'color','b','FontSize',12,'HorizontalAlignment','center');%標(biāo)記距離
hold off

測試結(jié)果

matlab計算多邊形距離,matlab,圖像處理,幾何學(xué)

?從圖中可以看到兩個距離最近的坐標(biāo)點及兩點間的距離。文章來源地址http://www.zghlxwxcb.cn/news/detail-720592.html

到了這里,關(guān)于計算兩個多邊形的最近距離(MATLAB)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 空間分析實戰(zhàn)指南:點到多邊形的最短距離

    在我們最近的項目中,出現(xiàn)了一個新的需求:需要驗證現(xiàn)場拍攝的照片的經(jīng)緯度與實際地塊之間的最短距離,以確保業(yè)務(wù)員在地塊的一公里范圍內(nèi)進行拍照。 實現(xiàn)這個功能有兩種方式,一種是在前臺APP中校驗,一種是在后臺進行校驗,接下來我會分別介紹這兩種方式。 在我

    2024年02月13日
    瀏覽(22)
  • 計算機圖形學(xué) 第4章 多邊形填充

    計算機圖形學(xué) 第4章 多邊形填充

    了解掃描轉(zhuǎn)換的基本概念。 熟練掌握多邊形有效邊表填充算法。 掌握多邊形邊緣填充算法。 熟練掌握區(qū)域四鄰接點和八鄰接點區(qū)域填充算法。 掌握區(qū)域掃描線種子填充算法。 無論使用哪種著色模式,都意味著要使用指定顏色為多邊形 邊界內(nèi) 的每一個像素著色。 多邊形的

    2024年02月02日
    瀏覽(93)
  • 【計算幾何】判斷多邊形邊界順逆時針 & C++代碼實現(xiàn)

    【計算幾何】判斷多邊形邊界順逆時針 & C++代碼實現(xiàn)

    多邊形可以由一個點集 { v 1 , v 2 , . . . , v n } {v_1,v_2,...,v_n} { v 1 ? , v 2 ? , ... , v n ? } 表示,構(gòu)成多邊形的點集確定,多邊形邊界的順序也就確定了 有關(guān)多邊形邊界的順序的示意圖,如下圖所示: 有時候關(guān)于數(shù)據(jù)格式有規(guī)定,要求多邊形邊界必須為順時針或者逆時針。 因

    2024年02月07日
    瀏覽(93)
  • 【W(wǎng)eiler-Atherton算法】 計算機圖形學(xué)多邊形裁剪算法

    【W(wǎng)eiler-Atherton算法】 計算機圖形學(xué)多邊形裁剪算法

    源代碼: https://github.com/ricar0/Weiler-Atherton-Alogrithm/tree/master 通常來說就是利用多邊形來裁剪多邊形的一種方法,一般情況下是利用矩形來裁剪凹凸多邊形 凸多邊形 凹多邊形 上面紅色劃線部分就是裁剪出的部分 OPENGL基礎(chǔ)語法 基本上就是一些畫線和畫多邊形的操作,難度較低

    2023年04月09日
    瀏覽(90)
  • 【計算機圖形學(xué) 】掃描線多邊形填充算法 | OpenGL+鼠標(biāo)交互

    【計算機圖形學(xué) 】掃描線多邊形填充算法 | OpenGL+鼠標(biāo)交互

    傳送門 實現(xiàn)多邊形掃描線填充算法,并和鼠標(biāo)進行交互。 具體原理略過,會貼上完整代碼,可直接運行。 環(huán)境: vs2019,OpenGL的庫(可以搜索如何用vs使用OpenGL的庫,可以使用vs自帶的插件或者其他方法,很方便) 要點: 1.NET和AET的創(chuàng)建,改動 2.改變鼠標(biāo)點擊和鼠標(biāo)拖拽的響應(yīng)

    2023年04月08日
    瀏覽(101)
  • 再說不會用python計算地球表面多邊形面積,可不能了?。ㄓ涗浳宸N可行方法)

    再說不會用python計算地球表面多邊形面積,可不能了?。ㄓ涗浳宸N可行方法)

    由于地理投影導(dǎo)致導(dǎo)致每個像元實際地面面積不同,越靠近北極實際面積越小,越靠近赤道實際面積越大, 如果不進行面積加權(quán)就簡單平均,會導(dǎo)致溫度較實際溫度偏低。 直接使用衛(wèi)星地圖的計算面積功能就會遇到這樣的問題,多數(shù)衛(wèi)星地圖的計算面積功能是將地圖假設(shè)為

    2024年02月01日
    瀏覽(27)
  • 計算機圖形學(xué)實驗——利用MFC對話框?qū)崿F(xiàn)多邊形繪制與填充(掃描線填充算法)附源碼

    計算機圖形學(xué)實驗——利用MFC對話框?qū)崿F(xiàn)多邊形繪制與填充(掃描線填充算法)附源碼

    內(nèi)容概括: 利用基于對話框的MFC項目 實現(xiàn)鼠標(biāo)點擊繪制多邊形 實現(xiàn)掃描線算法填充多邊形 源碼見Yushan-Ji/ComputerGraphics: ECNU2023秋 計算機圖形學(xué)課程實驗代碼 (github.com) 通過鼠標(biāo)交互輸入多邊形 對各種多邊形進行填充,包括邊界自交的情況 利用 OnLButtonDown 和 OnRButtonDown 函數(shù),

    2024年02月04日
    瀏覽(175)
  • 【計算幾何】凸多面體重疊判斷算法:GJK 算法詳解 & C++代碼實現(xiàn)二維情形的凸多邊形重疊判斷

    【計算幾何】凸多面體重疊判斷算法:GJK 算法詳解 & C++代碼實現(xiàn)二維情形的凸多邊形重疊判斷

    GJK 算法是由 Gilbert,Johnson,Keerthi 三位前輩發(fā)明的, 用來計算兩個凸多面體之間的碰撞檢測 ,以及最近距離。 GJK 算法可以在 O ( M + N ) O(M+N) O ( M + N ) 的時間復(fù)雜度內(nèi),檢測出碰撞,算法在每次迭代的過程中,都會優(yōu)先選擇靠近原點的方向,因此收斂速度會很快。算法的證明

    2024年02月08日
    瀏覽(22)
  • opencv 之 外接多邊形(矩形、圓、三角形、橢圓、多邊形)使用詳解

    opencv 之 外接多邊形(矩形、圓、三角形、橢圓、多邊形)使用詳解

    本文主要講述opencv中的外接多邊形的使用: 多邊形近似 外接矩形、最小外接矩形 最小外接圓 外接三角形 橢圓擬合 凸包 將重點講述最小外接矩形的使用 給一個opencv官方的例程: 過程圖像如下: 橢圓擬合一般用于輪廓提取之后: 凸包繪制 計算兩個旋轉(zhuǎn)矩形交集: C++版的最

    2024年02月09日
    瀏覽(228)
  • 基于C++ 的OpenCV繪制多邊形,多邊形多條邊用不用的顏色繪制

    使用基于C++的OpenCV庫來繪制多邊形,并且為多邊形的不同邊使用不同的顏色,可以按照以下步驟進行操作: 首先,確保你已經(jīng)安裝了OpenCV庫并配置好了你的開發(fā)環(huán)境。 導(dǎo)入必要的頭文件: 創(chuàng)建一個空白的圖像,然后繪制多邊形,并為每條邊選擇不同的顏色: 在這個示例中,

    2024年02月13日
    瀏覽(90)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包