图像处理:线样本的平均值

Image processing : Mean of line sample

本文关键字:平均值 样本 图像处理      更新时间:2023-10-16

我想知道我的图像源上每列的mean。目标是当第一列的平均值为0(我的所有像素都是黑色)时,将布尔值切换为保留while

我不知道我是使用vectorMat函数、Line还是其他方式。

您可以使用reduce 计算矩阵中每个(或)的平均值

这是一个小示例,展示了如何计算每列和每行的平均值。

#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
    // Create a random 1 channel matrix
    Mat1b img(10,20);
    randu(img, Scalar(0), Scalar(10));
    // Compute the mean of each column
    Mat1f colMean;
    reduce(img, colMean, 0, CV_REDUCE_AVG, CV_32F);
    // colMean is a 1x20 matrix (row matrix)
    // Compute the mean of each row
    Mat1f rowMean;
    reduce(img, rowMean, 1, CV_REDUCE_AVG, CV_32F);
    // rowMean is a 10x1 matrix (column matrix)
    return 0;
}

请注意,要检查列(行)中的值是否全部为零,还可以使用CV_REDUCE_SUMCV_REDUCE_MAX,即可以对所有像素求和或只取最大值。在任何情况下,当一列(行)只包含零值时,结果都将为零。