Tag: 计算机视觉

互补色 – 图像分析

我只是处理一个图像,看着颜色和对比度等事情。 我的问题是如何分析图像中的互补色并尝试有效地做到这一点。 首先我得到了像素rgb。 然后我转换为HSV并增加色调并返回到rgb,从而获得补色。 然后,我正在看它的衣柜邻居,看看这些是否是互补色。 如果给出这些是像素,很少会发现中心像素是互补的 – 因此我觉得这不是很有效。 或者另一个想法……如果存在具有互补色的区域,则根据颜色区域分割图像并计算从一个区域到另一个区域的距离。 有关如何有效编码的任何想法和想法? 谢谢

如何检测图像是照片,剪贴画还是线条图?

识别图像类型的最佳方法是什么? rwong对这个问题 的 回答表明Google将图像分为以下几组: 照片 – 连续色调 剪贴画 – 光滑的阴影 画线 – 双色调 将图像分类为其中一个组的最佳策略是什么? 我目前正在使用Java,但欢迎任何一般方法。 谢谢! 更新: 我尝试了tyjkenn在评论中提到的独特颜色计数方法,它似乎适用于我尝试过的大约90%的案例。 特别是使用独特的颜色计数难以正确地检测黑白照片。 获取图像直方图并单独计算窥视图似乎不是一个可行的选择。 例如,此图像只有两个峰值: 这是我检查过的另外两张图片:

签名识别是否有任何代码或算法?

我的用户使用触摸事件在我的应用程序中绘制他们的签名,然后将其转换为位图。 我想提取每个签名的唯一规范,并根据存储在主服务器中的规范进行比较。 我怎样才能做到这一点? 提取签名的唯一function的主要和企业算法是什么? 提前致谢,

在圆形霍夫变换中,什么是累加器分辨率的反比(dp)以及它如何影响圆检测?

OpenCV文档说明: dp:累加器分辨率与图像分辨率的反比。 例如,如果dp = 1,则累加器具有与输入图像相同的分辨率。 如果dp = 2,则累加器的宽度和高度都是一半。 但它没有说明该值的大小如何影响圆检测。 我认为累加器只是最大值的集合,它是如何具有分辨率的?

基本矩阵的分解:validationR和T的四种可能解

