繁体   English   中英

图像处理:线样均值

[英]Image processing : Mean of line sample

我想知道图像源中每列的mean 目标是当平均为0(我的所有像素均为黑色)的布尔值的第一列切换为while

我不知道是否使用vectorMat函数, Line或其他方式。

您可以使用reduce来计算矩阵中每一 (或 )的平均值 (和summinmax

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

#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 ,即,您可以对所有像素求和或仅取最大值。 在每种情况下,当列(行)仅包含零值时,结果将为零。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM