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 ...
随机推荐
- 关于RabbitMQ服务器整合(二)
准备工作 15min IDEA maven 3.0 在开始构建项目之前,机器需要安装rabbitmq,你可以去官网下载,http://www.rabbitmq.com/download.html ,如 ...
- axure rp安装
axure rp安装 1◆ axure rp 文件下载 2◆创建安装目录 3◆ 安装图解 4◆汉化 替换 5◆ 使用 success 1★AxureRP 8.0安装包 2★ ...
- linux下crontab的原理和用法
linux 系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的.另 外, 由于使用者自己也可以设置计划任务,所以, ...
- mv
mv命令是move的缩写,可以用来移动文件或者将文件改名,这也是个常用命令,经常用来备份文件或者目录. 1.命令格式: mv [选项] 源文件或目录 目标文件或目录 2.命令功能: 视mv命令中第 ...
- .NetCore发布到Centos docker
将.netcore mvc项目发布到centos7的docker中.环境 vmware14+Centos7+docker-ce 1.使用vs将.netcoremvc项目发布到本地,修改发布后的目录 名 ...
- css3 前端开发
一.前缀: -moz(例如 -moz-border-radius)用于Firefox -webkit(例如:-webkit-border-radius)用于Safari和Chrome. 二.CSS3圆 ...
- awk 中 fieldwidths使用方法
AWK中的FIELDWIDTHS是一个很好用的变量,这个变量可以指定字符串按照怎么样的宽度进行展示 实例一: 要求: 032130 032131 146230 035048 222049 095070 ...
- day30 操作系统介绍 进程的创建
今日内容 一.操作系统的简单介绍 二,并发与并行 三.同步异步阻塞非阻塞 四.multiprocess模块 1. 操作系统的简单介绍 多道技术(重点) 空间复用: 时间复用: 进程之间是空间隔离的 分 ...
- LeetCode难度与出现频率
转载自:LeetCode Question Difficulty Distribution 1 Two Sum 2 5 array sort set Two ...
- Redis部署与基本操作
1.安装 1)不指定安装位置,则会把redis的可执行文件安装到 redis-2.8.6/src/目录下 [root@CentOS6 ~]# ls anaconda-ks.cfg httpd-2. ...