2017-06-28 150 views
0

我有一個具有地形數據的矩陣,我們假設有幾個山丘。我想知道每個數據點與垂直線的角度信息。這裏有兩個例子:爲每個三角形計算矩陣與地形的角度

  1. 如果我認爲山附近的地方是完全平坦的,我有一個90度(垂直線90度)。
  2. 如果我在山頂最陡峭的地方,我有一個較低的角度,比如50°。

爲了計算這個,我想我必須連接所有的地形數據,以便(至少)三個附近的像素形成三角形。之後,我必須計算這個三角形的角度。

我可以使用現有算法嗎?

+0

你可以添加一個示例圖像嗎?你還在談論哪個角度?我懷疑['imgradient'](https://uk.mathworks.com/help/images/ref/imgradient.html)可能對你有用,但我不太瞭解這個問題。 –

回答

1

如果你的高度圖是一個矩陣,那麼你可以通過

Xgrad = (A(2:end-1,3:end)-A(2:end-1,1:end-2))/2; 
    Ygrad = (A(3:end,2:end-1)-A(1:end-2,2:end-1))/2; 

逼近每一個內點(不egdes)的梯度組件然後angulars將

deg = (pi/2 - atan(sqrt(Xgrad.^2 + Ygrad.^2),1))/pi*180; 

根據你的高度圖,數值區分會產生「模糊」結果。也許你必須做一些模糊濾波以產生更平滑的漸變。

相關問題