随笔分类 -  opencv入门教程

作者:于仕琪 C++编程
OpenCV —FileStorage类的数据读写操作与示例
该文被密码保护。

posted @ 2018-08-06 10:20 gary_123 阅读(0) 评论(0) 推荐(0) 编辑

opencv的mask
该文被密码保护。

posted @ 2018-08-05 21:45 gary_123 阅读(0) 评论(0) 推荐(0) 编辑

ubuntu下编译安装opencv2详细教程以及python调用opencv方法
该文被密码保护。

posted @ 2018-08-05 21:44 gary_123 阅读(6) 评论(0) 推荐(0) 编辑

opencv中读写视频
摘要:1、介绍 OpenCV 读写视频之前,先介绍一下编解码器(codec) 。如果是图像文件, 我们可以根据文件扩展名得知图像的格式。但是此经验并不能推广到视频文件中。 有些 OpenCV 用户会碰到奇怪的问题, 都是 avi 视频文件, 有的能用 OpenCV打开,有的不能。 视频的格式主要由压缩算法 阅读全文

posted @ 2017-03-16 16:07 gary_123 阅读(745) 评论(0) 推荐(0) 编辑

数据获取与存储
摘要:1、读写图像文件 将图像文件读入内存,可以使用 imread()函数;将 Mat 对象以图像文件格式写入内存,可以使用 imwrite()函数。 2、读图像文件 imread()函数返回的是 Mat 对象, 如果读取文件失败, 则会返回一个空矩阵,即 Mat::data 的值是 NULL。执行 im 阅读全文

posted @ 2017-03-16 15:19 gary_123 阅读(225) 评论(0) 推荐(0) 编辑

Mat 与 IplImage 和 CvMat 的转换
摘要:在 OpenCV 2 中虽然引入了方便的 Mat 类,出于兼容性的考虑,OpenCV 依然是支持 C 语言接口的 IplImage 和 CvMat 结构。如果你要与以前的代码兼容,将会涉及 Mat 与 IplImage 和 CvMat 的转换。 1、 Mat 转为 IplImage 和 CvMat 阅读全文

posted @ 2017-03-16 14:54 gary_123 阅读(218) 评论(0) 推荐(0) 编辑

Mat类的输出格式
摘要:从前面的例程中, 可以看到 Mat 类重载了<<操作符, 可以方便得使用流操作来输出矩阵的内容。默认情况下输出的格式是类似 Matlab 中矩阵的输出格式。除了默认格式,Mat 也支持其他的输出格式。代码如下: 首先创建一个矩阵,并用随机数填充。填充的范围由 randu()函数的第二个参数和第三个参 阅读全文

posted @ 2017-03-16 14:33 gary_123 阅读(275) 评论(0) 推荐(0) 编辑

