【问题标题】:OpenCV: How to get the number of pixels?OpenCV:如何获得像素数?
【发布时间】:2013-06-04 03:20:09
【问题描述】:

如何获取图像中的像素数?以下是我的代码,我需要获取 Mat "m" 中的总像素数。

int main()
{
    Mat m = imread("C:/Users/Public/Pictures/Sample Pictures/Penguins.jpg");


    namedWindow("Image");
    imshow("Image",m);



    waitKey(0);


}

【问题讨论】:

    标签: c++ image opencv image-processing


    【解决方案1】:

    使用这个

    int nPixels = (m.cols*m.channels())*m.rows;
    cout << nPixels << endl;
    

    【讨论】:

    • 这给出了数据缓冲区中元素的数量,但不是像素的数量。 (单通道图像除外。)
    【解决方案2】:

    如果您想要像素的总数,请使用cv::Mat::total()

    int nPixels = m.total();
    

    请注意,对于多通道图像,像素数与数组中的元素数不同。每个像素最常见的是每个像素具有一个(即灰度)到四个(即 BGRA)元素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-01
      • 1970-01-01
      • 2011-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-20
      相关资源
      最近更新 更多