computer-vision相关内容

使用 C++ 的隐马尔可夫模型

我最近一直在研究 C++ 中隐马尔可夫模型的实现.我想知道是否可以使用任何现有的用 C++ 编写的 HMM 库来使用使用动作识别(使用 OpenCV)? 我要避免“重新发明轮子"! 是否可以使用 Torch3Vision 即使(看起来)它被设计为从事语音识别工作? 我的想法是,如果我们可以将特征向量转换为符号/观察值(使用矢量量化 - Kmeans 聚类),我们可以将这些符号用于 ..

如何提高单应性精度?

我使用 OpenCV 的 cv::findHomography API 来计算两个平面图像的单应矩阵.匹配的关键点由 SIFT 提取并由 BFMatcher 匹配.据我所知, cv:findHomography 使用 RANSAC 迭代找出最佳的四个对应点来获得单应矩阵.因此,我使用对象边缘的同质矩阵绘制具有计算轮廓的选定四对点.结果如链接: https://postimg.cc/image ..
发布时间:2022-01-09 18:31:08 其他开发

HoG 特征如何以图形方式表示?

我正在实现“用于人体检测的定向梯度直方图"中的定向梯度直方图特征,我想将结果可视化.所有关于这些特性的论文都使用标准的可视化,但我找不到任何关于这些特性是如何生成的描述.如果您提供解释或有用的链接,我将不胜感激. 解决方案 你在论文中看到的可视化可以这样解释: 描述符由网格中覆盖图像窗口的 M*N 个单元组成.每个单元由边缘方向的直方图表示,其中离散化边缘方向的数量是一个参数(通常为 ..

给定图像,您将如何找到物体的高度?

这不完全是一个编程问题.我只是想知道您对数字图像处理中常见问题的处理方法. 假设您有一张 jpg 格式的几棵树的图像.您将如何找到每棵树的高度?照片是您唯一的输入. 我想知道你不必编码的方法.因此,您的答案是否含糊或非 DIP-ish 都没关系. 小修正:高度不必是树的实际高度.高度可以采用任何比例.但应该与图片中的所有对象保持一致. 解决方案 是的,这是可能的.您所描述 ..
发布时间:2022-01-09 18:30:45 其他开发

如何判断单应矩阵是否可以接受?

当使用 OpenCV 的 findHomography 函数来估计来自不同图像的两组点之间的单应性时,由于输入点内的异常值,有时您会得到一个糟糕的单应性,即使您使用 RANSAC 或LMEDS. //opencv java 例子:Mat H = Calib3d.findHomography(src_points, dst_points, Calib3d.RANSAC, 10); 如何判断生成的 ..
发布时间:2022-01-09 18:30:36 其他开发

劳氏比率测试如何工作?

假设我有一组 N 个图像,并且我已经计算了每个图像的 SIFT 描述符.我知道想计算不同特征之间的匹配.我听说一种常见的方法是劳氏比率测试,但我不明白它是如何工作的.有人可以向我解释吗? 解决方案 短版: 第一个图像的每个关键点都与第二个图像的多个关键点相匹配.我们为每个关键点保留 2 个最佳匹配(最佳匹配 = 距离测量值最小的那些).劳氏检验检查这两个距离是否足够不同.如果不是,则该关键 ..
发布时间:2022-01-09 18:30:26 其他开发

简单的物体识别

