如果图像不连续,如何将cv :: Mat图像转换为std :: vector?

时间:2013-05-31 01:42:35

标签: opencv

我尝试寻找解决方案并遇到了这个链接 Converting a row of cv::Mat to std::vector。但是,这里的答案只有在图像连续时才有效,即行的长度=步长。我是对的还是我错过了什么?如果我是对的,那么将非连续图像复制到std :: vector的最有效方法是什么?

我正在寻找比

更高效的东西
for(int ii=0;ii<no. of image rows;ii++)
{
    ptr = pointer to ii'th row
    copy from ptr to (ptr+row length) into std::vector
}

谢谢,

Vishy

1 个答案:

答案 0 :(得分:0)

对于单通道8位图像,

std::vector<uchar> dstVec;
dstVec.assign(srcVec.begin(),srcVec.end());