gpt4 book ai didi

c++ - 访问 cv::Mat 中的所有像素

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:34:10 27 4
gpt4 key购买 nike

这是访问 cv::Mat 中所有像素的正确方法吗:

for( row = 0; row < mat.rows; ++row) 
{
for ( col = 0; col < mat.cols; ++col)
{



}
}

或者IplImage *是否有类似于此公式的公式方法:

temp_ptr = &((uchar*)(img->imageData + (img->widthStep*pt.x)))[pt.y*3];

最佳答案

在最好的情况下,所有像素都是连续存储的,您应该能够做到:

uchar* pixel = mat.data;
for(int i = 0; i < mat.rows * mat.cols; ++i)
{
// access pixel[0],pixel[1],pixel[2] here
pixel += 3; // move to next pixel
}

为了更通用一点,但仍然很快,看看 sample codeMat::isContinuous() 提到。计算一个元素地址的通用公式可以看here (转载如下)。

Address calculation

关于c++ - 访问 cv::Mat 中的所有像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7860953/

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