场景

在进行烟雾检测的过程中,需要访问Mat指定区域的像素值,然后判断是否符合烟雾的像素特征(当然,在网上查询到的烟雾像素特征,实际上,并没有正确识别出烟雾),可通过如下的方式进行操作

int  similarDegree = 0;

int channel = srcMat.channels();

for (int i=info.smokeLeftTopPos.y; i<maxHeight; i++)

{

for (int j=info.smokeLeftTopPos.x; j<maxWidth; j++)

{

int r = srcMat.at<uchar>(i, j*channel);

int g = srcMat.at<uchar>(i, j*channel+1);

int b = srcMat.at<uchar>(i, j*channel+2);

if ((r>=200) && (g>=200) && (b<=180))

{

similarDegree++;

}

}

}

当然在实际的应用过程中,像素的值很可能不是无符号字符型,还有可能是浮点型,短整型等,可以使用如下的方式进行判断:

int type = 0;

switch(srcMat.type())

{

case CV_8UC3:

type = 0;

break;

case CV_8SC3:

type = 1;

break;

case CV_16UC3:

type = 2;

break;

case CV_16SC3:

type = 3;

break;

case CV_32SC3:

type = 4;

break;

case CV_32FC3:

type = 5;

break;

case CV_64FC3:

type = 6;

break;

}

参考

http://www.cnblogs.com/wangguchangqing/p/4016179.html

本文转自fengyuzaitu 51CTO博客,原文链接:http://blog.51cto.com/fengyuzaitu/1946642,如需转载请自行联系原作者

OpenCV 访问Mat 像素相关推荐

  1. android都图片mat_计算机视觉 OpenCV Android | Mat像素操作(图像像素的读写、均值方差、算术、逻辑等运算、权重叠加、归一化等操作)...

    本文目录 1. 像素读写 2. 图像通道与均值方差计算 3. 算术操作与调整图像的亮度和对比度 4. 基于权重的图像叠加 5. Mat的其他各种像素操作 1. 像素读写 Mat作为图像容器,其数据部分 ...

  2. OpenCV访问Mat图像中每个像素的值

    原文:http://blog.csdn.net/xiaowei_cqu/article/details/7771760 matlab中, a=[1,2,3;4,5,6;7,8,9] a(1,2) 第一 ...

  3. c++版本opencv(04.认识Mat对象-05.Mat对象创建与使用-06.遍历与访问每个像素-)

    c++版本opencv(04.认识Mat对象-05.Mat对象创建与使用-06.遍历与访问每个像素-) 一.04.认识Mat对象- 二,05.Mat对象创建与使用- 三,06.遍历与访问每个像素- 来 ...

  4. 遍历opencv中的mat像素的几种方法和概念

    今天在看矩形滤波的时候忽然脑子短路,把一些概念全弄混了,现总结一下,以便下次再混的时候可以参考确认下,自己的理解,有错的地方还请指正. 首先,在Opencv2中基本上都是用的Mat来表示图像了,C++ ...

  5. c++ opencv数字图像处理:访问图像像素,遍历图像像素

    文章目录 前言 一.访问图像像素 1.访问(j,i)处像素 2.例子:在图像中加入白色椒盐噪声 二.遍历图像像素 1.指针扫描 2.opencv自带的卷积运算:filter2D 前言 数字图像处理c+ ...

  6. OpenCV中6种访问Mat元素的方法

    Mat中不管是以at访问还是ptr访问,都是行优先 ,先Y轴后X轴(即先行后列) 1.使用at访问 /* *OpenCV2中Mat的at操作访问矩阵元素 * */#include <highgu ...

  7. Opencv3编程入门学习笔记(三)之访问图像像素的三种方法

    访问图像像素的三种方法:指针访问,迭代器访问,动态地址访问.访问最快的为指针访问,以下算法在几毫秒,但指针访问容易造成内存泄漏:其次为迭代器访问:最后为动态地址访问. 以下程序是根据<OpenC ...

  8. OpenCV访问像素点的灰度值

    1.Mat矩阵数值的存储方式 这里以指针的方式访问图像素为例 (1)单通道 定义一个单通道图像: cv::Mat img_1 = (320, 640, CV_8UC1, Scalar(0)); 对于单 ...

  9. opencv获取mat的指针_数字图像处理之opencv中Mat数据操作

    数字图像处理其实就是处理二维矩阵数据.利用opencv来学习处理算法是一种比较好的方式.学习opencv,主要就是调用其中的图像处理函数来实现各种操作.如果要得到想要的处理结果,还需要对图像处理算法有 ...

最新文章

  1. spring jpa mysql集群_Spring Boot系列之十四 JPA 连接mycat
  2. 经典PID控制算法用C语言实现!
  3. python map reduce filter_Python map, reduce, filter和sorted
  4. mysql多大_洞悉MySQL底层架构:游走在缓冲与磁盘之间
  5. 工作75::一直报404
  6. 石板切割问题c语言_广场地面铺装 仿古石 青石板 板岩 切割岩 冰裂纹压印混凝土地坪...
  7. Jmeter之测试片段和模块控制器应用
  8. RPM包实现LAMP
  9. 直播短视频手机APP应用下载页面静态html网页模板
  10. 微信小程序 - 展开收缩列表
  11. 启动转换安装失败 拷贝windows安装文件时出错_在Ubuntu16.04下安装MATLAB2017b
  12. Ubuntu20.04安装gamit10.7
  13. python人民币转大写_python实现人民币大写转换
  14. 怎么用计算机算e的次方,如何在计算器上计算e的x次方?
  15. mysql链路追踪工具_Molten
  16. python迭代器是什么_python中什么是迭代器
  17. latex并排显示表格
  18. 最短哈密顿环 退火_【CH0103】最短哈密顿路径
  19. Vue中的视频播放插件( vue-video-player )
  20. 机器学习相关资料推荐 http://blog.csdn.net/jiandanjinxin/article/details/51130271

热门文章

  1. 初步学习Django-第一篇:创建项目
  2. mysqls为node.js而编写的sql语句生成插件 crud for mysql.
  3. 9.6-9.7 awk
  4. React-Native 之 GD (十三)数据持久化(realm) 及 公共Cell
  5. Android从无知到有知——NO.6
  6. 使用ZooKeeper
  7. 【读书笔记《Android游戏编程之从零开始》】11.游戏开发基础(SurfaceView 游戏框架、View 和 SurfaceView 的区别)...
  8. 午后随笔 -- 定位的思考
  9. 一个电脑安装多个系统的几个办法
  10. 全新2007高校BBS上睿智的冷笑话