2013-06-07 2 views
4

이미지의 픽셀 수를 얻는 방법은 무엇입니까? 다음은 내 코드이며 Mat "m"의 총 픽셀 수를 얻어야합니다. 당신이 원하는 경우OpenCV : 픽셀 수를 얻는 방법?

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


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



    waitKey(0); 


} 

답변

15

픽셀의 총 수는 cv::Mat::total()를 사용합니다.

int nPixels = m.total(); 

다중 채널 이미지의 경우 픽셀 수는 어레이의 요소 수와 다릅니다. 각 픽셀은 픽셀 당 하나의 (즉, 그레이 스케일) 및 4 개의 (즉, BGRA) 요소를 갖는 것이 가장 일반적이다.

+0

멋지다! :) 감사합니다 :). –

1

사용이

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

이것은 데이터 버퍼의 요소 수를 나타내지 만 ** 픽셀 수는 아닙니다 **. (단일 채널 이미지는 예외입니다.) – Aurelius

+0

cool !!!!!!!!!!!!!!! –

관련 문제