少有人走的路

勇哥的工业自动化技术网站

本站视觉相关教程整理贴子,持续更新

2020年勇哥的机器视觉实验项目清单(大纲)

勇哥的免费视频教程清单

勇哥在B站发布的视频清单

OpenCV畸变校正原理以及损失有效像素原理分析

上一篇博客简要介绍了一下常用的张正友标定法的流程,其中获取了摄像机的内参矩阵K,和畸变系数D。1.在普通相机cv模型中,畸变系数主要有下面几个:(k1; k2; p1; p2[; k3[; k4; k5; k6]] ,其中最常用的是前面四个,k1,k2为径向畸变系数,p1,p2为切向畸变系数。2.在fisheye模型中,畸变系数主要有下面几个(k1,k2,k3,k4). 因为cv和fisheye的镜头畸变模型不一样,所以畸变系数也会有所不同,具体在畸变校正时的公式也不同,具体公式请参见

张正友标定法示例 (含源代码)

博主在博客园的第一篇博客,以著名的张大牛标定法开始吧!具体标定原理就不详细说了,资料数不胜数,重点看张正友的原著《A Flexible New Technique for Camera Calibration》,搞明白这篇文章就足够了。好了,现在主要说一下标定过程,并附上博主自己调用Opencv接口编写的代码。1.拍摄棋盘格图片,8幅左右合适,文献里说n=8时,最小二乘法计算内参有稳定解。所以我就拍了9幅。2. 读取棋盘格图像,提取角点(注意:都是内角点)。为了提高角点提取精度,进一步进行亚像素

OpenCV角点检测源代码分析(Harris和ShiTomasi角点)

OpenCV中常用的角点检测为Harris角点和ShiTomasi角点。以OpenCV源代码文件 .\opencv\sources\samples\cpp\tutorial_code\TrackingMotion\cornerDetector_Demo.cpp为例,主要分析其中的这两种角点检测源代码。角点检测数学原理请参考我之前转载的一篇博客 http://www.cnblogs.com/riddick/p/7645904.html,分析的很详细,不再赘述。本文主要分析其源代码:1.

OpenCV亚像素角点cornerSubPixel()源代码分析

上一篇博客中讲到了goodFeatureToTrack()这个API函数能够获取图像中的强角点。但是获取的角点坐标是整数,但是通常情况下,角点的真实位置并不一定在整数像素位置,因此为了获取更为精确的角点位置坐标,需要角点坐标达到亚像素(subPixel)精度。1. 求取亚像素精度的原理  找到一篇讲述原理非常清楚的文档https://xueyayang.github.io/pdf_posts/%E4%BA%9A%E5%83%8F%E7%B4%A0%E8%A7%92%E7%82%B9%E7%9A%

工业相机、镜头的选型

 很多朋友都想了解一下工业相机的选型问题,工业相机镜头如何选型等问题,那么下面普密斯详细的来介绍一下镜头选型的相关知识。镜头如何选型,焦距计算公式:宽度焦距=ccd宽度*拍摄距离/ccd宽度+目标宽度高度焦距=ccd高度*拍摄距离/ccd高度+目标高度 搭配问题:镜头或相机的接口问题,一般有C和CS接口,可询问供应商是否有转接环。镜头搭配相机时,须注意镜头本身可否支持相机的SENSOR SIZE,例如:镜头规格为可容纳1/2",1/3"的sensor,此时

亚像素边缘提取方法总结

图象的边缘是指图象局部区域亮度变化显著的部分,该区域的灰度剖面一般可以看作是一个阶跃,既从一个灰度值在很小的缓冲区域内急剧变化到另一个灰度相差较大的灰度值。图象的边缘部分集中了图象的大部分信息,图象边缘的确定与提取对于整个图象场景的识别与理解是非常重要的,同时也是图象分割所依赖的重要特征,边缘检测主要是图象的灰度变化的度量、检测和定位。亚像素边缘技术概述       数字图像的边缘检测是图像分割、目标识别、区域形状提取等图像处理领域的重要基础。在进行图像理

亚像素级点定位及边缘定位算法

在这篇博客里,主要讲解两点:点定位(Point localization)以及边缘定位(Edge localization),均是亚像素级定位精度。当然还有其他定位方法,这里仅针对亮点和边缘两种情形分别进行精确定位。1. 为何需要进行亚像素定位?>数字图像通常是被离散化成像素形式;>每个像素对应一个整数坐标位置;>整数坐标位置对于很多应用然而并不精确,比如跟踪、相机标定、图像配准、图像拼接以及三维重构;>为达到有些应用的精确性,需要精确到浮点坐标位置;所以会涉及到亚像素定

亚像素理解

1 亚像素理解   在相机成像的过程中,获得的图像数据是将图像进行了离散化的处理,由于感光元件本身的能力限制,到成像面上每个像素只代表附近的颜色。例如两个感官原件上的像素之间有4.5um的间距,宏观上它们是连在一起的,微观上它们之间还有无数微小的东西存在,这些存在于两个实际物理像素之间的像素,就被称为“亚像素”。亚像素实际上应该是存在的,只是缺少更小的传感器将其检测出来而已,因此只能在软件上将其近似计算出来。    亚像素可以表示为如下图所示,每四个红色点围成的矩形

相机的像素精度,物理定位精度,亚像素定位之间的关系和进行像素的固定误差累积

用一张棋盘格来进行图像的像素精度计算,其计算程序是:#include"opencv2/opencv.hpp" using namespace cv; int main() { Mat srcimg = imread("6.bmp"); Mat gray; cvtColor(srcimg,gray,CV_RGB2GRAY); Size board_sz&nb

propertygrid.SelectedObject 挂接的对象属性变只读灰色不可以编辑

今天勇哥看到下面这种现象:propertygrid.SelectedObject 挂接的对象属性灰度不可以编辑有点奇怪,想不到为什么,后来发现是属性set被置为private了,去掉了即可以了。[Config, Description("测量框的行"), Category("HalconLineObj")]         public doub
«    2026年1月    »
1234
567891011
12131415161718
19202122232425
262728293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接

Powered By Z-BlogPHP 1.7.3

Copyright www.skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864