簡體   English   中英

如何轉換成數字在MATLAB中的對象?

[英]How to convert figure in matlab to object?

抱歉,如果我的問題還沒有完全理解...我將通過描述我的問題來澄清它...

我的對象(在二進制圖像中)幾乎彎曲且很長。 我想繪制一條從其最高點到最低點的線,然后填充曲線和直線之間的封閉區域以測量其面積,或出於相同目的找到曲線中的每個點與直線之間的距離...我知道通過使用以下方法繪制線條很容易:

imshow(fnnShrink)
hold on
plot([TLx , BRx ],[TLy ,BRy],'-', 'MarkerFaceColor' , 'b')
hold off

這給了我漂亮的彩色線(在matlab中),但是問題是我無法對此線進行任何測量(僅用於顯示)。 甚至當這里一位朋友告訴我嘗試處理程序時,它仍然只給我一行的長度(無濟於事)。 我嘗試的一種解決方案是通過使用線方程將像素設置為1來自行創建一條線,並在圖像中創建新的對象線,如下所示:

m = (TLy - BRy) / (TLx - BRx); % Always Same
   for i = TLx : 1 : BRx
        fnnShrink(round(m * (i - TLx) + TLy) , round(i)) = 1;
        fTest(round(m * (i - TLx) + TLy) , round(i)) = 1;
    end

如果(在上點和下一個點之間的)距離(在X軸上)相對較大,則此解決方案適用於某些圖像,問題是當距離很小(斜率為負)時,我只有離散的線而不是連續的(上下兩點之間的一組點)...我的問題..如果可以的話,請幫助我...

實際上,imshow作為matlab中的所有繪圖功能,不僅顯示繪圖。 它還返回所創建對象的句柄(與指針等效的matlab)。 所以,你只需要

new_object = imshow(...)

而不只是展示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM