how to convert char array to two dimension image

11 visualizaciones (últimos 30 días)
sallam tanna
sallam tanna el 30 de Abr. de 2016
Comentada: sallam tanna el 1 de Mayo de 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 comentarios
Walter Roberson
Walter Roberson el 1 de Mayo de 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 el 1 de Mayo de 2016
Editada: Walter Roberson el 1 de Mayo de 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

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 1 de Mayo de 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 comentarios
sallam tanna
sallam tanna el 1 de Mayo de 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 el 1 de Mayo de 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 ^_^

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by