gpt4 book ai didi

opencv - OpenCV灰度图像到矢量

转载 作者:行者123 更新时间:2023-12-02 17:50:26 26 4
gpt4 key购买 nike

我想将Mat类型的灰度图像保存到 vector 列表中。它们的灰度图像包含诸如110123150等的值。当我使用我的代码将数据传输到 vector 列表中时,在我将数据传输之后,我将在 vector 列表中打印项目并它们是诸如-15555232375694920的值。我的漂亮110123150在哪里之前消失了?

cv::Mat grayscaleFrame;
cv::Mat image;
image = cv::imread(fullPath);

cvtColor(image, grayscaleFrame, CV_BGR2GRAY);
equalizeHist(grayscaleFrame, grayscaleFrame);
cout << grayscaleFrame << endl;

vector<int> **vectorList = new vector<int>*[grayscaleFrame.rows];

for(size_t i=0; i<grayscaleFrame.rows;i++)
{
int *p = grayscaleFrame.ptr<int>(i); // pointer to row 0
std::vector<int> row(p, p+grayscaleFrame.cols);
vectorList[i]=&row;

for(int a =0; a<vectorList[i]->size();a++)
{
cout << vectorList[i]->at(a) << endl;
}

}

如果我的错误是使用 &row,那么我如何在不解决地址的情况下完成此操作,因为当我删除 &时,我收到错误消息:“...没有合适的转换函数。”

最佳答案

问题在于 vector 元素的int类型,它们应为无符号char。
但是当您打印它时,请使用cout <<(in)您的值<< endl;

关于opencv - OpenCV灰度图像到矢量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22972417/

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