zoukankan      html  css  js  c++  java
  • OpenCV 自定义任意区域形状及计算平均值 方差

    opencv中有矩形的Rect函数、圆形的circl函数等,那么任意形状怎么取呢?方法1:点乘,将其形状与图像进行点乘,求其形状对应的图像形状;方法2:用findContours函数得对应的形状区域,其边缘显示类型可以通过设置参数可以控制;

    方法1:点乘

     1 //===============================对应灰度图的区域segImage==============================================================
     2     // 遍历图像 对每个非零像素值赋值为对应灰度图的像素值
     3 
     4     Mat zeroImage(Size(rioImage.cols, rioImage.rows), CV_8U, Scalar(0));//建立全0矩阵
     5     for (int i = 0; i < closeImg.rows; i++)//行遍历
     6     {
     7 
     8         unsigned char* ptr = (unsigned char*)closeImg.data + closeImg.step*i;
     9 
    10         for (int j = 0; j < closeImg.cols; j++)//列遍历
    11         {
    12             int intensity = ptr[j];
    13             if (intensity != 0)
    14 
    15             {
    16                 zeroImage.at<uchar>(i, j) = rioImage.at<uchar>(i, j);//对应位置赋值为灰度图像素
    17             }
    18         }
    19     }
    20 
    21     zeroImage.copyTo(segImage);
    22     //imshow("segImage.jpg", segImage);
    23     //waitKey(0);
    24 }

    对于一个区域,怎么进一步针对区域内部特征进行处理呢 ? 首先,我们要提取出来内部的某些特征才能说话,下面提取一些简单的特征,话不多说见代码:

    1.平均数及方差参数:

     1 Mat tempMean, tempStddv;
     2                         double MEAN, STDDV;// mean and standard deviation of the flame region
     3                         double m = mean(flameRectRegion)[0];
     4                         //cout << "mean=" << m << endl;
     5                         meanStdDev(flameRectRegion, tempMean, tempStddv);
     6 
     7                         MEAN = tempMean.at<double>(0, 0);
     8                         STDDV = tempStddv.at<double>(0, 0);
     9                         //cout << "mean=" << MEAN << endl;
    10                         //cout << "stddv=" << STDDV << endl;
  • 相关阅读:
    STM32对HAL库的LCD驱动移植
    stm32对HAL库的DAC使用
    STM32对HAL库的ADC(多通道DMA)
    STM32对HAL库的ADC(单通道非DMA)
    STM32 fputc函数(重定向)
    STM32的HAL库DMA串口不定长度的读写操作(二)
    STM32对HAL库的PWM控制
    STM32对HAL库的定时器中断
    STM32对HAL库的外部中断处理
    C#上位机制作之串口接受数据(利用接受事件)
  • 原文地址:https://www.cnblogs.com/ggYYa/p/6189558.html
Copyright © 2011-2022 走看看