چگونه می تونم با ماوس یک منحنی بکشم به طوری که تصویر خروجی از آن دریافت کتم؟
من کد زیر را پیدا کردم ولی مشکل اینجاست که شکل کشیده شده ذخیره نمیشه و فقط نشون داده میشه!
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 همان تصویر سفید اول نمایش داده میشه در صورتی که من می خوام منحنی رسم شده هم به آن اضافه شده باشه.
ممنون میشم اگر کسی یا این کد را تکمیل کنه یا کد دیگری پیشنهاد بده که همین کار رو انجام بده.