图像处理与计算机视觉
文章平均质量分 81
从理论到实践,全方位解析计算机视觉
PaQiuQiu
大家好,我是某AI赛道头部企业算法总监,欢迎来到我的CSDN个人主页!作为一个热衷于技术的从业者,我在这里与大家分享最新的科技动态、独到的技术观点和实践经验。
展开
-
深度相机的坑
版权声明:本文为博主原创文章,未经博主允许不得转载。违者必究。 https://blog.csdn.net/electech6/article/details/79077829 看起来深度相机貌似是一种完美产物。可是稍微有点哲学思维的读者都知道,世界上不存在绝对完美...原创 2018-11-23 14:34:38 · 3828 阅读 · 0 评论 -
单目相机三维姿态解算
单目相机三维姿态解算Abstract:This passage mainly describes how to solve pose(Yaw,Pitch,Roll)with signal camera in three-dimensional,which bases on OpenCV library.Key words: OpenCV; Pose;Signalcamera摘 要:本文主原创 2018-01-27 18:03:09 · 6386 阅读 · 3 评论 -
给定0-1矩阵,求连通域
图像处理题目:注意,一下所有需要写代码的题目,不允许使用OpenCV的Mat类。如果图片内容需要用指针读取。1 . 给定0-1矩阵,求连通域。(遇到过N次,笔试面试都有,最好做到能徒手hack代码或者伪代码。) 二值图像分析最重要的方法就是连通区域标记,它是所有二值图像分析的基础,它通过对二值图像中白色像素(目标)的标记,让每个单独的连通区域形成一个被标识的块原创 2017-12-20 13:57:40 · 20545 阅读 · 2 评论 -
图像处理基础知识
一、图像的原创 2014-06-05 19:25:58 · 1992 阅读 · 0 评论 -
图像预处理:图像增强
一、图像增强的目的:改善图像的视觉效果,提高图像的清晰度针对给定图像的应用场合,突出某些感兴趣的特征,抑制不感兴趣的特征,以扩大图像中不同物体特征之间的差别,满足某些特殊分析的需要。二、图像增强的方法:基于空域的方法,直接对图像像素进行处理基于频域的方法,在图像的某种变换域内对图像的变换系数值进行修正,然后再反变换到原来的空域,得到增强的图像。三、空间域图像原创 2015-01-29 08:47:43 · 8593 阅读 · 0 评论 -
图像识别
定义:图像识别,是利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术。常用方法:1.模板匹配1)归一化积相关灰度匹配2)序贯相似性检测法匹配2. 基于特征的匹配1)不变矩匹配法2)距离变化匹配法3)最小均方误差匹配法原创 2014-08-10 15:40:27 · 1798 阅读 · 0 评论 -
OpenCV练习第二弹
专注于计算机视觉,用心灵的窗口照亮世界。本次练习的目的是做出类似扫描全能王软件的部分功能。涉及到以下四个知识点:1.opencv寻找轮廓2.opencv仿射变换3.C++ sort 一、opencv寻找轮廓opencv中提供findContours函数来寻找图像中物体的轮廓,并结合drawContours函数将找到的轮廓绘制出,opencv中findContours有两种形式:轮廓的排序是由原创 2017-09-12 17:42:59 · 504 阅读 · 0 评论 -
OpenCV N0.3
HighGUI,高级图形用户接口,可以方便地打开窗口、显示图像、读出或者写入图像相关的文件(包含图像与视频)、处理简单的鼠标、光标和键盘事件。也可以创建其他很有用的控件,比如滚动条,并把它们加入窗口。OpenCV中的HighGUI可以分为3部分:硬件相关部分、文件部分、图形用户界面部分。1.硬件相关部分硬件相关部分最主要的是对于摄像机的操作。cvCreatFileC原创 2014-10-30 17:39:11 · 924 阅读 · 0 评论 -
OpenCV NO.2
OpenCV作为开源视觉库,整体模块的架构(即头文件)是核心所在。在OpenCV-build-include文件夹下,有OpenCV和OpenCV 2两个文件夹,前者为1.0版本,后者为2.0版本。以下为各模块介绍:1.calib3d:相机标定&三维重建多视角几何算法单个立体摄像头标定物体姿态估计立体相似性算法3D信息重建2.contri原创 2014-10-27 16:56:35 · 852 阅读 · 0 评论 -
opencv函数之mixChannels
Copies specified channels from input arrays to the specified channels of output arrays.从输入中拷贝某通道到输出中特定的通道。1.函数原型C++: void mixChannels(const Mat*src, size_t nsrcs, Mat* dst, size_t ndsts, const int* fro原创 2016-12-14 17:22:30 · 997 阅读 · 0 评论 -
OpenCV No.1
OpenCV,**Open Source Computer Vision Librar**y.一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。由一系列C函数和少了C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,用于实现图像处理和计算机视觉方面等诸多算法。目前最新版本为3.0,与之前的2.4.8、2.4.9相比原创 2014-10-25 15:27:30 · 1016 阅读 · 0 评论 -
OpenCV中常用代码段
1.保存图片名为文件名char ImageName[N];sprintf(ImageName, "%s%s", argv[1], ".bmp");//保存的图片名imwrite(ImageName, image);注意:此时的main函数应写成main(int argc, char **argv) 从命令行输入执行。原创 2016-12-14 17:27:16 · 520 阅读 · 0 评论 -
opencv自带标定算法解析
Procedure1.Dilation of the white squares by 1 pixel, so that the black squares don’t touch.2.Thresholding with a value beneath the medium intensity.3.Contour extraction and approximation to a rectangle原创 2017-03-28 15:09:35 · 2538 阅读 · 0 评论 -
目标跟踪:模板匹配
在一幅图像中寻找和模板图像(patch)最相似的区域。1.判断相似性:OpenCV中有对应的函数——void matchTemplate( const Mat& image, const Mat& templ, Mat&result, int method )该函数的功能为,在输入源图像Sourceimage(I)中滑动框,寻找各个位置与模板图像Tem...原创 2015-01-24 10:37:56 · 2121 阅读 · 0 评论 -
OpenCV——启动摄像头
一、两个重要函数1.cvCreateCameraCapture初始化从摄像头中获取视频CvCapture* cvCreateCameraCapture( int index );index 要使用的摄像头索引。如果只有一个摄像头或者用哪个摄像头也无所谓,那使用参数-1应该便可以。函数cvCreateCameraCapture给从摄像头的视频流分配和初始C原创 2015-01-20 12:31:19 · 2457 阅读 · 3 评论 -
PCL 1.8.0: VS2013+CMake3.17+Win10 X64
一、准备工作首先,下载需要的文件,我将相关文件包已经上传到了网盘,下载链接为:https://pan.baidu.com/s/1WUUBR_MLA12ZBdu2ayYghQ 密码:z7fw。二、安装双击安装包中的「PCL-1.8.0-AllInOne-msvc2013-win64.exe」程序,安装的时候注意选上「Add PCL to the system PATH for all users」,如图所示,这样安装程序会自动在系统环境变量中添加「PCL_ROOT」项。[外链图片转存失败,源站可能原创 2020-09-22 10:10:58 · 153 阅读 · 0 评论 -
带你了解下车牌识别技术——(1)
汽车牌照作为车辆的唯一“身份”标识,牌照的自动识别可以在汽车不做任何改动的情况下实现汽车“身份”的自动登记和验证。现如今,很多小区、商场、公园都用到了车牌识别系统,一个典型的车牌识别系统如图所示:系统包含车辆检测、图像采集、车牌识别三个部分。当有车辆到达时,车辆检测单元感应到信号并触发图像采集单元采集当前的车牌图像,然后车牌识别单元对图像进行处理,定位出车牌位置,再将车牌中的字符分割出来进行识...原创 2020-04-20 21:52:54 · 1407 阅读 · 0 评论 -
串口通讯
一、通讯原理可以简单的把通信看成一个小桶,发送方住水桶里装水,接收方从水桶中取水。如果你要和对方通信首先需要将桶盖打开,再将水装入到桶中,这时接收方才能够从桶中取到水。这里就存在着一定的问题,1,如果桶盖还没有打开,发送方已经发送了。这时接收方再从桶中取水,肯定取的水不对,会不一部分缺失了。解决方式就是让桶盖打开再往其中加水。2,但是桶盖何时打开,发送方何时发送,这个不好把握。解决方法:接收方接到数原创 2016-11-12 16:30:40 · 484 阅读 · 1 评论 -
中层视觉:使用随机方法的分割与拟合
一、丢失数据问题、拟合和分割1.丢失数据问题 2.EM算法3.通常情况下的EM算法二、EM算法的应用1.例子:图像分割2.例子:使用EM进行线拟合3.例子:运动分割和EM4.例子:使用EM来识别出格点5.例子:使用EM进行背景提取三、模型选择:哪个模型拟合得最好1.基本想法2.AIC3.贝叶斯方法和Schwartz的BIC4.描述长度5.用于估计偏差的其它方法原创 2017-12-13 11:36:34 · 268 阅读 · 0 评论 -
低层视觉:使用多图像——从运动估计投影模型
一、投影几何基础1.投影空间2.投影子空间和投影坐标系3.仿射和投影空间4.超平面和对偶5.交比和投影坐标6.投影变换7.投影形状二、从双目对应估计运动和投影结构1.几何场景重建2.代数运动估计三、多线性约束估计投影运动1.从基础矩阵估计运动2.从三摄像机估计运动四、多幅图像恢复运动和投影结构1.用分解因子方法解从运动估计投影模型问题2.组调整五、从投影图像到欧式图像原创 2017-12-05 10:38:10 · 548 阅读 · 0 评论 -
低层视觉:使用一幅图像——边缘检测
计算机视觉中的边缘检测边缘检测是计算机视觉中最重要的概念之一。这是一个很直观的概念,在一个图像上运行图像检测应该只输出边缘,与素描比较相似。我的目标不仅是清晰地解释边缘检测是怎样工作的,同时也提供一个新而又容易的方法只需要最小工作来明显地提高边缘检测。通过获得这些边缘,许多计算机算法才得以有可能实现,因为在一个场景中边缘包含着绝大部分(至少很多)的信转载 2017-11-27 14:36:56 · 1521 阅读 · 1 评论 -
Playing with OpenCV
一、从双目立体视差图中重建三维点云 1.【视差与深度信息】2.【用VS+Opencv3.1从双目立体视差图中重建三维点云】二、斑点检测Opencv中提供了SimpleBlobDetector的特征点检测方法。 Reference:1.【 Opencv中SimpleBlobDetector的使用(斑点检测)】2.【Opencv2.4.9源码原创 2017-12-04 19:43:29 · 1029 阅读 · 0 评论 -
【深度相机】结构光
一、结构光法:为解决双目匹配问题而生基于双目立体视觉的深度相机对环境光照强度比较敏感,且比较依赖图像本身的特征,因此在光照不足、缺乏纹理等情况下很难提取到有效鲁棒的特征,从而导致匹配误差增大甚至匹配失败。而基于结构光法的深度相机就是为了解决上述双目匹配算法的复杂度和鲁棒性问题而提出的,结构光法不依赖于物体本身的颜色和纹理,采用了主动投影已知图案的方法来实现快速鲁棒的匹配特征点,能够达到较高...原创 2018-05-06 16:40:25 · 16722 阅读 · 3 评论 -
计算机视觉工程师装机软件一览
当入手一台新的电脑,所有软件都得重新安装一遍,而每个技术人员的习惯不一。就比如我,一名计算机视觉工程师,需要安装什么软件呢?一、技术需要1.VS20132.OpenCV源码3.git4.cmake5.sourcetree6.有道笔记7.python2.78.UltraISO9.Ubuntu 16.04 iso10.kdevelop11.robwa...原创 2018-07-17 15:39:07 · 1647 阅读 · 0 评论 -
IGV——QR NAVIG
随着工厂自动化、智能化发展,AGV小车在制造业领域运用的炉火纯青,它不仅提高了生产物流的自动化程度,还加快了生产效率,降低了人工成本。随着AGV小车的不断发展,AGV衍生出了电磁导航、磁带导航、惯性导航、激光导航、二维码导航等多种导航方式,其中激光导航及二维码导航优势比较明显。二维码导航属于视觉识别,在铺设、改变路径上也较容易;对声光无干扰,便于控制。而且,无人,这种一听上去就是人工智...原创 2018-08-16 14:49:54 · 2082 阅读 · 0 评论 -
IGV——Pallet Identification and Positioning
仓储环境背景复杂、光线条件不稳定、动/静态障碍物较多,精准高效的货物托盘检测是智能仓储中亟待解决的问题之一。目前,国内外对于托盘识别的的研究大致分为两类:1.Based on artificial features(fiducial) attached to the pallets2.Based on self-contained features of the pallets...原创 2018-08-16 16:07:58 · 796 阅读 · 0 评论 -
IGV——Forklift Line Identification and Positioning
为了准确判断线框内是否有托盘,需要对线框进行识别定位,以判断车体与线框(一般是黄色四边形,如下图所示)的相对位置,以便进行后续操作。仓储环境中,目标受光照影响不大,所以框体颜色特征可以采用,此外由于框体的形状特征、大小特征明显,根据特征融合的思想,可以增强识别框体算法的鲁棒性。一、基本概念1. 轮廓 (contours)轮廓可以简单认为成连续的点(连着边界)连在一起的曲...原创 2018-08-29 14:47:27 · 378 阅读 · 2 评论 -
opencv练习第三弹
需求:如下图所示,如何获得检测视野中最大的四边形框体和相机的偏转角度?方案:由于是室内环境,光线变化不是很灵敏,其次,检测对象都是黄色,考虑用颜色空间YCrCb(肤色检测中首选的方案)过滤掉背景后,只留下四边形框体和边线。观察到每个框体都有内外两个轮廓,所以用检测内轮廓的方法能够有效的过滤出检测对象,即都是四边形框体;然后根据框体的面积大小筛选出视野中最大的四边形。剩下的工作就是根据两...原创 2019-05-01 17:00:13 · 370 阅读 · 0 评论 -
低层视觉:使用多图像——从运动估计仿射模型
仿射的“运动恢复结构”需要分成两个步骤进行:a)用至少两幅图像建立场景的唯一的三维描述,称为仿射形状;b)用其它的视图以及由已知的摄像机参数和确定的仿射模型约束确定场景唯一的刚性欧几里得结构。一、仿射几何基础1.仿射空间和重心组合2.仿射子空间和仿射坐标系3.仿射变换和仿射投影模型4.仿射形状二、仿射结构和两幅图之间的运动1.几何场景重建2.代数运动估计三、从多幅图像估计仿射结构和运动1.仿射图像原创 2017-12-04 14:55:33 · 1776 阅读 · 0 评论 -
OpenCV练习第一弹
专注于计算机视觉,用心灵的窗口照亮世界。本次练习的目的是找出交界处轮廓的左右两点,并连成直线。涉及到以下三个知识点:1.opencv像素操作的常用方法2.opencv图像的深浅拷贝3.opencv point的用法 一、opencv像素操作的常用方法1.at()函数uchar value = grayim.at<uchar>(i, j); //读出第i行第j列像素值grayim.at<原创 2017-09-07 11:29:19 · 556 阅读 · 0 评论 -
Hog,SIFT以及LBP这三种特征有什么不同?
SIFT、HOG、LBP,这三者都属于局部特征。一、三者原理上的区别1.SIFT:Scale-Invariant Feature Taransform,尺度不变特征变换。尺度空间的极值检测:搜索所有尺度空间上的图像,通过高斯微分函数来识别潜在的对尺度和旋转鲁棒性较强的点。特征点定位:在每个候选位置上,通过一个拟合精细模型(尺度空间DoG函数进行曲线拟合)来确定位置尺度,关键点的选取依据他们的稳定原创 2017-09-01 17:54:48 · 1545 阅读 · 2 评论 -
计算机视觉:从CV基础到深度学习
第一讲 工欲善其事必先利其器——图像处理基础1, Opencv入门;2, 图像的基本操作(遍历图像,ROI选取等) (Python基础)应用:手写字符识别(KNN)第二讲 空域图像处理的洪荒之力1,线性非线性滤波器边缘检测方法:sobel,canny以及图像拉普拉斯应用:车牌识别(SVM+NN)第三讲:机器视觉中的特征提取与描述1,霍夫变换(普通,和概率)2,局部特征大汇总(GFTT,SIFT,S原创 2017-08-11 11:09:01 · 2811 阅读 · 2 评论 -
我了解的一些线阵相机知识
线阵相机顾名思义就是取像是成线性的。 它的传感器是成线型的。 举个例子: 比如面阵相机的分辨率是640*480就是说这个相机横向有640个像元,纵向有480个像元。 而线阵相机分辨率只体现在横向,比如2048像素的线阵相机就是说横向有2048个像元,纵向大多数为1。(RGB相机和TDI相机除外)关于线阵相机的传感器70年代大多数使用的是MOS,而从70年代末CCD开原创 2017-08-10 09:56:18 · 19945 阅读 · 5 评论 -
Understanding and Diagnosing Visual Tracking System
1.What is Visual Tracking?motion modelfeature extractorobservation modelmodel updaterensemble post-processor 2.Existing trackersKCF: High-Speed Tracking with KernelizedCorrelation FiltersLarge原创 2017-06-09 17:58:47 · 830 阅读 · 0 评论 -
机器之眼,看懂世界
一、计算机视觉行业概述1.概述概括地说,视觉系统主要解决的是物体识别、物体形状和方位的确认以及物体运动判断三个问题。而计算机视觉的研究,则是专注于让机器代替人眼,解决这些问题。 2.行业驱动数据量 - 运算力 - 算法技术 3.市场规模人脸识别和视频监控作为计算机视觉的重要领域,2015年市场容量已达十亿和百亿级别。二、计算机视觉技术与应用场景1.通用视觉识别技术流程 2.识别技术原创 2016-09-19 14:15:25 · 1195 阅读 · 0 评论 -
ISoftWare 1
本款软件用途:1.焊锡点检测2.字符OCR识别3.模板匹配软件配置说明:1.Halcon安装;Halcon 10.0 2.Halcon结合MFC,需要完成库文件的配置。配置说明详见:http://download.csdn.net/detail/lxy_2011/9341455操作手册:1.在MFC控件中打开图片2.关闭软件3.字符OCR4.绘制ROI5.测圆和圆心6.检测结果7.Create Mo原创 2015-12-14 08:37:44 · 693 阅读 · 0 评论 -
我理解的机器视觉
机器视觉,用电脑来实现人的视觉功能,但又不同于计算机视觉,前者注重广义图像信号(激光、摄像头)与自动化控制(生产线)方面的应用。而后者更多注重(2D、3D)图像信号本身的研究以及和图像相关的交叉学科研究(医学图像分析,地图导航)。工业4.0的兴起以及智能制造概念的提出,让机器视觉成为了新时代的宠儿。工业应用中,测量、检测、定位以及识别是机器视觉的主要领域。强调实用性与实时性,是其脱胎与计算机视觉的另原创 2015-10-19 22:01:34 · 2547 阅读 · 2 评论 -
机器视觉 简介
1.实际应用工业检测医学诊断智能交通2.系统硬件组成3.软件发展现状高性能可组态4.视觉方法分类尺寸测量缺陷检测模式识别图像融合目标跟踪三维重构5.发展趋势多传感信息融合方法研究深层初级视觉理论和方法研究主动视觉的研究:解决病态机构问题完整三维场景重构视觉并行计算结构的研究通用视觉信息系统的研究原创 2015-03-23 16:17:26 · 878 阅读 · 0 评论 -
TLD跟踪算法简介
TLD(Tracking-Learning-Detection)是英国萨里大学的一个捷克籍博士生在其攻读博士学位期间提出的一种新的单目标长时间(long term tracking)跟踪算法。该算法与传统跟踪算法的显著区别在于将传统的跟踪算法和传统的检测算法相结合来解决被跟踪目标在被跟踪过程中发生的形变、部分遮挡等问题。同时,通过一种改进的在线学习机制不断更新跟踪模块的“显著特征点”和检测模块的目原创 2015-01-23 11:16:21 · 1135 阅读 · 0 评论 -
运动目标检测概述
运动目标检测是指在视频图像序列中是否有前景目标的运动原创 2014-06-03 09:52:08 · 4749 阅读 · 1 评论