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);

 

参考サイト


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