Mat 类的内存管理
摘要:使用 Mat 类,内存管理变得简单,不再像使用 IplImage 那样需要自己申请和释放内存。虽然不了解 Mat 的内存管理机制,也无碍于 Mat 类的使用,但是如果清楚了解 Mat 的内存管理,会更清楚一些函数到底操作了哪些数据。 Mat 是一个类,由两个数据部分组成:矩阵头(包含矩阵尺寸,存储方 阅读全文

posted @ 2017-03-16 14:16 gary_123 阅读(642) 评论(0) 推荐(0) 编辑

Mat_类
摘要:Mat_类是对 Mat 类的一个包装,其定义如下: template<typename _Tp> class Mat_ : public Mat { public: //只定义了几个方法 //没有定义新的属性 }; 这是一个非常轻量级的包装, 既然已经有 Mat 类, 为何还要定义一个 Mat_?下 阅读全文

posted @ 2017-03-16 11:08 gary_123 阅读(267) 评论(0) 推荐(0) 编辑

Mat表达式
摘要:利用C++中的运算符重载,Opencv2中引入了Mat运算表达式。这一新特点使得使用c++进行编程时,就如同写Matlab脚本。 例如: 如果矩阵A和B大小相同,则可以使用如下表达式: C=A+B+1; 其执行结果是A和B的对应元素相加,然后再加1,并将生成的矩阵赋给C变量。 下面给出 Mat 表达 阅读全文

posted @ 2017-03-16 10:58 gary_123 阅读(236) 评论(0) 推荐(0) 编辑

选取图像局部区域
摘要:Mat 类提供了多种方便的方法来选择图像的局部区域。 使用这些方法时需要注意,这些方法并不进行内存的复制操作。如果将局部区域赋值给新的 Mat 对象,新对象与原始对象共用相同的数据区域,不新申请内存,因此这些方法的执行速度都比较快。 1、单行或单列选择 2、用Range选择多行或者多列 Range 阅读全文

posted @ 2017-03-15 15:51 gary_123 阅读(255) 评论(0) 推荐(0) 编辑

Mat的迭代器使用
摘要:如果你熟悉 C++的 STL 库,那一定了解迭代器(iterator)的使用。迭代器可以方便地遍历所有元素。Mat 也增加了迭代器的支持,以便于矩阵元素的遍历。下面的例程功能跟上一节的例程类似,但是由于使用了迭代器,而不是使用行数和列数来遍历,所以这儿没有了 i 和 j 变量,图像的像素值设置为一个 阅读全文

posted @ 2017-03-15 15:18 gary_123 阅读(430) 评论(0) 推荐(0) 编辑

像素值的读写
摘要:很多时候, 我们需要读取某个像素值, 或者设置某个像素值; 在更多的时候,我们需要对整个图像里的所有像素进行遍历。OpenCV 提供了多种方法来实现图像的遍历。 1、at()函数 函数 at()来实现读取矩阵中的某个像素,或者对某个像素进行赋值操作。下面两行代码演示了 at()函数的使用方法。 如果 阅读全文

posted @ 2017-03-14 23:54 gary_123 阅读(325) 评论(0) 推荐(0) 编辑

矩阵的基本元素表达
摘要:1、对于单通道图像,其元素类型一般为 8U(即 8 位无符号整数) ,当然也可以是 16S、32F 等;这些类型可以直接用 uchar、short、float 等 C/C++语言中的基本数据类型表达。 2、如果多通道图像,如 RGB 彩色图像,需要用三个通道来表示。在这种情况下, 如果依然将图像视作 阅读全文

posted @ 2017-03-14 23:19 gary_123 阅读(998) 评论(0) 推荐(0) 编辑

创建Mat对象
摘要:Mat 是一个非常优秀的图像类,它同时也是一个通用的矩阵类,可以用来创建和操作多维矩阵。有多种方法创建一个 Mat 对象。 1、构造函数方法 下面是一个使用构造函数创建对象的例子。 常用的构造函数 2、使用create()函数创建对象 除了在构造函数中可以创建图像,也可以使用 Mat 类的 crea 阅读全文

posted @ 2017-03-14 22:52 gary_123 阅读(386) 评论(0) 推荐(0) 编辑

Mat类
摘要:1、Mat类 早期的opencv中,使用IplImage和CvMat数据结构来表示图像。IplImage和 CvMat 都是c语言的结构。使用这两个结构的问题是内存需要手动管理,开发者必须清楚的知道何时需要申请内存,何时需要释放内存。这个开发者带来了一定的负担,开发者应该将更多精力用于算法设计,因此 阅读全文

posted @ 2017-03-14 22:03 gary_123 阅读(282) 评论(0) 推荐(0) 编辑

3、opencv 图像显示功能
摘要:#include <iostream>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;int main(){ Mat img = imread("D:\\FOR_SLAM\\lena.jpg"); if (img 阅读全文

posted @ 2017-01-12 13:25 gary_123 阅读(264) 评论(0) 推荐(0) 编辑

VS13+OPCV2.4.11
摘要:转载:http://blog.csdn.net/a934270082/article/details/50843266?locationNum=3&fps=1 1. 配置系统环境变量:计算机 > 属性 > 高级系统设置 > 环境变量 (1) 首先创建OpenCV的环境变量, 变量名:OPENCV, 阅读全文

posted @ 2017-01-11 00:12 gary_123 阅读(671) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示