===已解决=== 感谢您的建议和意见.通过研究 Beginning Python Visualization 一书(第 9 章 - 图像处理)中给出的 flood_fill 算法) 我已经实现了我想要的.我可以计算对象,获取每个对象的封闭矩形(因此是高度和宽度),最后可以为每个对象构造 NumPy 数组或矩阵. 虽然它不是一种优化的方法,但它可以满足我的需求.我使用的源代码 (lab ..

通过旋转图像检测和修复文本倾斜

有没有办法(使用 OpenCV 之类的东西)来检测文本倾斜并通过旋转图像来纠正它?差不多吧? 如果您知道角度,旋转图像似乎很容易,但对于我正在处理的图像,我不会......它需要以某种方式被检测到. 解决方案 根据您上面的评论,这里是基于教程的代码 这里,上面的图片工作正常, 来源 轮换 Mat src=imread("text.png",0);垫 thr,dst ..
发布时间:2022-01-09 18:29:48 其他开发

如何验证相机校准是否正确?(或如何估计重投影的误差)

校准的质量是通过重投影误差来衡量的(有替代方法吗?),这需要一些 3d 点的知识世界坐标. 有没有一种简单的方法来产生这样的已知点?有没有办法通过其他方式验证校准(例如,张的校准方法只要求校准对象是平面的,不需要知道系统的几何形状) 解决方案 您可以独立于位姿验证估计的非线性镜头畸变参数的准确性.捕获跨越视场的直边(例如铅垂线或平面上的激光条纹)的图像(跨越 FOV 的一种简单方法是 ..
发布时间:2022-01-09 18:29:39 其他开发

从视频中提取关键帧

我需要从视频/流中提取关键帧.所以有没有标准的实现.我正在使用开放式简历.(目前我每秒都在提取帧,这比较慢,我需要提高性能.)因此,如果有人优化了实现,请在此处回复. 解决方案 使用ffmpeg可以提取所有关键帧,使用如下代码: ffmpeg -vf select="eq(pict_type\,PICT_TYPE_I)" -i yourvideo.mp4 -vsync 2 -s 160x ..
发布时间:2022-01-09 18:29:30 其他开发

为什么相机内在矩阵中的焦距有两个维度?

在针孔相机模型中,只有一个焦距位于主点和相机中心. 但是,在计算相机的内在参数后,矩阵包含 (fx, 0, offsetx, 0,0, fy, 偏移量, 0,0, 0, 1, 0) 这是因为图像传感器的像素在 x 和 y 上不是正方形的吗? 谢谢. 解决方案 简而言之:是的.为了建立一个可以描述具有矩形像素的相机的数学模型,您必须引入两个独立的焦距.我将引用经常推荐的“ ..

在压缩方面评估图像的质量?

我有用于计算机视觉任务的图像.该任务对图像质量很敏感.我想删除低于某个阈值的所有图像,但我不确定是否有任何方法/启发式方法可以自动检测通过 JPEG 严重压缩的图像.有人有想法吗? 解决方案 图像质量评估是一个快速发展的研究领域.由于您没有提到能够访问原始(未压缩)图像,因此您对无参考图像质量评估感兴趣.这实际上是一个相当困难的问题,但这里有一些要点可以帮助您入门: 既然您提到了 J ..
发布时间:2022-01-09 18:29:14 其他开发

水晶球怎么画里面有两种颜色的颗粒

我只是提出一个可能关闭的想法.我需要画一个水晶球,其中红色和蓝色粒子随机分布.我想我必须使用 Photoshop,甚至尝试在图像中制作球,但由于这是用于研究论文并且不必花哨,我想知道是否有任何方法可以使用 R、matlab 或任何其他语言. 解决方案 在 R 中,使用 rgl 包(R-to-OpenGL 接口): 库(rgl)n ..
发布时间:2022-01-09 18:29:01 其他开发

为什么 Sobel 算子看起来那样?

对于图像导数计算,Sobel 算子是这样的: [-1 0 1][-2 0 2][-1 0 1] 我不太了解它的两件事, 1.为什么中心像素是0?我不能只使用像下面这样的运算符吗, [-1 1][-1 1][-1 1] 2.为什么中间行是其他行的2倍? 我用谷歌搜索了我的问题,没有找到任何可以说服我的答案.请帮帮我. 解决方案 在计算机视觉中,通常没有完美、通用的做事方式 ..
发布时间:2022-01-09 18:28:54 其他开发

使用光流进行特征跟踪

我在论坛中发现了一个类似问题.但是里面的答案并没有回答我的问题. 如果我在第一张图片上只做一次特征检测(goodFeaturesToTrack)一次,然后使用光流(calcOpticalFlowPyrLK)来跟踪这些特征,问题是:只有在第一张图片上检测到的特征可以跟踪第一张图像.当这些特征超出图像时,将没有要跟踪的特征. 如果我对每张新图像进行特征检测,特征跟踪不稳定,因为上次检测到的 ..
发布时间:2022-01-09 18:28:45 C/C++开发

如何从增强现实开始?

我目前是计算机科学专业的本科生,明年我将进入最后一年.增强现实是我发现的一个非常有趣的话题,但我不知道从哪里开始学习它. 您从哪里开始了解此主题以及可用的库? 解决方案 作为一个非常流行的流行语,增强现实可以使用一些可以单独学习的不同算法来构建.通常包括: 平面对象检测(可以是标记或先前训练的对象).SURF/SIFT/FAST 描述符,RANSAC 用于单应矩阵计算 将经过 ..

可以使用什么算法来识别图像是否“相同"?或类似的,无论大小?

TinEye,“反向图片搜索引擎",允许您上传/链接到图片,它可以搜索它已抓取的十亿张图片,它会返回指向它找到的相同图片的链接. 但是,它不是一个简单的校验和或任何与之相关的东西.它通常能够找到比您提供的原始图像更高分辨率和更低分辨率以及更大和更小的尺寸的图像.这是该服务的一个很好的用途,因为我经常找到一张图像并想要它的最高分辨率版本. 不仅如此,我还让它找到了相同图像集的图像,其中图 ..
发布时间:2022-01-09 18:28:03 其他开发

解释霍夫变换

我只是在冒险,迈出了迈向计算机视觉的第一步.我试图自己实现霍夫变换,但我只是不明白整个画面.我阅读了维基百科条目,甚至阅读了理查德杜达和彼得哈特的原始“使用霍夫变换检测图片中的线条和曲线",但没有帮助. 有人可以用更友好的语言向我解释吗? 解决方案 更常见的是在矩形坐标中考虑一条线,即 y = mx + b.正如维基百科文章所述,一条线也可以用极坐标表示.Hough 变换利用了这种表 ..

如何在 Tesseract 和 OpenCV 之间进行选择?

我最近遇到了 Tesseract 和 OpenCV.看起来 Tesseract 是一个成熟的 OCR 引擎,OpenCV 可以用作创建 OCR 应用程序/服务的框架. 我尝试在我的一些图像上使用 Tesseract,它的准确性似乎不错.后来偶然发现了一个非常简单的教程关于使用OpenCV来执行使用 Python 进行 OCR 并印象深刻.几分钟后,我完成了系统的训练,它的准确性很好.但是,当 ..
发布时间:2022-01-09 18:27:44 Python