gpt4 book ai didi

c++ - 将数组数据写入opencv中的文本文件

转载 作者:行者123 更新时间:2023-11-28 02:44:57 25 4
gpt4 key购买 nike

我想将其中一个 channel 的数组数据写入文本文件。我该怎么做?

我试过了

Mat img = imread("dog.jpg", 1);

std::ofstream fout("myfile.txt");

fout << img.at<Vec3b>(i, j);

但它正在复制所有 3 个 channel 的数据。我只想存储一个 channel 的数据,比如说 B[][]。假设我已经将所有 channel 的数据分别存储在R[][],G[][],B[][]中,如图所示。

Vec3b intensity = img.at<Vec3b>(i, j);

B[j][i]=intensity[0];
G[j][i] = intensity[1];
R[j][i] = intensity[2];

fout << ??????????????????????; //want to store data of Blue channel

最佳答案

试试这个:

Mat img = imread("d:\\ImagesForTest\\cat.jpg", 1);
std::ofstream fout("myfile.txt");
vector<Mat> ch;
cv::split(img,ch);

// Possible formatters
// --------------------------
// (matlab) Formatter::FMT_MATLAB
// (python) Formatter::FMT_PYTHON
// (numpy) Formatter::FMT_NUMPY
// (csv) Formatter::FMT_CSV
// (c) Formatter::FMT_C

fout << format(ch[0], Formatter::FMT_CSV); // Blue
fout << format(ch[1], Formatter::FMT_CSV); // Green
fout << format(ch[2], Formatter::FMT_CSV); // Red

关于c++ - 将数组数据写入opencv中的文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24742465/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com