[英]How to redisplay / recover a deleted text object from a Matlab figure?
[英]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.