show image in axes

A

amhlimh

Author
mọi người cho mình hỏi chút được không ạ, mình đang làm về lập trình guide giao tiếp với vi điều khiển qua rs232, trên matlab mình có một hàm ngắt nhận dữ liệu trên matlab, trong hàm ngắt này mình muốn hiển thị 1 ảnh ra axes mình dùng lệnh axes(handles.axes1) sau đó imshow() thì mtlab báo lỗi, mình bỏ dòng lệnh này đi thì matlab lại hiển thị ảnh ra 1 firgue chứ không hiển thị ra axes . Ai có cách giải quyết cho trường hợp này không . Mình cảm ơn.
Đây là code:

nút nhấn
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global s a
s = serial('COM1','Baudrate',9600,'DataBits',8,'Parity','none','StopBits',1);
s.BytesAvailableFcnCount = 1; % cu 1 byte trong bo dem nhan thi xay ra ngat
s.Timeout = 1; %Ngat xay ra trong 1s neu qua se timeout
s.BytesAvailableFcnMode = 'byte';
s.BytesAvailableFcn = @pushbutton3_Callback;
try
fopen(s);
catch err;
if (strcmp(err.identifier,'MATLAB:serial:fopen:eek:pfailed'))
msgbox('Open COMport fail!!! Please try again!','Error','error');
end
end

chương trình ngắt
function Serial_Callback(hObject,eventdata ,handles)
global video hinh I J K a;
video = videoinput('winvideo',2);
hinh = getsnapshot(video);
imwrite(hinh,'anh.jpg');
a = imread('anh.jpg');
imshow(a)
axes(handles.axes1);
imshow(a);
J = rgb2gray(a);%chuyen anh rgb thanh anh gray
J = imadjust(J);%tang do tuong phan
K = im2bw(J,0.7);%chuyen thanh anh den trang voi level 0.7
K = imfill(K,'hole');%lay cac doi tuong kin
K = bwareaopen(K,2500);%loai bo nhung doi tuong kin co dien tich nho hon 2500pixel
axes(handles.axes2);
imshow(K);
 
Top