0 امتیاز
قبل در کامپیوتر و اینترنت توسط (596 امتیاز)
برچسب گذاری دوباره قبل توسط

چگونه می تونم با ماوس یک منحنی بکشم به طوری که تصویر خروجی از آن دریافت کتم؟

من کد زیر را پیدا کردم ولی مشکل اینجاست که شکل کشیده شده ذخیره نمیشه و فقط نشون داده میشه!

function main_test

S.fH = figure('menubar','none');
im = imread( 'c:\blank.jpg' );

S.aH = axes;
S.iH = imshow( im ); hold on
axis image;

X = [];
Y = [];

set(S.aH,'ButtonDownFcn',@startDragFcn)
set(S.iH,'ButtonDownFcn',@startDragFcn)
set(S.fH, 'WindowButtonUpFcn', @stopDragFcn);

uicontrol('Style', 'pushbutton', 'String', 'Clear',...
        'Position', [20 20 50 20],...
        'Callback', @clearIt); 
uicontrol('Style', 'pushbutton', 'String', 'Start',...
    'Position', [80 20 50 20],...
    'Callback', @run_program );


function startDragFcn(varargin)
    set( S.fH, 'WindowButtonMotionFcn', @draggingFcn );
    pt = get(S.aH, 'CurrentPoint');
    x = pt(1,1);
    y = pt(1,2);
    X = x;
    Y = y;
end

function draggingFcn(varargin)
    pt = get(S.aH, 'CurrentPoint');
    x = pt(1,1);
    y = pt(1,2);
    X = [X x];
    Y = [Y y];

    plot(X, Y, 'r', 'LineWidth', 4);
    hold on
    drawnow 
end

function stopDragFcn(varargin)
    set(S.fH, 'WindowButtonMotionFcn', '');  %eliminate fcn on release
end

end

function clearIt(h, evt)
close all;
main_test();
end

function run_program(h,evt)
figure;imshow(im);
end

با کلیک روی دکمه start همان تصویر سفید اول نمایش داده میشه در صورتی که من می خوام منحنی رسم شده هم به آن اضافه شده باشه.

ممنون میشم اگر کسی یا این کد را تکمیل کنه یا کد دیگری پیشنهاد بده که همین کار رو انجام بده.

1 پاسخ

0 امتیاز
قبل توسط (596 امتیاز)
 
بهترین پاسخ

سوالات مشابه

0 امتیاز
0 پاسخ 926 بازدید
0 امتیاز
0 پاسخ 1.1هزار بازدید
0 امتیاز
0 پاسخ 542 بازدید
0 امتیاز
0 پاسخ 1.9هزار بازدید
0 امتیاز
0 پاسخ 569 بازدید
0 امتیاز
0 پاسخ 273 بازدید
+1 امتیاز
2 پاسخ 9.0هزار بازدید
0 امتیاز
1 پاسخ 1.4هزار بازدید
...