OpenCV
文章平均质量分 75
计算机视觉,自动驾驶方向知识积累。
工头阿乐
一起进步
展开
-
三种相机模型总结(针孔、鱼眼、全景)
我们最常见的投影模型Perspective Projection Model描述的就是针孔相机的成像原理。从上面的图根据相似三角形可以得出参考链接 https://zhuanlan.zhihu.com/p/540969207。原创 2024-08-21 16:23:17 · 523 阅读 · 0 评论 -
计算机视觉实战--直方图均衡化和自适应直方图均衡化
均衡化是数字图像处理中常用的一种技术,用于增强图像的视觉效果和对比度。,今天我们将实现对同一张图像的直方图均衡化和自适应直方图均衡化处理,学习一下两者的的基本原理和实现过程。直方图均衡化(Histogram Equalization)和自适应直方图均衡化(Adaptive Histogram Equalization)都是用于图像增强的技术,目的是改善图像的对比度和视觉效果。它们的主要区别在于处理图像的方式和局部性。直方图均衡化是一种全局的方法,它基于整个图像的灰度直方图来调整像素的灰度值分布。原创 2023-10-10 20:52:22 · 3293 阅读 · 0 评论 -
计算机视觉--通过HSV和YIQ颜色空间处理图像噪声
利用HSV和YIQ颜色空间处理图像噪声。在本次实验中,我们使用任意一张图片,通过RGB转HSV和YIQ的操作,加入了椒盐噪声并将其转换回RGB格式,最终实现对图像的噪声处理。在本文中,我们使用RGB转HSV和YIQ的操作,通过加入椒盐噪声并将其转换回RGB格式,对图像进行了噪声处理。我们展示了原始RGB图像以及其R、G、B通道的显示,接着将图像转换为HSV和YIQ格式,并在H通道和Y通道中分别加入了椒盐噪声。然后,我们将加入了噪声的H、S、V通道以及Y通道进行了显示。原创 2023-10-10 17:11:39 · 615 阅读 · 0 评论 -
计算机视觉--距离变换算法
计算机视觉CV是人工智能一个非常重要的领域。在本次的距离变换任务中,我们将使用D4距离度量方法来对图像进行处理。通过这次实验,我们可以更好地理解距离度量在计算机视觉中的应用。希望大家对计算机视觉和图像处理有了更深入的了解。让我们一起来看看实际的计算结果和可视化效果吧!距离变换是一种常用的方法,它可以帮助我们计算出每个像素点与最近的前景像素点之间的距离。这对于图像分析、目标检测和图像配准等任务至关重要。D4距离定义为两个像素点之间在水平和垂直方向上的绝对距离之和。原创 2023-10-10 10:15:52 · 664 阅读 · 0 评论 -
OpenCV-SIFT算法详解
至此SIFT算法就讲解完毕了,匹配的部分根据提的特征采用其他的聚类算法即可,总的来说这个算法还是有一定难度,本文也只是针对其他博客没有提到的细节引入了数学推导,使得整个思考过程更加连贯,更加详细的数学证明如有限差分法还请移步参考。原创 2023-08-09 17:18:19 · 1486 阅读 · 0 评论 -
Ubuntu系统使用v4l-utils工具来查看所连接摄像头参数
问题:通过opencv录制下来的视频,打开的时候显示“无法解码多工流传输的视频”。笔记本自带的摄像头,录制方法就是用opencv的VideoWrite。问题原因发现及解决:网上看了很多录制下来打不开的原因,无非就是保存的帧率、视频尺寸和相机不匹配,去跟淘宝问了个软件,就是很简单的显示相机参数的软件,然后发现尺寸和我想的不一样(实际上我用opencv去设置了相机参数,但成功的话应该没有这个问题的了,这个问题…以后有时间研究一下),就是把尺寸调好以后就正常了。原创 2023-07-21 14:05:36 · 1375 阅读 · 0 评论 -
鱼眼相机成像模型以及基于OpenCV标定鱼眼镜头(C++)
鱼眼镜头一般是由十几个不同的透镜组合而成的,在成像的过程中,入射光线经过不同程度的折射,投影到尺寸有限的成像平面上,使得鱼眼镜头与普通镜头相比起来拥有了更大的视野范围。上式表示的模型是根据四种鱼眼相机投影模型得出的一种通用鱼眼相机多项式模型。对实际的鱼眼镜头来说,它们不可能精确地按照投影模型来设计,所以为了方便鱼眼相机的标定,Kannala提出了一种鱼眼相机的一般多项式近似模型。上述式子中,rd表示鱼眼图像中的点到畸变中心的距离,是鱼眼相机的焦距,是入射光线与鱼眼相机光轴之间的夹角,即入射角。原创 2023-06-20 16:54:03 · 5788 阅读 · 3 评论 -
相机标定实战之双目标定
相机标定可以说是计算机视觉/机器视觉的基础,也是面试过程中经常出现的问题。相机标定涉及的知识面很广,成像几何、镜头畸变、单应矩阵、非线性优化等。在双目测距系统中,相机标定能消除畸变,进行立体校正,从而提高视差计算的准确性,这样才能得到精确的深度图。首先需要准备一张棋盘,如下图所示。对于标定不同测距范围相机所用的棋盘方格宽度会有所不同。对于短焦双目相机(测距范围在20m以内),棋盘中方格的宽度达到20mm即可原创 2023-06-13 18:19:12 · 9428 阅读 · 5 评论 -
工业相机-黑白相机像素MONO格式排列解析
像素(Pixel):人眼直接感受到的图像位图(bitmap):通过记录每一个像素值来存储和表达的图像位深度:位图中每个像素点用多少个二进制位来表示bmp:Windows系统中标准的位图格式以上说的都是黑白相机的mono格式,对于彩色工业相机,其实也有黑白格式,但那个黑白格式严格意义上属于彩色相机格式转化得到的,并不是sensor直接取到的图,还是与真正黑白相机的mono格式有所区别。后面有时间会再整理下彩色相机的像素格式排列及格式转化。原创 2023-04-07 15:40:23 · 4828 阅读 · 1 评论 -
图像熵的计算公式和应用场景
图像熵(image entropy)是图像“繁忙”程度的估计值。图像熵表示为图像灰度级集合的比特平均数,单位比特/像素,也描述了图像信源的平均信息量。对于离散形式的二维图像,其信息熵的计算公式为:对于上式,其中,pi 为每一灰度级出现的概率。熵指的是体系的混乱的程度,对焦良好的图像的熵大于没有清晰对焦的图像,因此可以用熵作为一种对焦评价标准。熵越大,图像越清晰。原创 2023-04-07 15:23:25 · 2425 阅读 · 0 评论 -
Opencv Canny边缘检测原理
边缘检测是图像分割的一部分,图像分割的目的是识别出图像中的区域。边缘检测是定位边缘像素的过程,而边缘增强是增加边缘和背景之间的对比度以便能够更清楚地看清边缘的过程。边缘跟踪是沿着边缘进行跟踪的过程,这个过程通常会把边缘像素采集到一个列表中,链码算法是边缘跟踪算法的一个特例。[2]最优定位准则:检测到的边缘点的位置距离实际边缘点的位置最近,或者是由于噪声影响引起检测出的边缘偏离物体的真实边缘的程度最小;[1]最优检测:算法能够尽可能多地标识出图像中的实际边缘,漏检真实边缘的概率和误检非边缘的概率都尽可能小;原创 2022-11-23 17:26:03 · 1548 阅读 · 0 评论 -
如何解释仿射变换
如何通俗的解释仿射变换?简单来说,“仿射变换”就是:“线性变换”+“平移”。先看什么是线性变换?原创 2022-09-09 10:24:23 · 995 阅读 · 0 评论 -
二维高斯曲面拟合法求取光斑中心
函数bool GetCentrePoint(float& x0,float& y0)主要用于对数据点进行二维高斯曲面拟合,并返回拟合的光点中心。(3)C++代码实现,算法的实现过程中由于涉及大量的矩阵运算,所以采用了第三方的开源矩阵算法Eigen,这里真正用于高斯拟合的函数是。在图像数据处理时,数据量比较大,为减小计算量,将矩阵B进行QR分解,即:B=QR,分解后Q为一个N。假如参与拟合的数据点有N个,则将这个N个数据点写成矩阵的形式为:A = B C,T为一个N-5维列向量;N的正交矩阵,R为一个N。原创 2022-08-22 13:55:59 · 2159 阅读 · 0 评论 -
OTSU算法(大津法—最大类间方差法)原理及实现
写在前面大津法(OTSU)是一种确定图像二值化分割阈值的算法,由日本学者大津于1979年提出。从大津法的原理上来讲,该方法又称作最大类间方差法,因为按照大津法求得的阈值进行图像二值化分割后,前景与背景图像的类间方差最大。它被认为是图像分割中阈值选取的最佳算法,计算简单,不受图像亮度和对比度的影响,因此在数字图像处理上得到了广泛的应用。它是按图像的灰度特性,将图像分成背景和前景两部分。因方差是灰度分布均匀性的一种度量,背景和前景之间的类间方差越大,说明构成图像的两部分的差别越大,当部分前景错分为背景或部分原创 2022-04-27 18:22:24 · 22248 阅读 · 2 评论 -
opencv 双边滤波算法(Bilateral Filters)原理及实现
双边滤波是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折衷处理,同时考虑空间与信息和灰度相似性,达到保边去噪的目的,具有简单、非迭代、局部处理的特点。之所以能够达到保边去噪的滤波效果是因为滤波器由两个函数构成:一个函数是由几何空间距离决定滤波器系数,另一个是由像素差值决定滤波器系数。双边滤波器中,输出像素的值依赖于邻域像素的值的加权组合,其公式如下:权重系数w(i,j,k,l)取决于定义域核和值域核的乘积,也就是通俗来讲就是双边滤波模板主要有两个模板生成,第一个是高斯模原创 2022-03-19 12:02:57 · 2836 阅读 · 0 评论 -
error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows,
错误返回terminate called after throwing an instance of 'cv::Exception' what(): OpenCV(3.4.3) /home/chen/Downloads/opencv-3.4.3/modules/highgui/src/window.cpp :632: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with原创 2022-03-17 14:53:14 · 4804 阅读 · 0 评论 -
opencv图像处理之K-means聚类算法
opencv图像处理之K-means聚类算法opencv图像处理之K-means聚类算法kmeans算法过程与简单的理解基于Opencv的c++代码opencv图像处理之K-means聚类算法kmeans是非常经典的聚类算法,至今也还保留着较强的生命力,图像处理中经常用到kmeans算法或者其改进算法进行图像分割操作,在数据挖掘中kmeans经常用来做数据预处理。opencv中提供了完整的kmeans算法,其函数原型为:double kmeans( InputArray data, int K, In原创 2022-03-13 16:00:31 · 3449 阅读 · 0 评论