日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

利用matlab提取中心线

發布時間:2023/12/13 循环神经网络 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用matlab提取中心线 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

先看看代碼運行結果(紅色部分表示河流中心線,黑色表示河流兩岸!):

注:

1. 由于河流兩岸的坐標不是等距采樣,所以無法保證100%準確,只要按著要求處理河岸坐標數據Shape文件,能保證95%以上能和真正的中心線重合;

2. 一條河流計算一次,支流另行計算;

3.計算中心線同樣適合公路,且效果更好。

本程序主要有兩個難點:

? ? ? ? 1. 提取中心線

? ? ? ? 2. 兩側目標點對應匹配

解決方法:

? ? ? ? 1. 利用三角網格方法計算中心線(提示:三角形側邊中點連線平行于底邊,因此只需要計算側邊中點);

? ? ? ? 2. 可以通過重采樣的方式來實現;

部分matlab代碼:

%==================================說明==================================== % 根據河流兩岸的一些列點坐標(2D),計算中心線,計算河流蜿蜒度; % 作用:根據河流兩岸的一些列點坐標(2D),計算中心線,計算河流蜿蜒度; % 作者:胡禮珍 % 單位:廈門大學聯合遙感接收站 % 郵件:hulizhen@xmu.edu.cn % Q Q:249***701 clear;close all;clc; [FileName,PathName,index] = uigetfile({'*.shp'},'shp文件讀取','MultiSelect','off'); if index == 0errordlg('Shape輸入錯誤,請重新輸入','輸入錯誤');return; %終止運行程序 end % 由于數據的原因,不建議批量處理 S = shaperead([PathName,FileName]); % 讀取Shape文件 if length(S) ==2 % 若線段個數等于2%% Result_Data= River_Shoreline(S)./1000; % 計算首尾位移和路程line1 = [S(1).X',S(1).Y';]; % 第一條岸線line2 = [S(2).X',S(2).Y';]; % 第二條岸線% line1和line2必須首尾一直line2 = line2(end:-1:1,:); % line 翻轉,根據實際而定% Centerline = Center_Line(line1,line2); % 計算中心線[Centerline,line1,line2] = Center_Line(line1,line2); % 計算中心線%% 計算路程和路徑% 第一行表示位移長度,剩下的每行表示一條線段的長度Result_Data = sqrt(sum((Centerline-[Centerline(end,:);Centerline(1:end-1,:)]).^2,2));Result_Data = [Result_Data(1,:),sum(Result_Data(2:end,:))]./1000; % [位移,路程]Meanderness = Result_Data(1,2)/Result_Data(1,1); % 蜿蜒度 else % 若線段個數不等于2errordlg('Shape輸入錯誤,請重新處理Shape文件','輸入錯誤');return; % 終止運行程序 end%% 顯示 figure('Name','位置') plot(line1(:,1),line1(:,2),'k') hold on plot(line2(:,1),line2(:,2),'k') plot(Centerline(:,1),Centerline(:,2),'r') hold off

注:核心部分代碼就不公布了,自行下載。

完整代碼地址:matlab-計算河流蜿蜒度和提取中心線-其它文檔類資源-CSDN下載

完整代碼中有Word講解,完整的程序,以及測試的代碼!

也可以根據我的提示,自己編寫代碼,這樣更能提高寫代碼能力。

路漫漫其修遠兮,吾將上下而求索!

總結

以上是生活随笔為你收集整理的利用matlab提取中心线的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。