机器视觉
文章平均质量分 78
洪流之源
这个作者很懒,什么都没留下…
展开
-
轮廓圆度计算方式
Halcon中圆度计算方式设p为区域中心点(质点),p_i为轮廓上全部像素点,F为轮廓面积(此处指轮廓像素点个数,并不是轮廓所围成区域的面积)Distance为轮廓上像素点到中心的平均距离,Sigma为轮廓像素点到中心的距离与平均距离的偏差Roundness则表示平均值与标准差之间的关系另一种计算方式Roundness = (4 * CV_PI面积) / (周长周长)其中面积为...转载 2020-04-17 08:52:13 · 3715 阅读 · 0 评论 -
canny算法代码实现
#include "core/core.hpp" #include "highgui/highgui.hpp" #include "imgproc/imgproc.hpp" #include "iostream" #include "math.h" using namespace std; using namespace cv; //***原创 2017-03-26 15:32:34 · 2615 阅读 · 4 评论 -
opencv背景去除建模(BSM)
opencv提供两种BS算法:1.基于图像分割(GMM-高斯混合模型);2.机器学习(KNN-K近邻)。下面是基于以上两种BS算法的示例代码:#include #include using namespace cv;using namespace std;int main(){ VideoCapture capture; capture.open("原创 2017-05-13 17:02:04 · 2564 阅读 · 1 评论 -
Qt+pylon的配置
转自http://blog.csdn.net/wt881010/article/details/53483813使用pylon-config(类似于pkg-config),有以下两种方法:方法一:修改pro在pro文件中添加一下3句[plain] view plain copy QMAKE_CXXFLAGS+=$(shell /opt/pylon5/转载 2017-12-28 13:58:03 · 1713 阅读 · 0 评论 -
halcon 基于灰度的模板匹配示例 best_match.hdev
模板匹配的一般思路是首先创建一个模板,而后在图像中或者图像中指定的区域根据创建的模板进行配准,最后根据配准的结果进行标记显示。下面是halcon 12自带的例程best_match.hdev:* Searching the best matching of a template and an image* dev_close_window () *关闭窗口read_image (Image1...原创 2018-04-23 17:12:11 · 4776 阅读 · 0 评论 -
opencv基础笔记(1)图像的读取、显示、颜色空间转换、保存图像
在做图像处理的时候,读取图像、显示图像(包括显示窗口的设置)、对图像的颜色空间进行转换(比如灰度图像转换为RGB图像)、保存图像,是最基本的操作,下面是一个简单的demo:#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include <opencv2/imgproc.hpp>#inclu...原创 2018-05-09 09:11:58 · 1637 阅读 · 0 评论 -
halcon数据结构
Halcon有两类基本参数:图形参数Iconic(image、region、XLD)与控制参数Control(string、interger、real、handle),在halcon算子的参数中,依次为:输入图形参数、输出图形参数、输入控制参数、输出控制参数,并且其输入参数不会被改变。图形参数 Iconic1.imageimage的主要部分是由不同通道的灰度矩阵组成,包含下面基本概念:(1)定义域...原创 2018-04-26 10:53:52 · 3176 阅读 · 0 评论 -
视觉系统构建——视觉光源
转载整理自:https://www.zhihu.com/people/wei-shi-zhi-zao/activities一、视觉光源简介 通过恰当的光源照明设计,可以使图像中的目标信息与背景信息得到最佳分离,这样不仅大大降低图像处理的算法难度,同时提高系统的精度和可靠性,但非常遗憾,目前没有一个通用的机器视觉照明系统,可以应对不同的检测要求,因此针对每个特定的案例,都需要设计适应的...转载 2018-08-01 14:31:42 · 860 阅读 · 0 评论 -
视觉系统构建——工业镜头
一、工业镜头简介 镜头等同于针孔成像中针孔的作用,与其不同的有两方面,一方面镜头的透光孔径比针孔大很多倍,能在同等时间内接纳更多的光线,使相机能在很短时间内(毫秒到秒级)获得适当的曝光;另一方面,镜头能够聚集光束,可以在相机胶片上产生比针孔成像效果更为清晰的影像;1、镜头的组成:机器视觉常用定焦镜头,并且都是手动调整光圈,一般不允许自动调整光圈,镜头上有调焦和调光圈两个环,为了防...转载 2018-08-01 14:33:54 · 1557 阅读 · 0 评论 -
视觉系统构建——工业相机
一、工业相机分类1、按传感器元件分类 工业相机按照图像的传感器元件的不同分为CCD(ChargeCoupled Device,电荷耦合元件)和CMOS(金属氧化物半导体元件)两类。 CCD提供很好的图像质量、抗噪能力,尽管由于增加了外部电路使得系统的尺寸变大,复制下提高,但在电路设计师可更加灵活,更好的提升CCD相机某些特别关注的性能。CCD更适合于对相机性能要求非常高而对...转载 2018-08-01 14:35:35 · 556 阅读 · 0 评论 -
各种常用计算机视觉库
开源生物特征识别库 OpenBR OpenBR 是一个用来从照片中识别人脸的工具。还支持推算性别与年龄。 使用方法:$ br -algorithm FaceRecognition -compare me.jpg you.jpg更多OpenBR信息 最近更新: OpenBR —— 开源的生物识别工具 发布于 13天前计算机视觉库 OpenCV Op...转载 2018-09-02 14:38:44 · 11327 阅读 · 0 评论 -
图像坐标系,相机坐标系和世界坐标系
对于图像坐标系,相机坐标系和世界坐标系的学习和自己的一些理解,如果有错误欢迎指正和讨论。图像坐标系1.图像像素坐标系原点:图像左上角P0点 单位:像素 横坐标u:图像数组中的列数 纵坐标v:图像数组中的行数2.图像物理坐标系 在图像像素坐标系下建立以物理单位(以下均假设为mm)表示的坐标系,使像素尺度具有物理意义。 原点:主点(相机光轴与图像平面的交点,一般位于图像平...转载 2018-09-13 15:10:30 · 16731 阅读 · 7 评论 -
摄像机模型(内参、外参)
1、摄像机外参:决定摄像机坐标与世界坐标系之间相对位置关系。其中Pw为世界坐标,Pc是摄像机坐标,他们之间关系为Pc = RPw + T式中,T= (Tx,Ty,Tz),是平移向量,R = R(α,β,γ)是旋转矩阵,分别是绕摄像机坐标系z轴旋转角度为γ,绕y轴旋转角度为β,绕x轴旋转角度为α。6个参数组成(α,β,γ,Tx,Ty,Tz)为摄像机外参。2、摄像机内参:确定摄像机...转载 2018-09-13 15:25:40 · 7735 阅读 · 0 评论 -
张正友相机标定Opencv实现程序(ubuntu环境)
机标定的目的:获取摄像机的内参和外参矩阵(同时也会得到每一幅标定图像的选择和平移矩阵),内参和外参系数可以对之后相机拍摄的图像就进行矫正,得到畸变相对很小的图像。 相机标定的输入:标定图像上所有内角点的图像坐标,标定板图像上所有内角点的空间三维坐标(一般情况下假定图像位于Z=0平面上)。相机标定的输出:摄像机的内参、外参系数流程:1. 准备标定图片(D435可以利用程序保存所得...转载 2018-09-13 17:13:54 · 1279 阅读 · 2 评论 -
GLog & GFlags 的安装
0、系统环境Ubuntu 16.04GCC 5.41、安装步骤1)安装 GFlags运行如下指令: 1 2 3 4 5 6 git clone https://github.com/gflags/gflags.git cd gflags mkdir build && cd build...转载 2018-09-29 13:44:46 · 8022 阅读 · 0 评论 -
手眼标定文章汇总
经典手眼标定算法之Tsai-Lenz的OpenCV实现: https://blog.csdn.net/yunlinwang/article/details/51622143用VISP+Opencv做相机到机械臂的标定: https://blog.csdn.net/MzXuan/article/details/79177747基于视觉伺服的工业机器人系统研究(摄像机标定、手眼标定、目标单目定...原创 2018-11-18 18:52:17 · 3685 阅读 · 0 评论 -
图像形态学处理
http://blog.csdn.net/stscsdn?viewmode=contents转载 2017-01-23 15:35:05 · 394 阅读 · 0 评论 -
从计算机视觉的小白变为大神,你需要经历这七个阶段
如果想要机器能够进行思考,我们需要先教会它们去看。 李飞飞——Director of Stanford AI Lab and Stanford Vision Lab计算机视觉(Computer vision)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和计算机代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图像处理,用计算机处理成更适合人眼观察或进转载 2017-01-20 10:55:02 · 4788 阅读 · 0 评论 -
canny边缘检测算法原理与C语言实现
Canny算子是John Canny在1986年提出的,那年老大爷才28岁,该文章发表在PAMI顶级期刊上的(1986. A computational approach to edge detection. IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 8, 1986, pp. 679-698)。老大转载 2017-01-16 16:15:53 · 6988 阅读 · 0 评论 -
图像处理-线性滤波-2 图像微分(1、2阶导数和拉普拉斯算子)
From:http://www.cnblogs.com/pegasus/archive/2011/05/20/2051780.html更复杂些的滤波算子一般是先利用高斯滤波来平滑,然后计算其1阶和2阶微分。由于它们滤除高频和低频,因此称为带通滤波器(band-pass filters)。在介绍具体的带通滤波器前,先介绍必备的图像微分知识。1 一阶导数连续函数,其微分可表达为转载 2016-05-19 14:51:45 · 1010 阅读 · 0 评论 -
图像处理-线性滤波-3 高斯滤波器
From:http://www.cnblogs.com/pegasus/archive/2011/05/20/2052031.html对于图像来说,高斯滤波器是利用高斯核的一个2维的卷积算子,用于图像模糊化(去除细节和噪声)。1. 高斯分布一维高斯分布 , 二维高斯分布 2.高斯核理论上,高斯分布在所有定义域上都有非负转载 2016-05-19 14:53:35 · 522 阅读 · 0 评论 -
机器学习资源
Deep Learning(深度学习)ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习):一ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习):二Bengio团队的deep learning教程,用的theano库,主要是rbm系列,搞python的可以参考,很不错。deeplearning.net主页,里面包含的转载 2016-05-23 15:37:07 · 648 阅读 · 0 评论 -
信号与频谱
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 信号(singal)简介我们在生活中经常遇到信号。比如说,股票的走势图,心跳的脉冲图等等。在通信领域,无论是的GPS、手机语音、收音机、互联网通信,我们发送和接收的都是信号。最近,深圳地铁通信系统疑似与WiFi信号冲突,也就是地铁的天线收到了WiFi的信号,而误转载 2016-08-10 15:44:27 · 1046 阅读 · 0 评论 -
算机视觉、机器学习相关领域论文和源代码大集合
转自: http://blog.csdn.net/zouxy09/article/details/8550952 作者:zouxy09一、特征提取Feature Extraction:· SIFT [1] [Demo program][SIFT Library] [VLFeat]· PCA-SIFT [2]转载 2016-11-03 17:44:52 · 728 阅读 · 0 评论 -
机器人的双眸:视觉SLAM导论
雷锋网(公众号:雷锋网)按:本文作者高翔,清华大学自动化学院博士研究生,主要研究兴趣为基于RGB-D相机的视觉SLAM技术。先后获得清华大学新生奖学金、张明为奖学金并三次获得国家励志奖学金,相关研究成果发表于Robotics and Autonomous Systems、Autonomous Robot、CCC等期刊和会议,个人博客(点击可看)。原标题为:《机器人的双眸:视觉SLAM导论》。转载 2016-11-03 21:12:46 · 1202 阅读 · 0 评论 -
opencv视频操作基础---VideoCapture类
opencv中通过VideoCaptrue类对视频进行读取操作以及调用摄像头,下面是该类的API。1.VideoCapture类的构造函数:C++: VideoCapture::VideoCapture();C++: VideoCapture::VideoCapture(const string& filename);C++: VideoCapture::VideoCaptur...原创 2016-11-28 18:02:31 · 115826 阅读 · 12 评论 -
opencv调整图像亮度与对比度
图像变换的操作一般可以分为下面两种: 1.基于邻域操作进行区域变换,比如卷积操作、特征提取、图像梯度计算、角点检测、图像模糊与蜕化等。 2.基于点操作进行像素的变换,比如图像亮度于对比度的调整。 下面我们对图像的亮度与对比度的调节进行讨论。 亮度与对比度的调节主要基于下面的公式,其中g(i,j)为处理前的图像,f(i,j)为处理后的图像: g(i,原创 2016-12-08 10:17:37 · 2444 阅读 · 0 评论 -
在opencv中为程序界面添加Trackbar
在opencv中经常遇到调节参数的问题,比如我们在用高斯滤波器进行图像滤波的时候,需要不断调整滤波器内核的大小,来达到一个适合的滤波效果。如果直接在程序源码中进行修改高斯内核的大小,然后进行编译、运行观察图像效果,这是十分不方便的,而且不够直观。为了解决这个问题opencv中提供了Tracebar,也就是滑动条,它依附于窗口而存在,可以实现参数的动态调整。 下面是创建Tracebar的函数原原创 2016-11-25 17:05:00 · 1303 阅读 · 0 评论 -
opencv鼠标操作
opencv中的鼠标操作和滑动条的消息映射方式很类似,都是通过一个中介函数配合一个回调函数来实现。opencv中提供了setMouseCallback()函数,这个函数的作用是为指定的窗口设置鼠标回调函数(跟createTrackBar函数一样都是依附于指定的窗口),通过这个函数可以实现画图的功能。下面是这个函数的原型:void setMouseCallback(const string& w原创 2016-11-26 11:31:38 · 2306 阅读 · 0 评论 -
工业相机镜头的参数与选型
一、 镜头主要参数 1.焦距(Focal Length) 焦距是从镜头的中心点到胶平面上所形成的清晰影像之间的距离。焦距的大小决定着视角的大小,焦距数值小,视角大,所观察的范围也大;焦距数值大,视角小,观察范围小。根据焦距能否调节,可分为定焦镜头和变焦镜头两大类。 2.光圈(Iris) 用F表示,以镜头焦距f和通光孔径D的比值来衡量。每个镜头上都标有最大F转载 2016-12-21 14:24:09 · 13584 阅读 · 0 评论 -
高斯滤波及高斯卷积核C++实现
高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,在图像处理的降噪、平滑中应用较多,特别是对抑制或消除服从正态分布的噪声非常有效。高斯滤波的过程其实就是对整幅图像进行加权平均操作的过程。滤波后图像上每一个像素的灰度值大小,由其本身和邻域内的其他像素共同决定。具体实现是:用一个大小为(2*N+1)的模板(或称卷积核、掩模)依次扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度替代模板转载 2017-01-16 13:53:56 · 2566 阅读 · 0 评论 -
canny边缘检测C++实现
Canny边缘检测算法是澳大利亚科学家John F. Canny在1986年提出来的,不得不提一下的是当年John Canny本人才28岁!到今天已经30年过去了,Canny算法仍然是图像边缘检测算法中最经典、有效的算法之一。一起睹一下大家Canny的风采:John Canny研究了最优边缘检测方法所需的特性,给出了评价边缘检测性能优劣的3个指标:转载 2017-01-16 08:21:35 · 2265 阅读 · 0 评论 -
Sobel算子及C++实现
Sobel 算子是一个离散的一阶微分算子,用来计算图像灰度函数的近似梯度。在空间域上Sobel算子很容易实现,执行速度快,对部分噪声具有平滑作用,还能够提供较为精确的边缘方向信息,缺点是边缘定位精度不够高。边缘是指一个物体与另一个物体的分界处,一般边缘内外处都会有灰度值上的差异,Sobel算子就是通过像素点空间邻域内上下,左右相邻点的灰度加权运算,求取物体边缘。经典So转载 2017-01-16 14:15:19 · 1781 阅读 · 0 评论 -
OpenCV2:Mat属性type,depth,step
在OpenCV2中Mat类无疑使占据着核心地位的,前段时间初学OpenCV2时对Mat类有了个初步的了解,见OpenCV2:Mat初学。这几天试着用OpenCV2实现了图像缩小的两种算法:基于等间隔采样和基于局部均值的图像缩小,发现对Mat中的数据布局和一些属性的认知还是懵懵懂懂,本文对Mat的一些重要属性和数据布局做一个总结。Mat的作用The class Mat represe转载 2017-01-16 15:32:07 · 339 阅读 · 0 评论 -
图像处理-线性滤波-1 基础(相关算子、卷积算子、边缘效应)
原文from:http://www.cnblogs.com/pegasus/archive/2011/05/19/2051416.html另外博客http://blog.sina.com.cn/s/blog_6d0e97bb01013op2.html对卷积运算有较好解释。这里讨论利用输入图像中像素的小邻域来产生输出图像的方法,在信号处理中这种方法称为滤波(filtering)。其中,最转载 2016-05-19 14:49:48 · 997 阅读 · 0 评论