从0开始写代码--笔记

来源:互联网 发布:安卓windows虚拟机 编辑:程序博客网 时间:2024/04/27 12:43

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 就跳出循环了

\0

目录
1 概述
2 例如

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    头文件没有加进去或者是头文件没有加到项目所在的目录里




0 0