- 博客(172)
- 资源 (28)
- 收藏
- 关注
原创 OpenCV入门12.2:SURF与SIFT比较及SURF示例
SURF算法通过这些步骤提供了一种快速且鲁棒的特征点检测和描述方法,使其在许多计算机视觉任务中得到广泛应用。
2024-08-27 23:58:30
663
1
原创 opencv入门1.1:从视频或摄像头读取图像
cv::VideoCapture是 OpenCV 中用于从视频文件或摄像头捕获图像帧的类。它提供了各种方法和函数,用于读取和处理视频数据。
2023-11-25 14:58:03
1350
原创 try异常处理机制代码举例
如果没有匹配的`catch`块,异常会传递到调用栈的上一级,继续寻找匹配的`catch`块,直至找到或者到达程序的入口处,如果没有找到,则程序会异常终止。在`try`块中,异常被抛出后进入到`catch`块中,我们通过`std::exception`类型的引用`e`来捕获异常信息,并打印出来。C++中的异常处理机制通过`try`、`catch`和`throw`关键字实现。总之,`try`块用于标记可能引发异常的代码块,`catch`块用于捕获和处理异常。2. 在`try`块中进行包含可能引发异常的代码。
2023-11-25 14:36:00
299
原创 OpenCV入门11:轮廓提取和形状识别
根据不同形状的特征,使用适当的函数和算法进行识别,并可针对需要的特征进行进一步的处理和分析。通过形状匹配方法,可以将待识别的形状与已知形状进行比较,来确定形状的类别。这些特征可以用于识别不同形状的轮廓。该函数可以帮助你找到图像中的圆形轮廓,并返回识别到的圆形的圆心和半径。使用几何矩方法可以计算轮廓的矩,并利用矩的特征来识别不同的形状,如面积、宽高比、中心距等。除了前面提到的基于多边形逼近的方法外,还有一些常用的形状识别算法可以应用于轮廓识别。该函数可以检测图像中的直线轮廓,并返回检测到的直线的参数。
2023-11-13 08:00:00
6160
原创 OpenCV入门10:边缘检测
Canny边缘检测是一种经典的边缘检测算法,它具有较好的边缘定位和抑制噪声的能力。除了以上提到的算法,OpenCV还提供了更多的边缘提取方法和函数,如SobelX/SobelY函数、ScharrX/ScharrY函数等。边缘检测是图像处理中常用的操作,用于检测图像中的边缘或轮廓。Scharr算子是一种改进的Sobel算子,可以提供更加敏锐和准确的边缘检测结果。Laplacian算子是一种二阶微分算子,可以用于检测图像中的边缘。Roberts算子是一种简单的离散差分算子,用于检测图像中的边缘。
2023-11-12 08:00:00
468
原创 OpenCV入门9:图像增强和图像滤波
这些是OpenCV中常用的图像增强方法的示例,包括直方图均衡化、滤波器等。通过图像增强,可以改善图像的对比度、清晰度和质量等方面,提高图像的可视化效果和特征提取的效果。滤波器是一种常用的图像增强方法,通过对图像进行滤波处理来改善图像的质量和特征。高斯滤波是一种常用的线性平滑滤波器,通过计算像素邻域的加权平均值来实现去除噪声的目的。均值滤波是一种简单的线性平滑滤波器,通过计算像素邻域平均值来实现去除噪声的目的。中值滤波是一种非线性平滑滤波器,通过计算像素邻域的中值来实现去除噪声的目的。
2023-11-11 08:00:00
1724
原创 OpenCV入门8:区域分割和区域生长
图像均值偏移算法是一种迭代的区域分割算法,它基于像素的颜色空间中的梯度信息,将像素从初始位置移动到颜色空间中的局部极大值,从而实现图像分割。分水岭算法是一种基于图像梯度的区域分割算法,它将图像视为地形图,将明显的梯度边界看作是山峰,从而将图像分割成水流汇聚的不同区域。除了以上提到的算法,OpenCV中还提供了其他一些区域分割算法,如基于聚类的方法、基于边缘的方法等。图割算法是一种基于图论的区域分割算法,它将图像分割问题转化为在图上进行最小割(Minimum Cut)的问题。函数进行基于阈值的分割。
2023-11-10 11:13:31
1125
原创 OpenCV入门7:图像形态学变换
开运算和闭运算是形态学操作中常用的组合操作,包括先腐蚀后膨胀(开运算)和先膨胀后腐蚀(闭运算)。开运算可以消除图像中的噪声和细小的斑点,而闭运算可以填充图像中的孔洞和连接断开的区域。膨胀操作可以扩展图像中的边缘和明显的亮区域。它通过在图像上滑动一个结构元素(通常是一个正方形或圆形的小区域),将与该结构元素有重叠的区域像素的最大值赋给输出图像中的对应像素。腐蚀操作与膨胀操作相反,可以消除图像中的边缘和明显的亮区域,使其变窄。以上是OpenCV中常见的形态学操作的示例,包括膨胀、腐蚀、开运算和闭运算等。
2023-11-09 11:04:16
312
原创 OpenCV入门6:图像变换
图像平移是指将图像在平面上沿着指定的方向进行移动。在OpenCV中,可以通过构建平移矩阵来实现图像平移操作。以上是OpenCV中常用的图像变换方法的示例,包括图像缩放、图像平移和仿射变换等。通过这些函数和方法,可以方便地对图像进行大小调整、平移和变换等操作。在OpenCV中,提供了一些函数和方法可以进行图像的缩放、仿射变换等操作。仿射变换是指通过线性变换和平移变换来对图像进行变换的方法,可以实现缩放、旋转、错切、平移等操作。图像缩放是改变图像的大小,可以将图像放大或缩小。函数进行图像缩放操作。
2023-11-08 10:54:58
313
原创 OpenCV入门5:色彩空间及色彩变换
HSV色彩空间常用于图像的色彩调整和分析,例如调整图像的饱和度或亮度。不同的色彩空间有不同的表示方式,常见的色彩空间包括RGB(红绿蓝)、HSV(色调、饱和度、亮度)、YUV(亮度、色度)等。色彩变换是指在不同的色彩空间之间进行转换,以实现色彩的调整、分析和处理等目的。RGB色彩空间是最常用的色彩空间,将颜色表示为红色、绿色和蓝色三个分量的组合。色彩变换是在不同的色彩空间之间进行转换,以实现对图像色彩的调整和处理。在图像处理中,常用的色彩变换包括RGB到HSV的转换、RGB到YUV的转换等。
2023-11-07 11:26:48
312
原创 OpenCV入门4:ROI区域操作
上述示例代码展示了如何设置ROI区域、复制和粘贴ROI、进行ROI区域的操作和计算。通过cv::Rect类型的矩形来定义ROI区域的位置和大小,然后使用cv::Mat的成员函数cv::Mat::operator()(const cv::Rect&)来设置ROI。所有的图像操作和计算都可以在ROI区域内进行,例如通过cv::Mat的成员函数cv::Mat::setTo()将ROI区域像素设置为指定的值。可以使用cv::Mat的成员函数cv::Mat::copyTo()来实现ROI区域的复制和粘贴。
2023-11-07 11:13:17
2469
2
原创 OpenCV入门3:像素操作
对于图像中的每一个像素,可以通过Mat对象中的at(i,j)函数(type可以是uchar、int等)获得Mat对象的像素值。OpenCV中提供了一些基本的图像处理函数,例如resize()(调整图像大小)、reshape()(调整通道数)、copyTo()(复制图像)等。cv::imread()函数可以读取多种图像格式的文件,例如JPEG、PNG等,cv::imwrite()函数可以将图像保存到磁盘上。这段代码演示了如何遍历图像的每个像素并反转BGR通道的值,然后显示处理后的图像。
2023-11-06 22:51:28
438
原创 OpenCV入门2:OpenCV中的图像表示
例如,对于一个3通道的彩色图像,可以通过cv::Mat对象的行索引、列索引和通道索引来访问和修改图像的像素值。例如,mat.at(i, j)[2]表示访问第i行、第j列的像素的红色通道值。cv::Mat还包含了一些成员函数,例如赋值运算符operator=、创建矩阵的create()函数、释放矩阵的release()函数、复制矩阵的copyTo()函数等。图像的每个像素都由一个或多个通道组成,常见的是灰度图像(单通道)和彩色图像(三通道,如BGR格式)。- dims:表示数据的维度。
2023-11-05 17:14:59
854
转载 卷积神经网络的卷积核大小、个数,卷积层数如何确定呢?
卷积神经网络的卷积核大小、卷积层数、每层map个数都是如何确定下来的呢?看到有些答案是刚开始随机初始化卷积核大小,卷积层数和map个数是根据经验来设定的,但这个里面应该是有深层次原因吧,比如下面的手写字卷积神经网络结构图1,最后输出为什么是12个map,即输出12个特征?然后图2又是输出10个特征了?在达到相同感受野的情况下,卷积核越小,所需要的参数和计算量越小。具体来...
2019-10-09 20:58:55
2555
原创 raise ValueError("Object arrays cannot be loaded when " ValueError: Object arrays cannot be loaded w
运行VGG16网络,训练数据是 CIFAR10,出现如下报错:raise ValueError("Object arrays cannot be loaded when "ValueError: Object arrays cannot be loaded when allow_pickle=False检索有人说是numpy版本,他们是用的IMDB的数据集,试了一下问题解决,记录一下。...
2019-09-25 19:11:58
3970
1
原创 pytorch-python源码生成windows的应用程序(.exe),报错OSError: could not get source code Failed to execute script
在windows10上面搭建了一个深度神经网络,编程语言python3.6,使用pytorch框架。所有代码在源码阶段都是用命令行进行编译验证。程序要用的时候是在一个windows平台,因此,还要生成一个windows的应用程序(.exe)。尝试方法一、直接应用命令行,使用工具pyinstaller,失败!这个方式网上随手找来的,可以生成exe应用程序,不能运行。尝试方法二、利用ID...
2019-09-25 11:37:24
8120
5
转载 error while loading shared libraries: libopencv_core.so.2.4: cannot open shared object file: No such
在ubuntu下编译opencv程序后,执行报下面到错误:error while loading shared libraries: libopencv_core.so.2.4: cannot open shared object file: No such file or directory解决方法:找到libopencv_开头到库的目录,在/usr/local/lib下面,在/etc/
2016-12-15 17:52:03
8133
原创 如何开始学习Deep Learning
译者:李老师;转载请注明出处:机器人视觉由于近来在许多不同问题(例如人脸识别,目标检测和Go)上,人工神经网络取得一系列成果,深度学习已变得非常流行。本博客目的是成为对深度学习感兴趣的朋友们的起点。 如果你已经对线性代数,微积分,概率和编程有了基本的了解:我建议从斯坦福的CS231n开始。这个课程讲义很全面,而且写的很好。每节课程的幻灯片也可用,即使相关视频从官方网站删
2016-12-05 22:09:40
664
转载 2013计算机视觉代码合集三
本文转载于http://www.yuanyong.org/cv/cv-code-three.html2013计算机视觉代码合集一:http://www.yuanyong.org/blog/cv/cv-code-one2013计算机视觉代码合集二:http://www.yuanyong.org/blog/cv/cv-code-two 按类别分类
2016-07-07 00:33:30
698
转载 视觉SLAM漫谈 (三): 研究点介绍
转自:http://www.robovs.com/discussion-on-visual-slam-iii-the-site-introduction/编者按:继视觉SLAM漫谈(一)(二)后,高博士的第三篇漫谈博文,本文就SLAM的几个组成部分进行了分述,之处各个方向现有的分支,并提出一些可以深入研究的点。对于希望在SLAM上有所建树的研究者有可借鉴之处。原文链接:http://www
2016-06-20 01:24:34
870
转载 视觉SLAM漫谈(二):图优化理论与G2O的使用
转自:http://www.robovs.com/discussion-on-visual-slam-ii-the-use-of-graph-theory-and-g2o/编者按:本篇继学弟高博士上篇博文视觉SLAM漫谈(一)深入探讨SLAM的基础理论“图优化理论”和一个Bundle Adjustment的通用库g2o。如果对SLAM还没有什么感觉的同学,可以先读第三篇,对SLAM有一个整
2016-06-20 01:19:38
1196
转载 视觉SLAM漫谈(一)
转自:http://www.robovs.com/discussion-on-visual-slam-a/编者按:本文来自一位博士学弟的总结博文,非常细致,感谢学弟在研究的过程当中,不忘把自己的理解用浅显的语言分享出来。原文博客:http://www.cnblogs.com/gaoxiang12/p/3695962.html1. 前言开始做SLAM(机器人同时定位与建图)研究
2016-06-20 01:10:07
766
原创 Android Studio NDK-JNI调用C/C++程序简要步骤步骤
详细过程后面推荐一个博客,这里只记录简要步骤:1.创建中间接口的Java类;2.在java程序中使用这个接口;3.编译工程,系统生成一些必要文件;4.在AS的Terminal中,使用javah命令声称头文件;5.在app的main目录下新建jni目录,剪切上一步生成的头文件到此目录,并在此目录新建.c原文件;6.在工程的local.properties文件中添加ND
2016-03-14 17:12:06
1721
原创 xcode跑ios程序出错The file “HelloOpenGL” couldn’t be opened because you don’t have permission to view it.
xcode运行iOS程序出错,提示The file “HelloWorld” couldn’t be opened because you don’t have permission to view it.,经查询问题解决,方法如下:将Build Setting下的Compiler for C/C++/Object-C修改一下,修改前如图1图1修改后如图2:
2015-10-09 16:40:15
2104
转载 图像处理、图像分析、图像理解 范畴区分
图像理解: 图像理解(image understanding,IU)就是对图像的语义理解。它是以图像为对象,知识为核心,研究图像中有什么目标、目标之间的相互关系、图像是什么场景以及如何应用场景的一门学科。图像理解属于数字图像处理的研究内容之一,属于高层操作。其重点是在图像分析的基础上进一步研究图像中各目标的性质及其相互关系,并得出对图像内容含义的理解以及对原来客观场景的解释,进
2015-10-09 10:43:48
9252
翻译 近似最近邻搜索方法FLANN简介
AR/VR群:244751474 ,欢迎加入,进行项目讨论!-----------------------------------------------分割线---------------------------------------------一、简介我们可以用下面的方式定义最近邻搜索(NNS)问题:在一个度量空间X给定一组点P=p1,p2,…,pn,这些点必须通过以下方
2015-09-23 16:50:46
22389
转载 机器学习算法基础概念学习总结
1.基础概念:(1) 10折交叉验证:英文名是10-fold cross-validation,用来测试算法的准确性。是常用的测试方法。将数据集分成10份。轮流将其中的9份作为训练数据,1分作为测试数据,进行试验。每次试验都会得出相应的正确率(或差错率)。10次的结果的正确率(或差错率)的平均值作为对算法精度的估计,一般还需要进行多次10折交叉验证,在求其平均值,对算法的准确性进行估计。
2015-09-22 12:18:20
1194
转载 前景目标检测方法(总结)
运动前景对象检测一直是国内外视觉监控领域研究的难点和热点之一,其目的是从序列图像中将变化区域从背景图像中提取出来,运动前景对象的有效检测对于对象跟踪、目标分类、行为理解等后期处理至关重要,那么区分前景对象,非常关键的一个问题是确定一个非常合适的背景,背景从象素的角度来理解,每一个象素就是有可能是前景点,也有可能是背景点,那么我们就要防止背景中误进入原属于前景点的对象,目前有几种常用的方法,但分别有
2015-09-22 11:44:45
2942
转载 机器学习领域的几种主要学习方式
一、学习方式 根据数据类型的不同,对一个问题的建模有不同的方式。在机器学习或者人工智能领域,人们首先会考虑算法的学习方式。在机器学习领域,有几种主要的学习方式。将算法按照学习方式分类是一个不错的想法,这样可以让人们在建模和算法选择的时候考虑能根据输入数据来选择最合适的算法来获得最好的结果。 1.监督式学习: 在监督式学习下,输入数据被称为“训练数据”,每组训练
2015-09-22 11:24:22
795
转载 机器学习温和指南
摘要:机器学习与NLP专家、MonkeyLearn联合创始人&CEO Raúl Garreta面向初学者大体概括使用机器学习过程中的重要概念,应用程序和挑战,旨在让读者能够继续探寻机器学习知识。
2015-09-18 15:54:23
753
转载 蔡学镛:让架构接地气,不再云里雾里
摘要:SDCC 2015中国软件开发者大会将于2015年11月19-21日在北京召开。我们采访了与会讲师,蔡学镛,现任中国平安的首席应用架构师,请他分享他的架构积累、架构师感悟,以及将在本次大会上分享的话题。
2015-09-18 15:42:03
1038
转载 抽象类和接口的区别
摘要:本文作者是Sebastian Malaca,是面向对象编程的狂热者,不断深化研究整洁代码和高代码质量。本文中,作者通过多个方面深入剖析抽象类和接口的区别,并结合经验供读者借鉴学习。
2015-09-18 15:35:21
392
转载 各种编程语言的深度学习库整理
摘要:本文总结了Python、Matlab、CPP、Java、JavaScript、Lua、Julia、Lisp、Haskell、.NET、R等语言的深度学习库,赶紧收藏吧!
2015-09-18 15:32:53
979
转载 从零实现来理解机器学习算法:书籍推荐及障碍的克服
现阶段有些开发者并没有机器学习算法的基础知识,但是怎么才能让开发者从零入门来学习好机器学习算法,这篇文便帮助开发者总结推荐了一些办法。
2015-09-14 17:58:15
821
转载 机器学习、数据挖掘、计算机视觉等领域经典书籍推荐
人工智能、机器学习、模式识别、计算机视觉、数据挖掘、信息检索、自然语言处理等作为计算机科学重要的研究分支,不论是学术界还是工业界,有关这方面的研究都在如火如荼地进行着,学习这些方面的内容有一些经典书籍,现总结如下,方便自己和大家以后学习研究:人工智能:《Artificial Intelligence: A Modern Approach》,第三版,Russell著,权威、经典的人工
2015-06-24 10:54:18
893
转载 新的10大数据挖掘、机器学习算法
一、原来的10大算法2006年,IEEE的数据挖掘会议选出了10大算法:[见点击打开链接]C4.5k-MeansSupport Vector Machines(SVM)AprioriExpectation Maximization(EM)PageRankAdaBoostk-Nearest Neighbors(kNN)Naive BayesClassification and Reg
2015-06-23 19:02:20
870
转载 计算机科学中最重要的32个算法
奥地利符号计算研究所(Research Institute for Symbolic Computation,简称RISC)的Christoph Koutschan博士在自己的页面上发布了一篇文章,提到他做了一个调查,参与者大多数是计算机科学家,他请这些科学家投票选出最重要的算法,以下是这次调查的结果,按照英文名称字母顺序排序。A* 搜索算法——图形搜索算法,从给定起点到给定终点计算出
2015-06-23 16:51:23
725
转载 几种自动目标跟踪算法的比较研究
摘 要:复杂背景目标跟踪是近年来自动目标识别(ATR)领域的一个研究热点,在军事、医疗、安全等多个领域具有广泛的应用前景。ATR的研究内容主要包括目标的检测分类、特征提取和目标定位识别等。本文对当前流行的目标跟踪算法进行了全面的分析比较,最后对目标跟踪算法的进一步研究方向进行了深入的探讨。 关键词:目标跟踪;粒子滤波;自动目标识别 1 引言 目标跟踪(Target Tracki
2015-06-23 15:47:54
13388
Linux内核设计与实现(第3版)
2013-06-17
linux设备驱动程序(第三版英文版)
2013-05-15
Linux内核设计与实现_第三版英文版.pdf
2013-05-15
Linux内核设计与实现
2013-05-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人