using namespace cv
所有的以新风格命名的函数都在 cv 命名空间中
如果希望不要每次都输入 cv:: ,则可使用下面语句
using namespace cv;
若想去掉std::cout 中的std:: 前面要#include <iostream>
图片尺寸属性: image.size().width 与 image.cols 等价 image.size().height 与 image.rows 等价。
Intel Image Processing Library (IPL)
Scalar(1,3) 表示标量 1和3
寻找函数细节:
.........pencv\build\include\opencv2\core 这个目录里找到了mat.hpp文件
当想要了解某一函数内部信息时,如果F12 goto def找不到,可以到安装目录搜一下名字,有些函数直接以名字单独成立一个文件,比如:
Mat
在core.hpp文件里找到一堆Mat子类和子类的成员函数,找不到成员函数内部信息。能找到Mat.hpp文件里能看到Mat细节,
cvt_color()函数
perf_cvt_color.cpp文件里面有转换格式定义的细节。。
size(,)函数
uchar* data = image.ptr<uchar>(y); //定义指针并赋值,赋给了指针变量
*data++=255; //先赋值255,赋给指向的数据空间,然后再+1赋给data 有点。。。
uchar* data=img.ptr(y); //编译出错,y要进行类型转换 转成uchar型
去掉VS2010代码中文注释的红色下划线
VS2010代码中文注释出现红色下划线,代码看上去很不美观,发现是由于安装Visual Assist X插件造成的。解决办法:
打开VAX的Options对话框,取消Advanced --> Underlines --> "Undrline spelling errors in comments and string using..."上的勾即可。
error C2601: “main”: 本地函数定义是非法的 原因:main 函数之前少了一个大括号
对Mat img; 加噪声后,如果不写入文件,那么原来读的那张图片不变。
声明不兼容
while(t--) while是循环这个知道吧,条件是t是不是=0如果不是就会进入循环 并且t自减1如果是0 就跳出循环了
1 概述编辑本段
\0是C++中字符串的结尾标志,存储在字符串的结尾。比如char cha[5]表示可以放5个字符的数组,由于c/c++中规定字符串的结尾标志为'\0',它虽然不计入串长,但要占内存空间,而一个汉字一般用两个字节表示,且c/c++中如一个数组cha[5],有5个变量,分别是 cha[0] , cha[1] , cha[2] , cha[3] , cha[4] , 所以cha[5]可以放5个字母或者放2个汉字(1个汉字占2个字节,1个字母占一个字节),cha[5]占5个字节内存空间。字符串结尾要加上结尾标志,则cha[5]实际占6个字节内存空间。
'\0'的ASCII是0
2 例如编辑本段
char sText[5];
sText[0]='a';
sText[1]='a';
sText[2]='a';
sText[3]='a';
sText[4]='\0';
cout<<sText<<endl; //这样输出就是4个a
// 如果数组的第五个元素即:
sText[4]='a';
cout<<sText<<endl; //这样输出就是5个a和一堆乱码,甚至跳出系统错误,因为没有字符串结尾符
: fatal error C1083: 无法打开包括文件:“colorhistogram.h”: No such file or directory 头文件没有加进去或者是头文件没有加到项目所在的目录里