Changing Variable from logical to double

28 visualizzazioni (ultimi 30 giorni)
Fx=edge(I1,'Sobel','vertical',0.001);
While executing above line the follwoing error message is received
"Variable Fx must be of data type double. It is currently of type logical. Check where the variable is assigned a value."
How change Fx type feom logical to double
  8 Commenti
Adam Danz
Adam Danz il 3 Apr 2020
Modificato: Adam Danz il 3 Apr 2020
Again, it makes no sense to me why this line
Fx=conv2(I,Gx);
would generate this specific error
Variable Fx must be of size [500 500]. It is currently of size [502 502] . . . . .
That line is merely assigning the output to variable Fx. I think the error is being generated somewhere else in a line where you're using the variable Fx. Could you provide a screenshot of the error and the code that causes the error? I'm unfamiliar with Coursera Matlab - does that mean you are running matlab online through a coursera portal or are you running Matlab on your computer using a license provided by Coursera?
If the output has an unexpected size, read about the conv2 output size here.
To show that the code should not cause an error (given a proper image file), this runs fine:
RGB = imread('peppers.png'); % Built-in matlab file
I = rgb2gray(RGB);
Gx=[-1,0,1;-2,0,2;-1,0,1];
Fx=conv2(double(I),Gx);

Accedi per commentare.

Risposta accettata

Adam Danz
Adam Danz il 2 Apr 2020
Modificato: Adam Danz il 6 Apr 2020
"How change Fx type from logical to double"
FxDlb = double(Fx);
alternatively,
FxDlb = Fx * 1;
% or
FxDlb = Fx + 0;

Più risposte (0)

Categorie

Scopri di più su Introduction to Installation and Licensing in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by