我想使用OpenCV做一些Motion-from-Motion。 到目前为止,我有基本的矩阵和基本矩阵。 有了基本矩阵我正在做SVD以获得R和T. 我的问题是我有两种可能的R解决方案和两种可能的T解决方案,这导致整体姿势的4种解决方案,其中4种解决方案中只有一种是正确的解决方案。 我怎样才能找到正确的解决方案? 这是我的代码: private void calculateRT(Mat E, Mat R, Mat T){ Mat w = new Mat(); Mat u = new Mat(); Mat vt = new Mat(); Mat diag = new Mat(3,3,CvType.CV_64FC1); double[] diagVal = {1,0,0,0,1,0,0,0,1}; diag.put(0, 0, diagVal); Mat newE = new Mat(3,3,CvType.CV_64FC1); Core.SVDecomp(E, w, u, vt, Core.DECOMP_SVD); Core.gemm(u, diag, 1, vt, […]

Google ARCore域模型示例

我正在尝试阅读并理解Google ARCore的域模型,尤其是Android SDK包。 目前,此SDK处于“ 预览 ”模式,因此没有关于如何使用此API的教程,博客,文章等。 即使谷歌本身也建议只阅读源代码,源代码注释和Javadocs以了解如何使用API​​。 问题是:如果您还不是计算机视觉专家,那么域模型对您来说会有点陌生和陌生。 具体来说,我有兴趣了解以下类的基本区别和正确用法: Frame Anchor Pose PointCloud 根据Anchor的javadoc: “ 描述现实世界中固定的位置和方向。为了保持在物理空间中的固定位置,这个位置的数字描述将随着ARCore对空间的理解的改进而更新。使用getPose()获取当前的数字位置这个位置可能会随着update()被调用而改变,但永远不会自发地改变。 “ 所以主持人有一个姿势 。 听起来像是“ 把一个锚 ”放到相机中可见的东西上,然后ARCore跟踪那个Anchor并不断更新它的Pose以反映其屏幕坐标的性质? 从Pose的javadoc: “ 表示从一个坐标系到另一个坐标系的不可变的刚性转换。如所有ARCore API所提供的,Poses总是描述从对象的局部坐标系到世界坐标系的转换(见下文)……这些改变意味着每一帧应该是被认为是一个完全独特的世界坐标框架。 “ 所以听起来像Pose只是相机的“ 当前帧 ”所独有的东西,并且每次更新帧时,所有锚点的所有姿势都可能重新计算? 如果没有,那么锚点,它的姿势,当前帧和世界坐标系之间的关系是什么? 无论如何,Pose 真的是什么? “姿势”只是存储矩阵/点数据的一种方式,以便您可以将Anchor从当前帧转换为世界帧吗? 或者是其他东西? 最后,我看到Frames,Poses和Anchors之间有很强的相关性,但之后是PointCloud 。 我在com.google.ar.core中可以看到的唯一使用这些类的是Frame 。 PointClouds似乎是(x,y,z) – 与第4个属性协调,表示ARCore的“置信度”,即x / y / z组件实际上是正确的。 所以如果一个Anchor有一个Pose,我会想象一个Pose也会有一个PointCloud来表示Anchor的坐标和那些坐标的置信度。 但是Pose 没有 PointCloud,因此我必须完全误解这两个类所建模的概念。 这个问题 我在上面提出了几个不同的问题,但它们都归结为一个简洁,回答问题: Frame,Anchor,Pose和PointCloud背后的概念有什么不同,你何时使用它们(以及用于何种目的)?

如何从录制的监控摄像机video中读取时间?

我有一个问题,我必须从监控摄像机录制的video中读取录制时间。 时间显示在video的左上角区域。 下面是显示时间区域的屏幕抓取链接。 此外,数字颜色(白色/黑色)在video持续时间内不断变化。 http://i55.tinypic.com/2j5gca8.png 请指导我解决这个问题。 我是一名Java程序员,所以更喜欢通过Java的方法。 编辑:感谢unhillbilly的评论。 我查看了Ron Cemer OCR库,其性能远低于我们的要求。 由于ocr性能低于预期,我计划使用屏幕抓取为所有数字构建字符集,并使用一些图像/像素比较库将帧时间与将显示概率结果的字符集进行比较经过比较。 所以我一直在寻找一个好的图像比较库(我可以使用非java库,我可以使用命令行运行)。 对上述方法的任何建议都会非常有帮助。

计算图像中的对象数

我正在研究图像处理识别某些物体的可能性,并在图像中对它们进行计数。 我将获得一张照片,我需要确定该图像中存在的盒子数量。 有没有人有任何机器视觉/图像处理库的经验,如ImageJ,斐济,JAI,jMagick,Java Vision Toolkit? 你觉得哪个最适合这份工作? 你们有什么建议? 如果可以从Java使用API​​,那就更好了。 谢谢。 编辑:我正在处理仓库棕色盒子。 是的我说的是常规照片。 来源通常是手机图片。 编辑2:对不起,答案得到了自动选择。 🙁

什么是最好的开源纯Java计算机视觉库?

作为一个实用的开发人员,我想为我的特定任务制作一个很好的算法,从块构建,如“边界提取”或“伽马校正”等,但我不想实现轮子,使所有那些东西,所以我徘徊 – 如果有任何强大的CV库,比如C ++的OpenCV? 说“最好的”,我的意思是具有以下属性的库: 实施了许多不同的算法 可扩展性 – 我可以根据库创建新的东西 高性能 线程安全