回答編集履歴
1
検証用のコードを追記
    
        answer	
    CHANGED
    
    | @@ -7,4 +7,50 @@ | |
| 7 7 | 
             
            }
         | 
| 8 8 | 
             
            ```
         | 
| 9 9 | 
             
            あるいは、cv::format という便利な関数があります。
         | 
| 10 | 
            -
            [超便利!cv::formatについて](https://qiita.com/wakaba130/items/ae7cdd4b9a9c38fbc971)
         | 
| 10 | 
            +
            [超便利!cv::formatについて](https://qiita.com/wakaba130/items/ae7cdd4b9a9c38fbc971)
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            ---
         | 
| 13 | 
            +
            以下追記
         | 
| 14 | 
            +
            検証用のコードを作りました。
         | 
| 15 | 
            +
            当方の環境では
         | 
| 16 | 
            +
            `cv::Mat f[1920][1000];`
         | 
| 17 | 
            +
            でスタックオーバーフローになるので、`static`をつけました。
         | 
| 18 | 
            +
            ```c++
         | 
| 19 | 
            +
            #include <opencv2/opencv.hpp>
         | 
| 20 | 
            +
            #include <stdio.h>
         | 
| 21 | 
            +
            #include <iostream>
         | 
| 22 | 
            +
             | 
| 23 | 
            +
            int main(void)
         | 
| 24 | 
            +
            {
         | 
| 25 | 
            +
            	static cv::Mat f[1920][1000];
         | 
| 26 | 
            +
            	for (int j = 0; j < 1000; j++) {
         | 
| 27 | 
            +
            		for (int i = 0; i < 1920; i++) {
         | 
| 28 | 
            +
            			f[i][j].create(10, 10, CV_32FC1);
         | 
| 29 | 
            +
            		}
         | 
| 30 | 
            +
            	}
         | 
| 31 | 
            +
             | 
| 32 | 
            +
            #if 1
         | 
| 33 | 
            +
            	FILE *fp;
         | 
| 34 | 
            +
            	fp = fopen("K.csv", "w");
         | 
| 35 | 
            +
            	if (fp == NULL) {
         | 
| 36 | 
            +
            		printf("%s file can't open\n", "K.csv");
         | 
| 37 | 
            +
            		return 1;
         | 
| 38 | 
            +
            	}
         | 
| 39 | 
            +
             | 
| 40 | 
            +
            	for (int j = 0; j < 1000; j++) {
         | 
| 41 | 
            +
            		for (int i = 0; i < 1920; i++) {
         | 
| 42 | 
            +
            			for (int y = 0; y < f[i][j].rows; ++y) {
         | 
| 43 | 
            +
            				for (int x = 0; x < f[i][j].cols; ++x) {
         | 
| 44 | 
            +
            					fprintf(fp, x == f[i][j].cols - 1 ? "%f\n" : "%f,", f[i][j].at<float>(y, x));
         | 
| 45 | 
            +
            				}
         | 
| 46 | 
            +
            			}
         | 
| 47 | 
            +
            		}
         | 
| 48 | 
            +
            	}
         | 
| 49 | 
            +
             | 
| 50 | 
            +
            	fclose(fp);
         | 
| 51 | 
            +
            #else
         | 
| 52 | 
            +
            	std::cout << cv::format(f[0][0], cv::Formatter::FMT_CSV) << '\n';
         | 
| 53 | 
            +
            #endif
         | 
| 54 | 
            +
            }
         | 
| 55 | 
            +
            ```
         | 
| 56 | 
            +
            作成されたファイルが巨大なので詳細に検証はしていませんが、19200000 行あることは確認できました。
         | 
