How to store real-time data in a file that can be accessed in matlab elsewhere?
17 次查看(过去 30 天)
显示 更早的评论
I am working on a program to extract data from image using OCR and store in variables. The process is that the image will be refreshed with a different value after a regular interval (at least 10 seconds). So, I want to run loop with the following process which extracts the numerical from the image and also stores the time of the process, as demonstrated below
%% this complete demonstration will be put into a for loop for obtaining data from similar images
image = importdata('out.png');
image = imresize(image,4);
image = uint8(255*imbinarize(rgb2gray(image)));
%imshow(image)
ocrResults = ocr(image, TextLayout="word");
Iocr = insertObjectAnnotation(image,'rectangle',ocrResults.WordBoundingBoxes,ocrResults.WordConfidences);
imshow(Iocr);
Once OCR gets the value, I store the value and the time (at the instance of OCR processing) into the table.
datavalue = str2num(ocrResults.Text);
time = datetime('now','TimeZone','Asia/Seoul','Format','yyyy-MM-dd HH:mm:ss.SSS');
time = cellstr([string(time)]); % for storing time for exporting
disp([datavalue time]) % this is just for demonstrating the output
Currently, I used the following code to store in the excel file (it takes a second to store). Since the above-mentioned process will be put in a for-loop, so I am just writing the storing code.
xlswrite('name.xls', ftime, sheetNumber, ['A' num2str(i)]);
xlswrite('name.xls', data, sheetNumber, ['B' num2str(i)]);
I have very basic knowledge of Matlab, and I want to efficiently store these data into some sort of file (or files) in a LAN shared folder from 4 computers and then access the data in another computer for processing in realtime (the data keeps on updating).
采纳的回答
Avinash
2023-1-10
Hi Usman
- By keeping the MATLAB current working directory in the same place as the target folder, you can first create a new text file using the fopen function in the target folder location that is accessible from other machines as well.
- Additionally, you can override the contents of an existing file by using the fopen and fprintf function.
- To write into a text file, keep the property set to "wt".
- Then, use the writetable function to write your data in table format.
To learn more about the fopen, fprint and writetable functions, refer the documentation links mentioned below:
- Open file, or obtain information about open files - MATLAB fopen - MathWorks India
- Write table to file - MATLAB writetable - MathWorks India
- Write data to text file - MATLAB fprintf - MathWorks India
Thanks
Avinash
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Import and Export 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!