对于visual studio 2015
没有本质上的区别,只是VS已经定义好的两个编译选项
使用上的区别:
1.Debug:调试版本,编译的结果通常包含调试信息,而且不做任何优化,为开发人员提供强大的应用程序调试能力,速度慢。
2.Release:发布版本,为用户使用的,不保存调试信息,同时,它往往进行了各种优化,速度快
总之
需要调试程序时,选用Debug选项
需要程序快速运行时,选用Release选项
编译器:
简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)
高级计算机语言便于人编写,阅读交流,维护。机器语言是计算机能直接解读、运行的。编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。源代码一般为高级语言 (High-level language), 如Pascal、C、C++、Java、汉语编程等或汇编语言,而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。
imread:打开文件 IMREAD_GRAYSCALE表示用灰度图
\n:表示输出换行
imshow:显示文件
Mat: matrix 表示矩阵
waitKey(0):表示一直显示 如果是1 那就显示1ms就马上下一步
namedWindow("输入窗口", WINDOW_FREERATIO);:把大图用小窗口显示完全
//:用来注释
alt按住可以选择同列的区域
roi提取:提取有兴趣的区域 比如抠图 利用OpenCV中的inRange()函数可实现二值化功能(这点类似threshold()函数)
image.copyTo(imageROI,mask),作用是把mask和image重叠以后把mask中像素值为0(黑色)的点对应的image中的点变为透明(把mask透明 保留image的背景和mask的白色部分1的图)
int为整数 double为小数
电脑左上角为原点 往右下展开
flip:flip函数是矩阵或者图像翻转
M.at
bin:直方图中每个柱
equalizeHist(); //直方图均衡化的API 只支持单通道 即灰度值
calcHist(); //计算直方图的API
自学直方图均衡化
blur:卷积API