i got error which saying "Invalid file identifier. Use fopen to generate a valid file identifier"
This is the code:
function [z] = Stereo( directory, imagename, numImages)
% ***********************************************************************
% Read the lights and directions:
% ***********************************************************************
lightfile = strcat( directory, '/', 'lights2.txt')
fid = fopen(lightfile, 'r');
numLights = 1;
numLights = fscanf(fid, '%d \n', [1]);
LightMatrix = [];
for i = 1:numLights
lightDir = fscanf(fid, '%f %f %f \n', [3]);
lightDir = lightDir/norm(lightDir);
lightMatrix(i,:) = lightDir;
end
this is the lights2.txt file
Can someone help me i m so curious about this. Bigh thanks for your help

1 Kommentar

Stephen23
Stephen23 am 19 Mai 2023
Bearbeitet: Stephen23 am 19 Mai 2023
Replace this command
strcat( directory, '/', 'lights2.txt')
with
fullfile( directory, 'lights2.txt')
And forget about using FOPEN & FSCANF: just use READMATRIX to import that file data:
If you use FOPEN then always always always remember to FCLOSE afterwards!

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Askic V
Askic V am 19 Mai 2023
Bearbeitet: Askic V am 19 Mai 2023

0 Stimmen

You're getting this error because the path to your file is not correct.
this is where the problem is:
lightfile = strcat( directory, '/', 'lights2.txt')
Print/Display this variable to see the path to the file.
BTW, if your file is structured like in the posted image, I suggest to use readmatrix function instead of fopen and fscanf.

3 Kommentare

pizzaa
pizzaa am 19 Mai 2023
When i run the code "lightfile" can be read.
pizzaa
pizzaa am 19 Mai 2023
can u help me with the code in using readmatrix
pizzaa
pizzaa am 19 Mai 2023
Nice ty so much

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte

Version

R2022b

Gefragt:

am 19 Mai 2023

Kommentiert:

am 19 Mai 2023

Community Treasure Hunt

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

Start Hunting!

Translated by