zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Redis学习——(1)Redis安装与配置
    Ubuntu14.04安装Apache2+SVN+Trac
    Ubuntu14.04配置文件Apache2.conf
    Ubuntu系统用户忘记密码
    java中无符号类型的处理[转]
    Golang 切片(slice)扩容机制源码剖析
    无线网络:无线城域网和无线广域网
    vue项目 镜像重置的命令
    批量下载阿里云rpm包
    HttpClient psot和get请求
  • 原文地址:https://www.cnblogs.com/engineerLF/p/5393161.html
Copyright © 2011-2022 走看看