overlap grid on an image with checkbox
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi,
I have this Gui that displays two images and now i want to overlap one of the images with a grid by using a checkbox so that the user can turn the grid on or off. i have already managed to create a grid over the image but now i need to have this feature on my GUI but i'm kind of stuck here.
any help?
This is the code i have for reading the image and overlap the mesh:
I = (imread([pathname, filename]));
%Normalizes light with Otsu's criteria
level = graythresh(I);
%RGB to binary
BW = im2bw(I,level);
handles.I = I;
axes(handles.axes1)
imshow(handles.I)
hold on
%mesh Grid
M = size(BW,1);
N = size(BW,2);
for k = 1:468:M
x = [1 N];
y = [k k];
plot(x,y,'LineWidth',2,'Color','w','LineStyle','-');
plot(x,y,'LineWidth',2,'Color','k','LineStyle',':');
end
for k = 1:340:N
x = [k k];
y = [1 M];
plot(x,y,'LineWidth',2,'Color','w','LineStyle','-');
plot(x,y,'LineWidth',2,'Color','k','LineStyle',':');
hold off
Thank you
Nuno
0 commentaires
Réponse acceptée
Walter Roberson
le 27 Juil 2011
To each plot() command add the parameter pair 'Tag', 'MyGrid'
Then
set(findobj('Tag','MyGrid'),'Visible','off')
would set it to be invisible
4 commentaires
Uzair
le 15 Mai 2013
I have similar problem. Below is my code...when ever i check the box, the image is replaced with blank screen with a vertical line in middle..Help me please
function show_grid_Callback(hObject, eventdata, handles) % hObject handle to show_grid (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) if (get(handles.show_grid, 'Value')) % rgb = imread('IK.jpg');
imshow(handles.img,'Parent', handles.axes3);
hold on
M = size(handles.img,1);
N = size(handles.img,2);
a=str2double(get(handles.edit3, 'String')); b=str2double(get(handles.edit5, 'String'));
for k = 1:a:M x = [1 N]; y = [k k];
plot(x,y,'Color','black','LineStyle','-','Parent', handles.axes3);
set(findobj('Tag','MyGrid'),'Visible','on')
% plot(x,y,'Color','k','LineStyle',':');
end
for k = 1:b:N x = [k k]; y = [1 M];
plot(x,y,'Color','black','LineStyle','-','Parent', handles.axes3);
set(findobj('Tag','MyGrid'),'Visible','on')
% plot(x,y,'Color','k','LineStyle',':');
end
hold off else imshow(handles.img,'Parent', handles.axes3); end % Hint: get(hObject,'Value') returns toggle state of show_grid guidata(hObject, handles);
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Migrate GUIDE Apps dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!