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 Comment

Stephen23
Stephen23 on 19 May 2023
Edited: Stephen23 on 19 May 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!

Sign in to comment.

 Accepted Answer

Askic V
Askic V on 19 May 2023
Edited: Askic V on 19 May 2023
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 Comments

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

Sign in to comment.

More Answers (0)

Products

Release

R2022b

Asked:

on 19 May 2023

Commented:

on 19 May 2023

Community Treasure Hunt

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

Start Hunting!