OpenCV 自定义任意区域形状及计算平均值 方差
opencv中有矩形的Rect函数、圆形的circl函数等,那么任意形状怎么取呢?方法1:点乘,将其形状与图像进行点乘,求其形状对应的图像形状;方法2:用findContours函数得对应的形状区域,其边缘显示类型可以通过设置参数可以控制;
方法1:点乘
//===============================对应灰度图的区域segImage==============================================================
// 遍历图像 对每个非零像素值赋值为对应灰度图的像素值 Mat zeroImage(Size(rioImage.cols, rioImage.rows), CV_8U, Scalar());//建立全0矩阵
for (int i = ; i < closeImg.rows; i++)//行遍历
{ unsigned char* ptr = (unsigned char*)closeImg.data + closeImg.step*i; for (int j = ; j < closeImg.cols; j++)//列遍历
{
int intensity = ptr[j];
if (intensity != ) {
zeroImage.at<uchar>(i, j) = rioImage.at<uchar>(i, j);//对应位置赋值为灰度图像素
}
}
} zeroImage.copyTo(segImage);
//imshow("segImage.jpg", segImage);
//waitKey(0);
}
对于一个区域,怎么进一步针对区域内部特征进行处理呢 ? 首先,我们要提取出来内部的某些特征才能说话,下面提取一些简单的特征,话不多说见代码:
1.平均数及方差参数:
Mat tempMean, tempStddv;
double MEAN, STDDV;// mean and standard deviation of the flame region
double m = mean(flameRectRegion)[];
//cout << "mean=" << m << endl;
meanStdDev(flameRectRegion, tempMean, tempStddv); MEAN = tempMean.at<double>(, );
STDDV = tempStddv.at<double>(, );
//cout << "mean=" << MEAN << endl;
//cout << "stddv=" << STDDV << endl;
OpenCV 自定义任意区域形状及计算平均值 方差的更多相关文章
- echarts地图自定义任意区域
这里可以直接在地图上框选区域,右侧会自动生成geojson
- OpenCV实现任意大小图片的合并(转)
OpenCV实现图像合并主要有两种方法 方法一:使用Mat.push_back方法将列数相同的图像加到最后一行 方法二: 主要思路是将图像拷贝到待合并图像的感兴趣区域 (1)新建一个要合并的图像(容器 ...
- Opencv python图像处理-图像相似度计算
一.相关概念 一般我们人区分谁是谁,给物品分类,都是通过各种特征去辨别的,比如黑长直.大白腿.樱桃唇.瓜子脸.王麻子脸上有麻子,隔壁老王和儿子很像,但是儿子下巴涨了一颗痣和他妈一模一样,让你确定这是你 ...
- Html中自定义鼠标的形状
Html中自定义鼠标的形状 <html> <head> <title>自定义的鼠标形状</title> <meta http-equiv=&quo ...
- matlab 利用while循环计算平均值和方差
一.该程序是用来测输入数据的平均值和方差的 公式: 二. 项目流程: 1. State the problem假定所有测量数为正数或者0,计算这一系列测量数的平均值和方差.假定我们预先不知道有多少测量 ...
- 自定义WPF窗体形状
介绍 你好WPF爱好者. 随着WPF等统一API语言的发明,丰富用户界面变得非常容易. 创建丰富的用户界面只是一个想法. 您需要拥有的是创造性思维和最新技术融合. WPF和Expression Ble ...
- PTA计算平均值(一波三折)
PTA计算平均值( 一波三折) 现在为若干组整数分别计算平均值. 已知这些整数的绝对值都小于100,每组整数的数量不少于1个,不大于20个. 输入格式:首先输入K(不小于2,不大于20).接下来每一行 ...
- 为什么在 Java 中用 (low+high)>>>1 代替 (low+high)/2 或 (low+high)>>1 来计算平均值呢?好在哪里?
>>>与>>是位运算符,只对整型有效(不能用于浮点型).当是整型的时候(low+high)>>1可以代替(low+high)/2.>>>是无 ...
- C 语言实例 - 计算平均值
C 语言实例 - 计算平均值 C 语言实例 C 语言实例 使用数组来计算几个数的平均值. 实例 #include <stdio.h> int main() { int n, i; ], s ...
随机推荐
- [LeetCode] 113. Path Sum II ☆☆☆(二叉树所有路径和等于给定的数)
LeetCode 二叉树路径问题 Path SUM(①②③)总结 Path Sum II leetcode java 描述 Given a binary tree and a sum, find al ...
- QPainter使用不同风格的QBrush来填充区域
效果图: void WgtText::paintEvent(QPaintEvent *event) { QPainter painter(this); painter.setRenderHint(QP ...
- nyoj 0269 VF(dp)
nyoj 0269 VF 意思大致为从1-10^9数中找到位数和为s的个数 分析:利用动态规划思想,一位一位的考虑,和s的范围为1-81 状态定义:dp[i][j] = 当前所有i位数的和为j的个数 ...
- LY.JAVA.DAY12.Scanner
2018-07-24 13:23:18 Scanner类 一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器 package cn.itcast_01; /* * Scanner:用于接收键 ...
- eclipse.ini参数配置
-vmD:/jdk1.6/Java/jdk1.6.0_45/bin/javaw.exe-vmargs-Xms1024m-Xmx1024m-XX:MaxPermSize=1024m-XX:Reserve ...
- 1.DNS基础及域名系统架构
一.域名: IP地址往往难以记忆,所以我们一般使用域名进行管理 www.LinuxCast.net 1.严格的域名最后还有一个".",但一般省略不写 2.域名分为三个部分,用&qu ...
- (C/C++学习笔记) 五. 常变量(只读变量)和宏
五. 常变量(只读变量)和宏 ● 常变量 常变量 #include <iostream.h> //预处理文件 int main() { const d ...
- php安装及配置笔记
windows下启动php-cgi方式为:php-cgi.exe -b 127.0.0.1:9000 -c php.ini(也可以是绝对路径). 安装XDebug支持,最基本的配置参数为: [xdeb ...
- 用Java给数组排序
public class BubbleDemo {public static void main(String[] args) { int arr[]={1,3,5,7,2,4,6,8,9}; bub ...
- 几种序列化与get、set方法的关系
若get开头且第四个字母是大写的方法中有空指针异常时(无论有没有对应属性) 1.阿里巴巴的FastJson会出现空指针异常,证明与get开头的方法有关 2.Google的Gson不会出现异常,因为只和 ...