how to convert char array to two dimension image

12 vues (au cours des 30 derniers jours)
sallam tanna
sallam tanna le 30 Avr 2016
Commenté : sallam tanna le 1 Mai 2016
hello my gui brows an image and I want to apply edge method on this image but the problem that when i brows image it appear as string , so i cant apply edge method?? can anyone tell me how to solve this problem please ?
  2 commentaires
Walter Roberson
Walter Roberson le 1 Mai 2016
Please post your code.
It sounds like you might be trying to work on the name of the file rather than the content of the file.
sallam tanna
sallam tanna le 1 Mai 2016
Modifié(e) : Walter Roberson le 1 Mai 2016
function brows_Callback(hObject, eventdata, handles)
[filename pathname] = uigetfile({'*.tif'},'File Selector');
image = strcat(pathname, filename);
axes(handles.axes1);
imshow(image)
complete = strcat(pathname,filename);
set(handles.path,'string',complete);
% here the problem.. how can I apply edge method ?
[~, threshold] = edge(image, 'sobel');
fudgeFactor = .5;
BWs = edge(image,'sobel', threshold * fudgeFactor);
axes(handles.axes2);
imshow(BWs)
thank you in advance

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 1 Mai 2016
  1. Do not name a variable image
  2. You need to read the content of the image file using imread()
  3. It is recommended to use fullfile() to construct the file names instead of strcat
  2 commentaires
sallam tanna
sallam tanna le 1 Mai 2016
function brows_Callback(hObject, eventdata, handles)
[filename pathname] = uigetfile({'*.tif'},'File Selector');
img = strcat(pathname, filename); axes(handles.axes1); imshow(img) complete = fullfile(pathname,filename); set(handles.path,'string',complete); X = imread(img);
% the same error here [~, threshold] = edge(X, 'sobel');
the same problem ! :(
sallam tanna
sallam tanna le 1 Mai 2016
I solve the problem finally
this is the code
[filename pathname] = uigetfile({'*.tif'},'File Selector'); img = strcat(pathname, filename); axes(handles.axes1); imshow(img) complete = fullfile(pathname,filename); set(handles.path,'string',complete);
X = imread(img); X = rgb2gray(X); % to convert the image to two dimensional in order to use edge method
thank you for helping ^_^

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical 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!

Translated by