SSブログ

cv::Mat での各要素へのアクセス方法 [OpenCV]

CV_GRAY2BGR 形式のcv::Mat データの各要素へのアクセス方法。

画像の最大、最小、平均輝度を求める方法

 

px->data.max    = 0;
px->data.min    = 0xffff;
px->data.ave    = 0;
px->data.count    = 0;

uint64_t    total = 0;

for (int y = 0; y < roi->rows; ++y){
    for (int x = 0; x < roi->cols; ++x) {
        for (int c=0; c<roi->channels(); c++) {
            unsigned short    B = roi->at<cv::Vec3s>(y, x)[0];
            unsigned short    G = roi->at<cv::Vec3s>(y, x)[1];
            unsigned short    R = roi->at<cv::Vec3s>(y, x)[2];
            unsigned int    pixelData = B + G + R;

            if (pixelData > px->data.max) px->data.max = pixelData;
            if (pixelData < px->data.min) px->data.min = pixelData;
            total += pixelData;
            px->data.count++;
        }
    }
}
px->data.ave = (unsigned int)(total / px->data.count);

 

参考サイト


nice!(1)  コメント(0)  トラックバック(0) 

nice! 1

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。