zoukankan      html  css  js  c++  java
  • opencv新手注意

    注意事项 

    1 看如下代码:

     CvScalar s = cvScalar(20.0);

    由于opencv不是真正的类,因此构造函数和类名不一致,构造函数的首字母是小写的!!!!!
    opencv乃是用C写的,因此尽管含有类的思想,但是不是类,而是结构,
    不是构造函数,而是内联函数。注意字母的大小写~


    2 如果仅是采用opencv而使用C语言编写程序,注意变量的定义在C语言中只能在每一个函数的开头,不能像C


    ++一样在函数的任何位置都可以定义变量~


    3 既然C++是基本完全兼容C的,而C++类的特性又十分适合编写大型的程序,完全可以用C++来编写程序,只需


    新建文件的时候文件后缀名改为.CPP即可。




    4 在受用opencv的函数时,一定要注意各个参数是否一致。本人在使用trackbar时由于window的名差一个字母


    ,半天才调对啊~


    5 opencv中也存在一个很重要的类:cvImage


    6学习OpenCV的三种境界:
    (1)乘客级。不会造飞机,会坐飞机也行。将刘、于书中的代码跑一遍;
    (2)厨师级。吃自助餐。把OpenCV当成菜或佐料,自己烹调;
    (3)天师级。做张天师,这时OpenCV不过是一个披着画皮的女鬼。


    7高斯背景建模,在光线可控并且摄像头不懂物体动时使用。否则最好不要使用。


    8 opencv访问图像数据的方式
    unsigned char * ptr;
    for(int i = 0 ;i < img->height;i++){
    ptr= (unsigned char*)img->imageData+ i*img->widthStep;
    for(int j = 0 ; j< img->width; j++){
    *(ptr+3*j) -= 20;
    *(ptr + 3* j+1) -= 20;
    *(ptr + 3*j +2) -= 20;
    }
    }
     再强大的库,也不能覆盖所有的功能,如此对图像数据的访问就是个关键,程序写到深处必然要自己编写算


    法,这时就必须去访问图像中的数据。opencv中图像数据的访问主要就是基于指针。
    由于上述for循环的使用频率很高,因此这里重点关注了一下。


    9 原理与库调用
    虽然调用库很方便,但是要想灵活运用opencv的库,不懂原理是很困难的。最好学会自己去实现一些基本的算


    法,如此才能灵活运用。
  • 相关阅读:
    字符编码
    python基础5
    python基础4
    python基础3
    python基础2
    一、计算机基础
    Django中间件
    Django Form表单组件
    django简介,安装,文件介绍,三板斧(render,HttpResponse,redirect)HTTP协议,用socket实现简单版web框架,用wsgiref,jinja2,pymysql实现Django运行流程
    css,浮动,清浮动,溢出overflow,定位,圆形,透明度,z-index
  • 原文地址:https://www.cnblogs.com/libing64/p/2878748.html
Copyright © 2011-2022 走看看