
OpenCV笔记
文章平均质量分 74
M李丽
努力到足以感动自己,你就成功了。
展开
-
关于OpenCV的基本数据类型
类似C语言,OpenCV也有其基本的数据类型。可以将他们作为原子类型。在OpenCV中的基本的数据类型大部分的定义都是以“类”的形式定义的——————这点理解很重要。我们知道,在定义一个变量时就开辟了内存空间。(1)CvPoint类型,这是一个很简单的结构,用来定义一个坐标点,其中包括两个integer类型成员x和y,分别表示x轴和y轴的坐标值,此外,CvPoint有两个扩展类型CvPoi原创 2016-11-23 11:47:56 · 644 阅读 · 0 评论 -
详解OpenCV中的cvCreateMat()函数
CreateImageCreates an matrix header and allocates the matrix data //创建矩阵头并分配矩阵数据。.C:CvMat* cvCreateMat(int rows,int cols,int type) //函数原型ParametersRows -Numbers of rows in the matrix原创 2017-03-30 20:57:20 · 2320 阅读 · 0 评论 -
OpenCV中cvLoadImage()函数和cvCreateImage()函数的异同之处!
(1)cvLoadImage()函数含义:是从磁盘中载入图像的函数;函数原型:IplImage* cvLoadImage( const char* filename, int flags=CV_LOAD_IMAGE_COLOR );第一个参数:filename :要被读入的文件的文件名(包括后缀);这里要特别注意(有三种读入方法)1,直接从任意磁盘中读取图片,必须是是绝对路原创 2017-03-29 14:37:16 · 12827 阅读 · 4 评论 -
细说HighGui
(一)HighGui是什么?HightGui是一个可以移植的图形工具包。 OpenCV将与操作系统,文件系统,摄像机之类的硬件进行交互的一些函数纳入HighGui(high-level graphical user interface)库中,有了HighGui,我们可以方便的打开窗口,显示图像,读出或者写入图像相关的文件(包含图像与视屏),处理简单的鼠标,光标和键盘事件。也可以使用Hig原创 2017-03-20 10:56:45 · 12402 阅读 · 3 评论 -
关于图像三通道和单通道的解释
(一):单通道图,俗称灰度图,每个像素点只能有有一个值表示颜色,它的像素值在0到255之间,0是黑色,255是白色,中间值是一些不同等级的灰色。(也有3通道的灰度图,3通道灰度图只有一个通道有值,其他两个通道的值都是零)。(二):三通道图,每个像素点都有3个值表示 ,所以就是3通道。也有4通道的图。例如RGB图片即为三通道图片,RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿原创 2017-02-24 20:19:45 · 68695 阅读 · 23 评论 -
基于OpenCV和C++实现最大阈值分割算法
代码如下::/***********************************************************************************************************文件说明:* 基于OpenCv的阈值分割算法*开发环境:* win7+vs2010+opencv2.4.8*时间地点:*原创 2017-02-24 17:55:16 · 2529 阅读 · 0 评论 -
关于阈值化函数cvThreshold()
所谓阈值,其基本的思想是:给定一个数组和一个阈值,然后根据数组中每个元素的值是低于还是高于阈值而进行的一些处理。函数原型: void cvThreshold( const CvArr* src, CvArr* dst, double threshold, double max_value, int threshold_type )/***********************原创 2017-02-24 17:15:17 · 1389 阅读 · 0 评论 -
基于OpenCV实现图像线性变化
基础知识:线性灰度变换函数f(x)是一个一维线性函数y=f(x)=ax+b式中;a为线性函数的斜率,b为线性函数在y轴的截距,x表示输入图像的灰度值,y表示输出图像的灰度值。(1) 当a>1时,输出图像的对比度将增加;当a (2) 当a=1时,且b不等于0时,操作仅仅使得所有的像素灰度值上移或者下移,其效果使得整个输出图像更亮或者更暗(原创 2017-03-01 08:53:18 · 1076 阅读 · 0 评论 -
利用OpenCV和C++实现由RGB图像转化为灰度图,再将灰度图转化为二值图的程序
#include#include#include#includeint main(){ //【1】加载原图 IplImage* srcImg = cvLoadImage(".\\srcImg\\No.08.jpg"); cvNamedWindow("【srcImg】"); cvShowImage("【srcImg】",srcImg); CvSize grayImgSi原创 2017-02-18 17:01:48 · 11244 阅读 · 1 评论 -
OpenCV中的函数waitKey()函数简介
根据两个不同的程序 的显示结果,总结waitKey()函数的机制代码一#include#include#include#include #includeint main(){ IplImage* srcImg = cvLoadImage(".\\srcImg\\No.09.jpg"); cvNamedWindow("【srcImg】"); cvSho原创 2017-02-18 10:49:12 · 12237 阅读 · 2 评论 -
XML/YAML文件的输入输出
本文主要阐述XML/YAML文件在OpenCV3中如何实现输入输出操作。 :XML/YAML文件,顾名思义指的是文件的格式,即以.XML为后缀的文件和以.YAML为后缀的文件。 所谓XML(英文全称eXtensible Markup Language)翻译成中文为“可扩展标示语言”。首先,XML 是一种元标记语言。所谓“元标记”,就是开发者可以根据自身自身需要定原创 2016-11-22 09:58:08 · 2487 阅读 · 0 评论 -
详解CvScalar类型
CvScalar类型 : 它包括四个整型成员,当内存不是问题的时候,CvScalar经常用来代替1,2或者3个实数成员(这种情况下,不需要的分量被忽略掉),CvScalar有一个单独的成员val,val是一个指针,它指向一个4个双精度浮点数数组。CvScalar就是一个可以用来存放4个double数值的数组,一般用来存放像素值(不一定是灰度值哦)最多可以存放四个通道。type原创 2016-11-23 16:57:46 · 11143 阅读 · 1 评论 -
学习Opencv---例3.12----用imageROI来添加某范围的像素
#include#include#includeusing namespace std;int main(int argc,char** argv){ IplImage* src; if(argc==7 &&((src=cvLoadImage(argv[1],1))!=0)) //确定命令行参数的个数并加载图像 { int x = atoi(argv[2]); int原创 2017-03-30 21:06:18 · 686 阅读 · 0 评论