From: Jeremy Smith on 8 Apr 2010 12:34 This post explains the Labview binary data format. I couldn't find all of this information in any one place so this ought to help anyone in the future. The Labview VI "Write to Binary File" writes data to a file in a linear format using Big Endian numbers of the type wired into the "Write to Binary File" VI. The array dimensions are listed before the actual array data. fid = fopen('BinaryData.bin','r','ieee-be'); % Open the binary file Dim1 = fread(fid,4); % Reads the first dimension Dim2 = fread(fid,4); % Reads the second dimension Dim3 = ... Each dimension's length is specified by 4 bytes. Each increment of the first, second, third, and fourth byte represent 2^32, 2^16, 2^8, and 1 respectively. 0 0 2 38 equates to 2*256 + 38 = 550 values for that particular dimension. As long as you know the number of dimensions and precision of your binary data you can load it. Data = fread(fid,prod([Dim1 Dim2 Dim3]),'double',0,'ieee-be'); % Load double precision data If you have appended multiple arrays to the same file in Labview you would repeat this procedure. Load each dimension then load the data, repeat. Data = fread(fid,prod([Dim1 Dim2 Dim3]),'int8',0,'ieee-be'); % Load int8 precision data or boolean data I created a function and uploaded it to the File Exchange so feel free to use it if it'll help. The function is called labviewload.m.
|
Pages: 1 Prev: capture frames from live video streaming Next: edge linking problem |