MATLAB Answers

extracting only number from text file

6 views (last 30 days)
ImageAnalyst
ImageAnalyst on 20 Apr 2020
Commented: Akira Agata on 22 Apr 2020
Hi,
I have a large text file which has data in below format
frame_count: 1, frame_type: p, mv_dst: (8, 8), mv_src: (8, 8), mv_type: f, motion: (0, 0, 4), mb: (16, 16)
frame_count: 1, frame_type: p, mv_dst: (24, 8), mv_src: (24, 8), mv_type: f, motion: (0, 0, 4), mb: (16, 16)
and so on.
I want to extract the value of mv_dst,mv_src and first two numbers of value motion and store in a matrix in below format
frame_count: 1, frame_type: p, mv_dst: (8, 8), mv_src: (8, 8), mv_type: f, motion: (0, 0, 4), mb: (16, 16)
Matrix should have value like this
first matrix with value from mv_dst(8,8) and first value from motion motion: (0, 0, 4) [ 0 in this case]
x_vec y_vec motion
8 8 0
second matrix with value from mv_src(8,8) and second value from motion :motion: (0, 0, 4) [ 0 in this case]
x_vec y_vec motion
8 8 0

  0 Comments

Sign in to comment.

Accepted Answer

Akira Agata
Akira Agata on 21 Apr 2020
How about the following?
% Read the original text file
c = readcell('data.txt','Delimiter','\n');
% Extract coordinates from each line
cData = regexp(c,'\d+,\s+\d+(,\s+\d+)*','match');
cData = vertcat(cData{:});
% Arrange the numbers
mv_dst = str2double(split(cData(:,1),','));
mv_src = str2double(split(cData(:,2),','));
motion = str2double(split(cData(:,3),','));
% 1st and 2nd matrix
T1 = array2table([mv_dst,motion(:,1)],'VariableNames',{'x_vec','y_vec','motion'});
T2 = array2table([mv_src,motion(:,2)],'VariableNames',{'x_vec','y_vec','motion'});

  5 Comments

Show 2 older comments
ImageAnalyst
ImageAnalyst on 21 Apr 2020
Hello Akira,
The file itself is too large to attach even after zipping. I have extracted motion vectors using FFmpeg in a text file. So it has motion vectors for every position in every frame. There are around 5000 frames in my video file. I am attching the data for 1st frame that is being extracted.
ImageAnalyst
ImageAnalyst on 21 Apr 2020
I tested myself with this text.txt and the above code works fine its only when using the whole file that i get the error.I have attched the file. Could you please take a look
Akira Agata
Akira Agata on 22 Apr 2020
Hi Arya-san,
Thank you for sharing the file. But, unfortunately, I could not unzip the file. Could you upload the file (original file or newly zipped file) again?

Sign in to comment.

More Answers (0)

Tags