OpenCV创建轨迹条,图片像素的访问
.OpenCV创建进度条以及图像对比度,亮度调整
1.创建轨迹条createTrackbar()
函数原型C++: intcreateTrackbar(conststring& trackbarname, conststring& winname, int* value, int count,
TrackbarCallbackonChange=0,void* userdata=0);
变量说明:依次为【进度条名称】,【所添加到的窗口名称】,【整形指针,表征进度条当前位置,并且在创建进度条时,滑块的初始值为该指针的当前值】,【滑块的最大值,最小值恒定为0】,【回调函数】,【用户数据】。
第五个参数,TrackbarCallback类型的onChange,默认值0。这是一个指向回调函数的指针,每次滑块位置改变时,这个函数都会进行回调。并且回调函数的原型必须为void func(int,void*);其中第一个参数是轨迹条的位置(int型变量),第二个参数是用户数据(看下面的第六个参数)。如果回调是NULL指针,表示没有回调函数的调用,仅第三个参数value有变化。
第六个参数,void*类型的userdata,他也有默认值0。这个参数是用户传给回调函数的数据,用来处理轨迹条事件。如果使用的第三个参数value实参是全局变量的话,完全可以不去管这个userdata参数。
2. 获得轨迹条当前位置getTrackbarPos()
C++: intgetTrackbarPos(conststring& trackbarname, conststring& winname);
变量说明:变量依次为轨迹条名称,轨迹条所处的窗口名称
3.关于图片中像素的访问
3.1访问图片image像素(i,j,k),
1).彩色图片image.at<Vec3b>(y,x)[c]其中y行,x列c是GBR(对应c=0,1,2)其中之一<Vec3b>代表的意思是:a vector of three 8- bit value。也可以是Vec2b,Vec4b。返回的为一个向量
2)灰度图片:image.at<uchar>(y,x)
3.2图像的通道问题:image.channels()
1)灰度图的通道数为1,彩色图的通道为3.
2)通道通常为RGBA,A表示alpha,即透明度
3)目前常见的一些摄像头喜欢采用YUV2等格式,格式如下YUYV,在处理的时候可以用4通道或者2通道来处理。如原格式 为:Y1UY2V,插值成为Y1UV,Y2UV就成两个彩色点了。
3.3 访问像素临近区域
1)image.ptr<uchar>(i), 返回图片image 第i行的首地址,注意是行地址
3.4 ROI区域的设置(对ROI的操作将会影响原图像,引用!)
1)imageROI=image(cv::Rect(385,270,logo.cols,logo.rows));
2)Mat imageROI=
i mage(cv::Range(270,270+logo.rows),cv::Range(385,385+logo.cols))
3)定义某行或某列为ROI
cv::Mat imageROI=image.rowRange(start,end) ;
cv::Mat imageROI=image.colRange(start,end) ;
参考: http://blog.csdn.net/xiaojiegege123456/article/details/8464954
http://blog.csdn.net/poem_qianmo/article/details/21479533
OpenCV创建轨迹条,图片像素的访问的更多相关文章
- opencv:创建滑动条
函数原型: ,); #include <opencv.hpp> using namespace cv; #define WINDOW_NAME "线性混合示例" // ...
- 【opencv学习笔记八】创建TrackBar轨迹条
createTrackbar这个函数我们以后会经常用到,它创建一个可以调整数值的轨迹条,并将轨迹条附加到指定的窗口上,使用起来很方便.首先大家要记住,它往往会和一个回调函数配合起来使用.先看下他的函数 ...
- (委托事件处理)关于多线程执行显示进度条的实例(转)&&线程间操作无效: 从不是创建控件“rtxtEntryNO”的线程访问它。
关于多线程执行显示进度条的实例! 之前回答了一篇关于怎么在线程中操作进度条的帖子,估计有人看的不是很明白今天没事,写了一个小小的实例,很简单,就2个文件权当抛砖引玉,希望有更好解决方案的人发表一下意见 ...
- opencv学习笔记(九)Mat 访问图像像素的值
对图像的像素进行访问,可以实现空间增强,反色,大部分图像特效系列都是基于像素操作的.图像容器Mat是一个矩阵的形式,一般情况下是二维的.单通道灰度图一般存放的是<uchar>类型,其数据存 ...
- 基于OpenCv和swing的图片/视频展示Java实现
基于OpenCv和swing实现图片/视频的展示 图片的展示 swing展示图片,多为操作BufferedImage,这里要关注的核心是将Mat转为BufferedImage. 代码如下: publi ...
- Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像
前文传送门: 「Python 图像处理 OpenCV (1):入门」 普通操作 1. 读取像素 读取像素可以通过行坐标和列坐标来进行访问,灰度图像直接返回灰度值,彩色图像则返回B.G.R三个分量. 需 ...
- 在 Mac OS X 上创建的 .NET 命令行程序访问数据库 (使用Entity Framework 7 )
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- Progress.js – 为页面上的任意对象创建进度条效果
Progress.js 是一个 JavaScript 和 CSS3 的库,它帮助开发人员为网页上的每个对象创建和管理进度条效果.你可以设计自己的模板,进度条或者干脆定制. 您可以使用 Progress ...
- python数字图像处理(3):图像像素的访问与裁剪
图片读入程序中后,是以numpy数组存在的.因此对numpy数组的一切功能,对图片也适用.对数组元素的访问,实际上就是对图片像素点的访问. 彩色图片访问方式为: img[i,j,c] i表示图片的行数 ...
随机推荐
- mysql主从复制(windows下)
简单搭建mysql主从服务器(双向复制),仅供学习之用. 1.下载mysql-advanced-5.6.16-winx64.zip 下载完成后解压,重命名成mysql,分别放入两台服务器(看第二点集群 ...
- 牛客练习赛13 B 幸运数字Ⅱ 【暴力】【二分】
题目链接 https://www.nowcoder.com/acm/contest/70/B 思路 没有代码限制 先打表 打出 幸运数字的表 然后 二分查找 第一个 大于 r 的幸运数字 然后 往 L ...
- ubuntu14.04 安装pip vitualenv flask
安装pip: $ apt-get install python-pip$ pip -V #查看版本 确认安装成功 安装完pip后,会发现下载的速度特别慢.按如下修改: $ vim ~/.pip/pip ...
- Docker 镜像篇
镜像是 Docker 容器的基石,容器是镜像的运行实例,有了镜像才能启动容器. docker两个跟镜像有关的命令: hello-world - 最小的镜像 hello-world 是 Docker 官 ...
- MyEclipse消除frame引起的the file xxx cannot be found
因为该页面所指向的页面路径不对,便进行手动修改,修改时却出现了很烦的问题,输入一个字就弹出一个提示框“the file XXX can not be found.Please check the lo ...
- 大数据_学习_01_Hadoop 2.x及hbase常用端口及查看方法
二.参考资料 1.Hadoop 2.x常用端口及查看方法
- spring-springMVC-MyBatis整合配置文件
web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="htt ...
- JSP--常用标签
JSTL简介: JSTL是Java中的一个定制标签库集 实现了JSP页面中的代码复用,提高效率 可读性更强,方便前端查看与开发 环境搭建: JSTL标签和Servlet及JSP页面有比较严格的版本对应 ...
- CI中site_url和base_url的区别
你若使用site_url("test/php/1");则实际url为 http://domain.com/index.php/test/php/1 若使用base_url(&quo ...
- 打包AAC码流到FLV文件
AAC编码后数据打包到FLV很简单. 1. FLV音频Tag格式 字节位置 意义0x08, ...