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 پاسخ 1.1هزار بازدید
0 امتیاز
0 پاسخ 1.1هزار بازدید
0 امتیاز
0 پاسخ 604 بازدید
0 امتیاز
0 پاسخ 2.1هزار بازدید
0 امتیاز
0 پاسخ 636 بازدید
سوال شده 10 سال قبل در کامپیوتر و اینترنت توسط hamid2 (0 امتیاز)
0 امتیاز
0 پاسخ 325 بازدید
+1 امتیاز
2 پاسخ 9.3هزار بازدید
0 امتیاز
1 پاسخ 1.7هزار بازدید
...