OpenCV: как получить количество пикселей?

Как получить количество пикселей в изображении? Ниже приведен мой код, и мне нужно получить общее количество пикселей в ВСУ "м".

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


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



    waitKey(0);


}

2 ответов


Если вы хотите общее количество пиксели используйте cv::Mat::total().

int nPixels = m.total();

обратите внимание, что для многоканальных изображений количество пикселей отличается от количества элементов в массиве. Каждый пиксель чаще всего имеет от одного (т. е. оттенки серого) до четырех (т. е. BGRA) элементов на пиксель.


использовать

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