OpenCV 函数随笔

1、 RNG类:
     是一种产生随机数的类,它可以压缩一个64位的i整数,也可以得到scalar和array的随机数。当前版本也支持均匀分布随机数和Gaussian分布随机数。
         其成员函数有:
                            1、next                     可以取出下一个随机数      rng.next
                            2、uniform                返回制定范围的随机数      rng.uniform
                            3、gaussian              返回一个高斯随机数         rng.gaussian
                            4、fill                         用随机数填充矩阵             rng.fill

2、copyTo 成员函数:
     在OpenCV中image.copyTo() 有两种形式,分别如下所示:
               A.copyTo(B)                            把A的内容粘贴到B中;
               image,copyTo( A, B)               把B中和image重叠以后把B中像素值为0的点对应的image中的点变为透明,保留其他点放入A中。

3. static_cast<double> (A)    :
        将A的类型强制装换成double.

4. ptr
     Mat类提供了ptr函数,该函数的作用是得到图像任意行的首地址,例:
    uchar* data=outputImage.ptr<uchar>(i)   该语句的意思是获取第i行的首地址给data。

5. image.at<uchar>(i,j)   取出灰度图像中i行j列的点;
    image.at<Vec3b>(i,j)[k]    取出彩色图像中i行j列第k通道的颜色点,uchar与Vec3b都是图像像素值的类型;

6. nameWindow(名字,窗口类型)
   WINDOW_AUTOSIZE 窗口大小自动适应图片大小,并且不可手动更改。(0)
  WINDOW_NORMAL 用户可以改变这个窗口大小(1)
  WINDOW_OPENGL 窗口创建的时候会支持OpenGL

7.  Mat M(2, 2, CV_8UC3, cv::Scalar::all(1));
     两个2表示创建矩阵的行和列,第三个参数是矩阵内数据类型,最后一个是给矩阵赋值1。CV_8UC3(8bit  3通道)  

8. 得到点的函数例(point):
      Point a = Point(0, 0);
      Point b = Point(src.cols, src.rows);
9. cvCircle(CvArr* img, CvPoint center, int radius, CvScalar color, int thickness=1, int lineType=8, int shift=0)
                 
img为源图像指针
                 center为画圆的圆心坐标
                 radius为圆的半径
                 color为设定圆的颜色,规则根据B(蓝)G(绿)R(红)
                 thickness 如果是正数,表示组成圆的线条的粗细程度。否则,表示圆是否被填充
                 line_type 线条的类型。默认是8
                 shift 圆心坐标点和半径值的小数点位数

10. 

发布了18 篇原创文章 · 获赞 1 · 访问量 2676

猜你喜欢

转载自blog.csdn.net/taochengwu123/article/details/84952834