AICV
文章平均质量分 69
机器学习、深度学习、计算机视觉
AI高工
程序员,AI工程师,分享人工智能、机器学习、大模型、软件工程、游戏开发、网络、云计算
展开
-
为什么都放弃了LangChain?
随着 LangChain 的不灵活性开始显现,我们开始深入研究 LangChain 的内部结构,以改进系统的底层行为。看好 LangChain 的人欣赏它丰富的工具和组建和易于集成等特点,不看好 LangChain 的人,认为它注定失败 —— 在这个技术变化如此之快的年代,用 LangChain 来构建一切根本行不通。Agent 领域正在快速发展,带来了令人兴奋的可能性和有趣的用例,但我们建议 —— 在 Agent 的使用模式得到巩固之前,暂时保持简单。但事后看来,如果没有框架,我们的长期发展会更好。原创 2024-08-27 10:53:05 · 667 阅读 · 0 评论 -
海康视觉相机的坑
首先客户端打开是能自动识别相机的,而且可以使用,然后你把客户端关闭,打开halcon17(我的是17)你会发现halcon17会自动识别相机,而且使用的接口是usb3Vision接口,而且会要求你安装一些东西,这时候你会点击确定,好了,你的halcon是可以工作了,但是你的客户端就会出现无驱动,而且无论你怎么卸载相机驱动还是重装客户端,都只出现一个问题就是无驱动。此时在打开,采集,实时就可以了,然后把halcon关闭在打开客户端,你会发现还是可以使用的。不要点击Halcon图像采集助手中建议的解决方案!原创 2022-11-23 15:42:39 · 257 阅读 · 0 评论 -
Unity Sentis首份教程来啦,利用AI模型创建先进功能
通过应用这个模型,用户可以在较小的项目中实现光线追踪功能,如光的折射和焦散区域光,这个方法并不会影响设备的性能。通过使用 TensorFlow 提供的 Super Resolution 分辨率增强(upscaling)模型,用户可以将游戏中的低分辨率图像、纹理增强为符合生产质量的图像、纹理,或者仅在需要时,辅助优化不同设备上的资产。例如,用户可以在 VR 项目中使用 Ultralytics 的 YOLO 模型,在游戏场景中检测物体,或者在 AR 项目里从设备摄像头中检测现实世界的物体。原创 2023-12-14 23:05:34 · 783 阅读 · 0 评论 -
计算机视觉GPT时刻!UC伯克利三巨头祭出首个纯CV大模型,推理惊现AGI火花
计算机视觉的GPT时刻,来了!最近,来自UC伯克利的计算机视觉「三巨头」联手推出了第一个无自然语言的纯视觉大模型(Large Vision Models),并且第一次证明了纯视觉模型本身也是可扩展的(scalability)。除此之外,研究人员还利用超过420B token的数据集让模型可以通过上下文学习来理解并执行下游任务,并且统一了图片/视频、有监督/无监督、合成/真实、2D/3D/4D等几乎所有的数据形式。论文地址:https://arxiv.org/abs/2312.00785。原创 2023-12-06 16:11:07 · 252 阅读 · 0 评论 -
OpenCV Error: Bad argument (Can not get new positive sample. The most possible reason is insufficien
很多资料都简单的把numPos解释为正样本,我也一直是这样认为的,导致numPos的值和创建vec样本的num数完全一样;2.numPos应小于设置的和生成vec文件的num数;最新补充:看到资料有说,保持正样本图像宽高比例跟上面的w,h比例一样就行,不一定相等。vec-file number:创建vec文件的正样本的num。3.观察第一层训练情况,第一层训练结束不报错后面就没问题了;运行opencv_traincascade .exe。这个问题主要是numPos的值设置的不对,已放弃 (核心已转储)原创 2023-07-25 19:00:25 · 513 阅读 · 0 评论 -
OpenCV分类检测器训练
opencv训练自己的xml分类器以及如何获取opencv_createsamples.exe和opencv_traincascade.exe_Lizaozao96的博客-CSDN博客(终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测_opencv 物体识别_ζั͡ ั͡雾 ั͡狼 ั͡✾的博客-CSDN博客【OpenCV学习记录】级联分类器训练与测试_Silence涂的博客-CSDN博客【cascades训练】 使用Cascade Trainer GUI进行级联分类器训练_十年一梦实原创 2023-07-18 20:02:51 · 919 阅读 · 0 评论 -
python opencv 级联Haar多目标检测
在以下代码中,我们首先加载了一个已经训练好的Haar分类器(这里使用的是检测人脸的分类器),然后将待检测的图像转换为灰度图像,并使用detectMultiScale方法对图像进行目标检测。可以使用上述代码的加载分类器方式,也可以将cv2包里面的模型文件拿出来供我们复用,这里我使用的是虚拟环境,haar的一系列模型文件都在 venv\Lib\site-packages\cv2\data目录下。🚀Haar分类器是一种基于机器学习的目标检测算法,它使用Haar特征描述图像中的目标。1、Haar分类器介绍。原创 2023-07-18 11:30:29 · 2203 阅读 · 0 评论 -
目标追踪的方向分析
目标运动方向分析的一种最常用方法是光流法,光流法通过相邻两帧图像中光流近似目标的运动。光流法比较适于估计较短时间内的目标运动趋势(如相邻几帧),且光流法对图像噪声非常敏感,如下图,为实验中视频的两种光流的计算结果。该方法累积目标在一段时间内的运动,通过计算时间域梯度估计目标的运动方向。由于行人头部目标在检测区域中的运动持续时间较短,位移较小,且较少发生遮挡,所以利用跟踪门进行目标的关联,实验中效果较好。由于视频中环境复杂噪声大,且相邻两帧图像中目标的运动不规律,所以光流分析效果并不理想。原创 2023-07-18 11:24:40 · 271 阅读 · 0 评论 -
车牌识别之UI(Tkinter + OpenCV显示Picture和Video)
因为我之前用Python做过Tkinter的小东西,所以这次还是用Python Tkinter + OpenCV来搞吧。我使用了class LPRSurface(Tk):类来继承Tk,如果是这样写需要在init函数中做做super().__init__()来实现对父类的初始化。如果图片没有Tkinter的Lable大,则正常显示,否则就要等比例缩放,以保障整张图片可以在Lable显示完全。使用了一个单独的类来记录打开过的图片路径,把这个路径存储在注册表中(这样做对Linux支持不好。原创 2023-06-09 16:14:47 · 1898 阅读 · 0 评论 -
Paddle 模型导出 ONNX 协议
Paddle 模型导出 ONNX 协议-使用文档-PaddlePaddle深度学习平台原创 2023-05-05 23:27:45 · 251 阅读 · 1 评论 -
AI领域通识
工作忙事情多的时候叫机器帮你分担点文字类工作写点文章也行,(亲测,旁边一个同事,在某天临下班的时候,让Chat GPT帮忙写过一篇微信公众号文章因为是新闻宣传类的,没啥大的问题,随便改改也就交差下班了)中间的这两层,其实技术门槛都还是比较高的,主要以国内外主流的互联网大厂及人工智能科技公司为主,包括百度 、海天瑞声、商汤科技、科大讯飞、微软、谷歌、Meta等。如果你的认知能超越99%的人,那不管任何时候,全都是你的机会,当然,或许到那个时候,你已经不想再去赚这个钱了。原创 2023-03-09 09:59:46 · 481 阅读 · 0 评论 -
深度学习做不了什么事
本文源自一次讨论深度学习缺陷的推文风暴,斯坦福大学的Bharath Ramsundar,在用深度学习进行药物研究的过程中发现,深度学习做不到事情其实有很多,比如无法鉴别对抗样本、处理不好高维数据、不能一边训练一边推断……尽管如此,我还是怀疑深度神经网络不足以实现通用人工智能,当然,这可能只是我的偏见,事件上的专家可能是预测上的菜鸟,我们花了太多时间钻研技术。6.在实际应用中,要考虑关键影响者检测的问题。3.深度学习方法在处理条件约束方面的效果也不佳,不能像线性规划方法那样,能快速找到满足约束的解决方案。原创 2023-02-07 09:43:34 · 20453 阅读 · 4 评论 -
opencv图像增强
如果像素强度小于某个预定义常数(阈值),则最简单的阈值化方法将源图像中的每个像素替换为黑色像素;cv2.ADAPTIVE_THRESH_GAUSSIAN_C:将T(x,y)阈值计算为(x,y)的blockSize x blockSize邻域的加权总和减去C参数。cv2.ADAPTIVE_THRESH_MEAN_C:将T(x,y)阈值计算为(x,y)的blockSize x blockSize邻域的平均值减去C参数。我们几乎看不到批号。我们的目标是找出LPG气瓶的批号,以便更新已检测的LPG气瓶数量。原创 2023-02-06 15:20:32 · 2107 阅读 · 0 评论 -
Python之OpenCV相机标定
对于定标板来说,我们可以知道棋盘格的方块尺寸,例如30mm,这样我们就可以把棋盘格上的角点坐标定义为(0,0,0),(30,0,0),(60,0,0),···,这个结果的单位是mm。下面实验中,我们使用的是10*7的棋盘格,每个方格边长是20mm,即含有9*6的内部角点。通过之前计算的内参数矩阵、畸变系数、旋转矩阵和平移向量,使用cv2.projectPoints()计算三维点到二维图像的投影,然后计算反投影得到的点与图像上检测到的点的误差,最后计算一个对于所有标定图像的平均误差,这个值就是反投影误差。原创 2023-02-06 15:12:11 · 3437 阅读 · 2 评论 -
OpenCV图像拼接和图像融合
图像拼接在实际的应用场景很广,比如无人机航拍,遥感图像等等,图像拼接是进一步做图像理解基础步骤,拼接效果的好坏直接影响接下来的工作,所以一个好的图像拼接算法非常重要。再举一个身边的例子吧,你用你的手机对某一场景拍照,但是你没有办法一次将所有你要拍的景物全部拍下来,所以你对该场景从左往右依次拍了好几张图,来把你要拍的所有景物记录下来。那么我们能不能把这些图像拼接成一个大图呢?我们利用opencv就可以做到图像拼接的效果!比如我们有对这两张图进行拼接。原创 2023-02-06 14:59:59 · 5709 阅读 · 1 评论 -
NLP预训练模型库PyTorch-Transformers
这些实现已在几个数据集上进行测试(参见示例脚本),应该与原始实现的性能相当(例如,BERT 全词覆盖(Whole-Word-Masking)在 SQUAD 数据集上的 F1 分数为 93,OpenAI GPT 在 RocStories 上的 F1 分数为 88,Transformer-XL 在 WikiText 103 上的 困惑度为 18.3、XLNet 的 STS-B 上的皮尔逊积矩相关系数为 0.916)。用户可以在官方网站的文档示例部分中,找到有关性能的更多详细信息。原创 2023-02-06 14:05:03 · 685 阅读 · 0 评论 -
Yolo-Z:改进的YOLOv5用于小目标检测
这些比例中的每一个都将不同的乘数应用于模型的深度和宽度,这意味着模型的整体结构保持不变,但每个模型的大小和复杂性都会按比例缩放。研究者们的目标是为未来的研究提供有关调整流行检测器(例如YOLOv5)以解决特定任务的潜力的信息,并提供有关特定更改如何影响小物体检测的见解。虽然我们的肉眼几乎可以立即提取上下文信息,即使是在很远的地方,但图像分辨率和计算资源的限制使得检测较小的对象(即在输入图像中占据小像素区域的对象)对机器来说是一项真正具有挑战性的任务和广阔的研究领域。计算机视觉研究院专栏。原创 2023-02-06 14:03:08 · 2460 阅读 · 0 评论 -
机器视觉中的摄像机标定和自标定分析
所谓主动视觉系统,是指摄像机被固定在一个可以精确控制的平台上,且平台的参数可以从计算机精确读出,只需控制摄像机作特殊的运动来获得多幅图像,然后 利用图像和已知的摄像机运动参数来确定摄像机的内外参数。但在输入多幅图像并能得到一致射影重建的情况下,基于二次曲面的自标定方法会更好一些,其根源在于二次曲面包含了无穷远平面和绝对二次曲线的所有 信息,且基于二次曲面的自标定方法又是在对所有图像做射影重建的基础上计算二次曲面的,因此,该方法保证了无穷远平面对所有图像的一致性。传统的摄像机标定需要标定参照物。原创 2023-02-02 16:41:40 · 2225 阅读 · 0 评论 -
Python太烂了!
据我所知,没有人在Python2上创建新的代码,但我们还让它苟延残喘着,因为没人将所需的代码导到Python3.x. 在官方Python网站上,这些文档被主动维护并可用于Python 2.7、3.5、3.6和3.7——因为他们无法放弃旧代码。总的来说,我认为Python对库的命名非常混乱,缺乏一致性的原则。看看这些名字吧,PyPy、PyPi、NumPy、SciPy,SymPy、PyGtk、Pyglet,PyGame ...(是的,前两个名称发音一模一样,但是它们的功能和用途有很大区别。Python用空格。原创 2023-01-16 16:50:23 · 7169 阅读 · 25 评论 -
图解卡尔曼滤波(Kalman Filter)
首先援引来自知乎大神的解释。“一位专业课的教授给我们上课的时候,曾谈到:filtering is weighting(滤波即加权)。滤波的作用就是给不同的信号分量不同的权重。最简单的loss pass filter, 就是直接把低频的信号给1权重,而给高频部分0权重。对于更复杂的滤波,比如维纳滤波, 则要根据信号的统计知识来设计权重。从统计信号处理的角度,降噪可以看成滤波的一种。降噪的目的在于突出信号本身而抑制噪声影响。从这个角度,降噪就是给信号一个高的权重而给噪声一个低的权重。维纳滤波就是一个典型的降噪滤原创 2023-01-12 10:18:19 · 1799 阅读 · 0 评论 -
OpenCV从3D-2D 点对应中查找对象姿势solvePnP
相机标定的基本原理也是相对简单的,看官网中的一个示意图,很容易发现,物点P(Xw,Yw,Zw),像点(u,v)和相机点三点在同一条线上(红线),如果知道多对物点和像点,画出他们的连线,找到的焦点就是相机的位置,同时还可以根据这些线的走向解算相机的旋转角,旋转角和坐标偏移共同构成了相机的外参。基于上面的假设,问题就简单多了,需要的数据只有物点坐标,像点坐标,在这里拍摄了一个照片,用来提供上面的数据,A4纸上画的是X轴和Y轴,电脑屏幕的棋盘作为Z轴刻度,电脑屏幕棋盘的第一条线距离桌面8.5cm。原创 2023-01-11 11:09:36 · 962 阅读 · 0 评论 -
OpenCv相机标定——圆形标定板标定
注释部分为原棋盘格的设置,修改为非对称圆图案标定板,第18行其实就是画出4x11非对称圆图案的圆心的过程,稍加思考即可理解!/* 标定板上每行、列的角点数 */我所使用的标定程序是在opencv sample文件夹下自带的calibration.cpp文件的基础上进行修改的。square_size半圆心距(即每一行相邻两个圆心的圆心距的一半)= 13/2 = 6.5。/* 假设标定板放在世界坐标系中z=0的平面上 *//* 初始化标定板上角点的三维坐标 *//* 提取角点 */原创 2023-01-11 10:42:00 · 4452 阅读 · 4 评论 -
OpenCV的solvePnP函数和Dlib估计头部姿势
例如,在虚拟现实应用程序中,可以使用头部的姿势来渲染场景的右视图。那个怎么样s在等式中?如果我们知道旋转R(一个 3×3 矩阵)和平移t(一个 3×1 向量),相对于相机坐标的世界坐标,我们可以计算位置(X, Y, Z)点的P在相机坐标系中使用以下等式。在这个问题中,目标是在我们有一个校准过的相机时找到物体的位姿,并且我们知道物体上n 个3D 点的位置以及相应的 2D 投影图片。我们知道 3D 模型上的许多点(即(U、V、W)),但我们不知道(X, Y, Z). 我们只知道二维点的位置(即(x, y))。原创 2023-01-05 17:56:11 · 3282 阅读 · 1 评论 -
FPGA并行计算可编程芯片
同样具备编程特点的器件如ARM、DSP等,这两者都是串行执行的,大家熟悉的有51单片机,stm32单片机都是串行执行。Block ram 由一定数量固定大小的存储块构成的,使用 BLOCK RAM 资源不占用额外的逻辑资源,并且速度快。FPGA芯片主要由6部分完成,分别为:可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。简单来说,就是一块可由工程师反复编程的逻辑器件,本体是一种数字集成电路,一个可以通过编程来改变内部结构的芯片。原创 2023-01-05 15:28:03 · 1261 阅读 · 2 评论 -
opencv中mat矩阵相乘
A*B是以数学运算中矩阵相乘的方式实现的,即Mat矩阵A和B被当做纯粹的矩阵做乘法运算,要求A的列数等于B的行数时,才能定义两个矩阵相乘。如A时m*n矩阵,B是n*p矩阵,乘积AB是一个m*p矩阵。Mat AB=A.mul(B),若声明AB时没有定义AB的数据类型,则默认AB的数据类型跟A和B保存一致。Mul会计算两个Mat矩阵对应位的乘积,所以要求参与运算的矩阵A的行列和B的行列数一致。Mul操作不对参与运算的两个矩阵A、B有数据类型上的要求,但要求A、B类型一致。原创 2022-11-03 09:39:36 · 1801 阅读 · 0 评论 -
VS(C#)调用Basler相机SDK采集图像及基本功能设定
2.安装好之后里面有对应的Basler.Pylon.dll文件需要在vs中引入这个dll文件大致路径是这样的D:\Basler\Development\Assemblies\Basler.Pylon\x64\Basler.Pylon.dll 这个是我电脑上的路径仅供 参考。注:博主看着另外一个博主的博客才有下面的一些总结,有兴趣可以看一下:https://blog.csdn.net/qq_39930578/article/details/87897257。原创 2022-11-30 13:56:16 · 3573 阅读 · 1 评论 -
机器视觉工业相机选型
细节沉淀,实际上大家的芯片和外部电路是差不多的,大的方面没有啥区别,软件易用性的话,用工业相机基本都是调用sdk自己写代码,厂家自带的软件没那么重要,然后sdk大家的方式都差不多。但是在一些小细节上,比如,安装牙孔容易滑牙,接插头偶尔接触不良,等等这些小问题在国产相机上层出不穷,看起来是小问题,实际上非常致命。原创 2022-11-30 14:31:41 · 1371 阅读 · 0 评论 -
计算机视觉专家:如何从C++转Python
有人说用 Python 编程很简单,6 岁小孩都能学会。计算机视觉专家和编程语言爱好者 asya f 刚开始上手 Python 时也这么想。但门槛低就仅意味着使用简单吗?经常调用 API 的人是不是一定比可以从零写出源码的人菜?在本文中,asya f 告诉我们,从 C++转向 Python,是一次「从个人到社区」的思维转变。转载自丨机器之心从 C++ 转 Python 的时候,我已经是一个有四年全职工作经验的软件开发者了。我的工作主要是用 C++在 Linux 上编程,是 QT 库的重度用户。但刚开始用 P原创 2022-12-02 10:24:17 · 5339 阅读 · 2 评论 -
Unity调用大华相机SDK采集图像及基本功能设定
由于我们需要的功能执法记录仪上没有,我们就定制了我们需要的功能,然后将执法记录仪设备系统升级了,结果升级之后,之前的获取rtsp视频流的功能,居然无法使用了,我在和大华的技术部联系过之后,得到的结论是升值后确实不能使用rtsp来播放视频流了,如果有需要可以定制。emm... ... 这就很尴尬了,定制是不可能的,但是问题还是要解决的,在热心同时的提示和帮助之下,我们采取了使用开启一个winform程序专门用来播放视频,虽然界面丑了点,但是还是完成了需要的功能。id => 通道号,起始为1。原创 2022-11-30 14:01:47 · 1200 阅读 · 0 评论 -
Unity的机器学习工具包ML-Agents
Github下载链接:https://github.com/Unity-Technologies/ml-agentsML-Agents是游戏引擎Unity3D中的一个插件,也就是说,这个软件的主业是用来开发游戏的,实际上,它也是市面上用得最多的游戏引擎之一。而在几年前随着人工智能的兴起,强化学习算法的不断改进,使得越来越多的强化学习环境被开发出来,例如总所周知的OpenAI的Gym,同时还有许多实验室都采用的星际争霸2环境来进行多智能体强化学习的研究。原创 2022-12-02 10:52:39 · 2751 阅读 · 0 评论 -
FLANN特征匹配
特征提取:寻找易于追踪和对比的特征————在图像所有区域中寻找向周围少量移动时变化最大的图像块————将这种操作映射到计算机语言中。特征描述:对提取的特征[特征周围的区域]用计算机的语言进行描述,使得其能够在其它图像中寻找到相似区域。特征匹配:根据特征描述,在其它图像中寻找所有相同的特征区域,以便进行需求的操作[如排列,整合等]。一个图像块取自原图像的边缘,其具有横向或纵向的差异性,而在与该方向垂直的角度上相同。好的图像特征应具有唯一性,即选取该图像周围的一块区域进行移动,其视觉印象会不同。原创 2022-11-07 23:14:24 · 1071 阅读 · 0 评论 -
超声波,红外线,超宽带,射频室内定位技术的比较
这种技术成本低,功耗小,精度高。ZigBee技术应用于较短距离无线通信,主要面向无线个人区域网(PAN),网络系统在应用中表现出近距离,低功耗,低成本等特征,这些都可以满足室内定位系统是通过在传感器网络中布置参考节点,移动节点构成系统的,参考节点为静态节点,它们发送位置信息和RSSI值给移动待测节点,该节点将数据写入定位模块,分析计算得到自身位置。超宽带技术是近年来新兴的一项无线技术,目前,包括美国,日本,加拿大等在内的国家都在研究这项技术,在无线室内定位领域具有良好的前景。下面具体介绍该技术的相关应用。原创 2022-12-14 16:25:17 · 2250 阅读 · 0 评论 -
目标检测Yolo与SSD算法比较
目标检测近年来已经取得了很重要的进展,主流的算法主要分为两个类型(参考):(1),如R-CNN系算法,其主要思路是先通过启发式方法(selective search)或者CNN网络(RPN)产生一系列稀疏的候选框,然后对这些候选框进行分类与回归,two-stage方法的优势是准确度高;(2)原创 2022-11-09 22:08:04 · 11716 阅读 · 0 评论 -
OpenCV For Unity Mat容器的创建与矩阵操作基础
你会想你上面代码不是输入的new Scalar(300)嘛,为什么最后输出结果全是255,这就验证了我们之前定义的矩阵的CVTYPE为8UC1,他只能表示0-255的数,如果你想要表示300,你就必须把申请的矩阵大小翻倍,申请为16UC1,这个一定要在之后的矩阵运算中注意一下。第一个参数是需要随机的矩阵,第二参数是种子数(基准数,将在这个数为基础进行随机),第三个参数是范围,比如传5,将在第二数的基础上加减5 的范围内进行随机。分别创建一个全为1的矩阵,创建一个全为0的函数,创建一个对角线的矩阵。原创 2022-11-03 09:37:39 · 1418 阅读 · 0 评论 -
OpenCV思维导图
OpenCV思维导图。原创 2022-11-01 19:58:03 · 783 阅读 · 0 评论 -
Opencv 原图像素坐标点透视变换后对应坐标点
点坐标p(x,y),变换前矩阵坐标pts1,变换后矩阵坐标pts2,求变换后p点对应坐标。原创 2022-10-29 16:14:48 · 1804 阅读 · 0 评论 -
OpenCVForUnity 透视矫正、透视变换
OpenCVForUnity有封裝好的計算透視變換矩陣的方法:public static Mat getPerspectiveTransform (Mat src, Mat dst)和通過透視變換矩陣實現透視變換的方法:public static void warpPerspective (Mat src, Mat dst, Mat M, Size dsize)所以要實現透視校正的關鍵在於獲取原始圖片四個交叉點,大致流程: 載入圖像→灰度化→邊緣處理得到邊緣圖像→霍夫變換進行直線檢測→計算得到原创 2022-10-28 11:42:42 · 1534 阅读 · 2 评论 -
OpenCV的透视转换关于Mat的type类型
使用getPerspectiveTransform()函数得到的射影变换矩阵的type类型是CV_64F (据说跟系统有关,未验证,我的是64位的系统);不少文章在介绍原理的时候,对应的点对变换关系是P0 = P1 * H,而getPerspectiveTransform()计算得到的变换矩阵H,实际使用时,点对的对应关系是P0 = H * P1。在计算射影变换矩阵的逆矩阵时,需要将矩阵类型转换回CV_64F后,再进行取逆H.inv()操作;同样,使用的时候,又需要将其转换回CV_32F。原创 2022-10-28 11:12:46 · 1183 阅读 · 0 评论 -
solvePnP 与cvPOSIT
结论:可以看到,除了前面的一堆数据类型检查和转化外,其实solvePnP调用的是cvFindExtrinsicCameraParams2通过已知的内参进行未知外参求解,是一个精确解;而cvPOSIT是用仿射投影模型近似透视投影模型下,不断迭代计算出来的估计值(在物体深度变化相对于物体到摄像机的距离比较大的时候,这种算法可能不收敛)。原文链接:https://blog.csdn.net/abc20002929/article/details/8520063。原创 2022-10-28 10:36:51 · 207 阅读 · 0 评论 -
相机标定:现实到虚拟世界的映射关系
这个时候我们就懵逼了……平时我们都说要做视觉识别、测量云云,然后我们就会去拍照,再对数字图像做各种处理,颜色处理、灰度化、滤波、边缘检测、霍夫变换,最后得到了希望得到的特征,是这样的对吧?上述3点的每一个转换,都有已经有成熟的数学描述,通过计算,我们完全可以精确地重现现实世界的任意一个点到其数字图像上对应像素点的投影过程。总的来说,摄像机标定是通过寻找对象在图像与现实世界的转换数学关系,找出其定量的联系,从而实现从图像中测量出实际数据的目的。没错, 摄像机标定的存在意义就是解决这个蛋疼的问题!原创 2022-10-27 15:15:50 · 966 阅读 · 0 评论