iam unable to call function in for loop?

1 visualizzazione (ultimi 30 giorni)
this is the error iam getting
The file name or URL argument must be a character vector or string scalar.
Error in imread (line 342)
[source, fmt_s, extraArgs, was_cached_fmt_used] = parse_inputs(cached_fmt, varargin{:});
im = double(imread(image))
clc;
clear all;
D = 'C:\Users\PRL\Desktop\barathfocus\for-matlab-testonly';
S = dir(fullfile(D,'*.tif')); % pattern to match filenames.
for k = 1:numel(S)
F = fullfile(D,S(k).name);
I = double(imread(F));
a = bodekke(I);
end
function[addition] = bodekke(image)
im = double(imread(image))
bd = [-1 0 1]
cbd = conv2(im,bd)
squaredcbd = cbd.^2
addition = sum(squaredcbd(:))
imshow(cbd)
end
  2 Commenti
barath V
barath V il 6 Feb 2020
Modificato: barath V il 6 Feb 2020
yes,is working thanks bhaskar.
but i dont understand why it works.
i have passed the image to variable I.
and i call the function with image I it should work.
why it is working if i call by using its name

Accedi per commentare.

Risposta accettata

Shunichi Kusano
Shunichi Kusano il 6 Feb 2020
The argument for imread must be file location. "image" in the function is an array.
HTH
  5 Commenti
Stephen23
Stephen23 il 6 Feb 2020
Modificato: Stephen23 il 6 Feb 2020
"and i call the function with image I it should work."
Not according to the imread documentation, which states that imread requires a filename as its first input argument. In your function bodekke you call imread, but in your original code what is its input argument? (hint: an image array, and not a filename as it requires).
"why it is working if i call by using address"
Because imread requires a filename as its first input argument.
It appears that you are getting confused by the fact that you have called imread twice, once outside the function (correctly with a filename) and once inside the function (incorrectly with a numeric array). You can either call imread outside the function (and pass an image array) or inside the function (and pass the filename), but doing both makes no sense.
barath V
barath V il 6 Feb 2020
thanks i understood.

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by