- 博客(35)
- 资源 (2)
- 收藏
- 关注
原创 00-小白快速上手opencv--说明
本人也是opencv刚入门不久,我认为对于opencv学习有两种境界,第一种就是普通级别,懂得opencv中的基本的API如何使用。第二种就是高级级别,知道opencv中的API如何使用并且知道每个API如何自己写出来。(不过这个世界上不存在知道所有API如何写的人,一个工作了五年做opencv的大神说的),所以对于我们刚准备入门的人来说,更没有必要去深纠opencv中的每个API里面的具体实现,...
2018-08-12 10:17:25 1656 1
原创 opencv 中的双边滤波用法总结(10)
(一)知识点:(二)API说明:【双边滤波】结合空间临近度和像素值相似度的一种折中处理原型:void bilateralFilter( InputArray src, OutputArray dst, int d,double sigmaColor, double sigmaSpace,int borderType=BORDER_DEFAULT );参数1:输入图像...
2018-08-13 17:13:16 5861 1
原创 opencv中的均值滤波与高斯滤波用法总结(09)
还是老习惯,分三步走。第一步,功能说明。第二步,结果图显示,第三步,API详解。第四步,代码展示(注释很详细,保证所有有C++基础的人都可以看懂。)第一步,功能说明:高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。高斯滤波:用领域内像素的加权平均灰度值去替代模板中心像素点的值。均值滤波原理:该核内的值,求平均值放入核中。这样核依次把所有的下那个数求出来...
2018-08-13 16:31:41 12887 2
原创 opencv中图像的亮度与对比度调节(08)
本文干货满满,通过调节图像的像素值,来改变图像的对比度与亮度。下面先介绍几个需要用到的知识点。知识点(一)Mat dst;dst = Mat::zeros(src1.size(),src1.type()); //创建一张与原图像src1大小类型一样的空白图像,像素值初始化为0。知识点(二)saturate_cast<uchar>(value) 这里面value...
2018-08-13 15:39:48 8015 2
原创 opencv中cvtcolor()函数用法总结(07)
还是老习惯,分三步走。第一步,功能说明。第二步,结果图显示,第三步,API详解。第四步,代码展示(注释很详细,保证所有有C++基础的人都可以看懂。)第一步,功能说明:cvtcolor()函数是一个颜色空间转换函数,可以实现RGB颜色向HSV,HSI等颜色空间转换。也可以转换为灰度图。第二步,结果图显示:我们使用了两种方式转换,下面是不同方式的效果图。图1是原图。图2图3分别是效果图,转换方...
2018-08-13 14:49:11 68342 16
原创 opencv中createTrackbar()函数用法总结(06)
在opencv中滑动条是很方便的一个测试函数,我们可以不需要更改程序就可以更改变量的值来观察效果。还是老习惯,分三步走。第一步,功能说明。第二步,结果图显示,第三步,API详解。第四步,代码展示(注释很详细,保证所有有C++基础的人都可以看懂。)第一步,功能说明:用途就是通过改变滑动条的位置来改变函数里面变量的值,比如我们需要把程序里面的变量i改变为10,20,30就可以分别滑到10,20...
2018-08-13 14:23:46 14422 2
原创 opencv中addWeighted()函数用法总结(05)
还是老习惯,分三步走。第一步,功能说明。第二步,结果图显示,第三步,API详解。第四步,代码展示(注释很详细,保证所有有C++基础的人都可以看懂。)第一步,功能说明:addWeighted()函数是将两张相同大小,相同类型的图片融合的函数。他可以实现图片的特效,不多说了,直接上图。第二步,结果图显示:待 融合的两张图src1,src2:效果图dst:第三步,API详解:...
2018-08-12 17:01:00 77567 12
原创 opencv中imreate( )函数用法总结(04)
还是老习惯,分三步走。第一步,功能说明。第二步,结果图显示,第三步,API详解。第四步,代码展示(注释很详细,保证所有有C++基础的人都可以看懂。)第一步,功能说明:该函数的功能就是把新生成的图片,存入本地文件夹里面。第二步,结果图显示: 效果显示:文件夹下已经保存成功图片: 第三步,API详解:原型:bool imwrite( const string& ...
2018-08-12 16:25:29 725 1
原创 opencv中puttext()函数用法总结(03)
还是老习惯,分三步走。第一步,功能说明。第二步,结果图显示,第三步,API详解。第四步,代码展示(注释很详细,保证所有有C++基础的人都可以看懂。)第一步,功能说明:在图片上写入字。是不是很6呀。不多说了,直接上图。在效果图显示Hello。第二步,结果图显示:第三步,API详解:原型 void putText( Mat& img, const string& tex...
2018-08-12 16:05:29 31674 1
原创 opencv中namedWindow( )函数用法总结(02)
还是老习惯,分三步走。第一步,功能说明。第二步,结果图显示,第三步,API详解。第四步,代码展示(注释很详细,保证所有有C++基础的人都可以看懂。)第一步,功能说明:namedWindow()的功能就是新建一个显示窗口。可以指定窗口的类型。 第二步,结果图显示:我们展示两张图,第一张窗口与图片大小相等。第二张窗口大小被拖动图片高度变小。图1:图2: 第三步,AP...
2018-08-12 15:13:03 95724 12
原创 opencv中imread函数,imshow( )函数用法总结(01)
还是老习惯,分三步走。第一步,功能说明。第二步,结果图显示,第三步,API详解。第四步,代码展示(注释很详细,保证所有有C++基础的人都可以看懂。)第一步,功能说明:imread()功能就是载入一张图片。该函数经常配合imshow( )函数一起使用,imshow( )函数功能就是把你刚才载入的图片显示出来。第二步,结果图显示:如果你已经配置好环境那就来上手来试验一下吧。先显示两张图片,分别...
2018-08-12 11:25:55 123405 22
原创 如何在Ubuntu下实现一个简单的opencv小案例
前提是你已经安装了opencv库。方法1:使用g++编译新建一个test.cpp的文件,内容为:#include<opencv2/opencv.hpp>using namespace cv;//下面的所有cv相关类型不用加上前缀了int main(){ Mat img =imread("/home/douxiao/Desktop/opencvtest/demo...
2018-08-06 17:19:02 2884
原创 opencv中的中值滤波用法总结(11)
(一)概念 (二)功能说明:【中值滤波】:用像素点领域灰度值的中值来代替该像素点的灰度值也就是说用一片区域的中间值来代替所有值。可以除去最大,最小值。优点:除去斑点噪声和椒盐噪声很有用。均值滤波噪声也被参与运算缺点:中值滤波时间在均值滤波的5倍以上。方法:1,假设以3*3为例,取周边的点从上到下排序 2,取中间值,一般采用奇数点的值为该中值,若为偶数则取平均值。...
2018-07-27 08:45:20 14788 1
原创 【图像处理】09模糊图像1(均值滤波,高斯滤波举例)
均值滤波与高斯滤波代码案例:#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;using namespace std;int main(int argc, char** argv){ Mat src,dst; src = imread...
2018-07-27 08:41:57 520
原创 【图像处理】08绘制形状和文字
基础知识 /////////////////////////////////代码复制可以直接使用。 #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace ...
2018-07-26 16:53:13 488
原创 【图像处理】07调整图像亮度与对比度
对比度比较简单,大概的意思就是,把A图像的像素值经过变换后变成B的图像的像素值,这种变换有一个公式,公式就是上面的,公式有两个运算,一个乘法,一个加法。乘法就是扩大像素值,这个就是对比度。加法就是让像素值趋向于250白色。也就是亮度。 #include <opencv2/opencv.hpp>#includ...
2018-07-26 16:50:47 1245
原创 【图像处理】 06图像混合
基础知识 代码演示 使用 addWeighted()函数让两张图片相加 #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace std; int main(int ...
2018-07-26 11:33:58 444
原创 【opencv图像处理】 05图像操作
代码实现 功能:显示一张图片 #include <opencv2/opencv.hpp> #include <iostream> using namespace std; using namespace cv; /***************************************...
2018-07-26 10:45:16 771
原创 error C2061: 语法错误: 标识符“acosf”
因为我在C文件中使用了C++的头文件和C++的程序———#include<iostream所以导致报错。c:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath(19): error C2061: 语法错误: 标识符“acosf”1>c:\program files (x86)\microsoft v...
2018-07-13 08:55:40 9025 5
原创 string substr函数
string结构有一个成员函数叫substr()可以用它实现。basic_string::substrbasic_string substr(size_type _Off = 0,size_type _Count = npos) const;功能:从一个字符串复制一个从指定位置开始,并具有指定长度的子字符串。参数 _Off 所需的子字符串的起始位置。字符串中第一个字符的索引为 0,默认值为0._C...
2018-07-13 06:09:29 23197
原创 C++实现栈
栈的介绍:栈(stack),是一种线性存储结构,它有以下几个特点:(1) 栈中数据是按照"后进先出方式进出栈的。(2) 向栈中添加/删除数据时,只能从栈顶进行操作。栈通常包括的三种操作:push、peek、pop。push -- 向栈中添加元素。peek -- 返回栈顶元素。(取出)pop -- 返回并删除栈顶元素的操作。(删除)C++的STL中本身就包含了stack类,基本上该stack类就能...
2018-07-11 11:31:16 29571 5
转载 为什么模板类不支持分离编译
首先,C++标准中提到,一个编译单元[translation unit]是指一个.cpp文件以及它所include的所有.h文件,.h文件里的代码将会被扩展到包含它的.cpp文件里,然后编译器编译该.cpp文件为一个.obj文件,后者拥有PE[Portable Executable,即windows可执行文件]文件格式,并且本身包含的就已经是二进制码,但是,不一定能够执行,因为并不保证其中一定有m...
2018-07-11 09:45:03 513
原创 C++实现双向链表
下面就是我们双向链表的基本原理。这里我们插入代码案例:头文件DoubleLink.h#ifndef DOUBLE_LINK_HXX#define DOUBLE_LINK_HXX#include <iostream>using namespace std;//一个节点template<class T> struct DNode {public: T val...
2018-07-10 15:29:06 26649 7
原创 1>MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain
解决方法: 注意入口函数:创建项目时如果是win32项目,入口函数是WinMain;如果是win32控制台应用程序,入口函数是main。(常用这种,所以在创建项目呢时一定要格外小心)...
2018-07-09 16:53:30 3244
原创 sscanf常见的用法详解
常见用法:1,取指定长度字符串sscanf("zhoue3456 ", "%4s", str); printf("str=%s\n", str); //str="zhou";2, 取到指定字符为止的字符串,取遇到a为止字符串 sscanf("zhou456ahedf", "%[^a ]", str); printf(&qu
2018-07-09 10:11:47 3468
原创 C++实现单例模式
单例模式的概念:只允许产生一个对象的类详细解释: 单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例单例模式实现方法:单例类保证全局只有唯一一个自行创建的实例对象。单例类提供获取这个唯一实例的接口单例模式的优缺点:优点:阻止其他对象实例化自己的副本,保证所有访问唯一性。可以灵活的更...
2018-07-09 09:51:47 309
原创 E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它? (
E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?解决办法如下:1,终端输入 ps aux ,列出进程。找到含有apt-get的进程,直接sudo kill PID。2,强制解锁,命令sudo rm /var/cache/apt/archives/locksudo rm...
2018-07-05 11:32:30 3352
原创 linux下安装pcl库步骤以及bug解决
安装步骤:如果是ubuntu14,则可以使用以下命令sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pclsudo apt-get updatesudo apt-get install libpcl-all但如果是ubuntu16及以上版本,则使用以下命令sudo add-apt-repository ppa:v-la...
2018-07-04 15:53:53 10220 2
原创 《视觉slam工程师》今天整理了一下毕业前所需要具备的能力
学习2条线1,技能:【熟练使用C和C++】《21天学通C++》《Effective C++》【熟悉常用的opencv,等库】《opencv 3入门》《学习 opencv》【熟悉linux下编程】熟悉cmake编程熟悉Kdevelop 以及调试【QT下的编程】熟悉QT软件以及基本的语法功能【熟悉常见的slam框架】跟着高翔的14讲走就行【机器学习数学知识】高数,矩阵分析,概率论【基本的数据结构与算法...
2018-06-29 05:27:54 6578
原创 计算机视觉slam面试工作需要掌握的基础知识
总结了一下,应该就需要这么多知识就可以先入门视觉slam了,可以找到一份视觉slam算法工程师的工作了,其他的知识在工作中学习吧。语言类【代号01】《Essential C++》【代号02】《C++ Primer》项目【代号03】捕鱼达人【代号04】雷霆战机数据结构【代号05】《数据结构(C++ 语言版)》【代号06】《算法(第4版)》专业知识【代号07】视觉slam十四讲【代号08】opencv...
2018-06-21 10:33:08 5638 1
原创 vs2010背景图片配置方法
(vs2010背景图片设置,vs2015背景图片设置,vs2013背景图片设置.vs2010背景设置成图片,vs2015背景设置成图片,vs2013背景设置成图片).在这里先说明一下,我的是VS2010,基本上每个版本都差不多。我先贴一张效果图。接下来我主要以图片的形式来讲步骤。第五步,当然是下载了啦。然后安装呀。第六步,这个时候你要关闭你的VS呀,切记,一定要退出VS。重启VS。原创,转载请写原...
2018-06-16 20:31:43 5859 2
原创 02-ubuntu怎么设置成中文界面 Ubuntu安装中文语言方法
1,首先说明一下,安装语言,需要联网下载语言包,我第一次电脑联的校园网,不能下载,最后换成了自己手机热点。下面直接看图>>>>>>
2018-05-31 11:12:37 2211
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人