标签: pattern-recognition

在屏幕截图中识别字符的最佳方式?

您会建议从屏幕截图中识别所有字符?屏幕截图非常清晰(白色背景上只有黑色文字),我也可以为文本选择任何starndard字体(安装在Windows上).我尝试了一些OCR方式(Tesseract等),但它在识别某些字符方面犯了错误(这让我感到困惑,因为文本没有丝毫噪音,字体是最常见的字体 - Courier New,Fixedsys等),我需要它100%准确.是否有一些库可用于此特定目的,某些模式识别或其他什么?或者我应该使用一些等宽字体获取屏幕截图,并迭代通过图像移动到右+ font_size像素,然后比较捕获的东西与字母的内存表示和相同大小的相同字体的数量?解决这个问题的最佳方法是什么?非常感谢你提前.

更新:我终于通过使用monospaced字体(Courier New)训练Tesseract,以我所截取的精确尺寸设法获得100%的准确率.希望将来帮助某人:)

ocr fonts tesseract pattern-recognition

20
推荐指数
2
解决办法
7046
查看次数

识别数据模式的最佳方法是什么,以及了解该主题的最佳方法是什么?

我正在开发的一个开发人员正在开发一个程序来分析路面图像,以找到路面裂缝.对于他的程序找到的每个裂缝,它会在一个文件中生成一个条目,告诉我哪些像素组成了特定的裂缝.他的软件有两个问题:

1)它产生几个误报

2)如果他发现裂缝,他只能找到它的一小部分,并将这些部分表示为单独的裂缝.

我的工作是编写能够读取这些数据,分析数据并告知误报和实际裂缝之间差异的软件.我还需要确定如何将裂缝的所有小部分组合在一起.

我已经尝试了各种方法来过滤数据以消除误报,并且已经使用神经网络在有限的成功程度上将裂缝组合在一起.我知道会有错误,但截至目前,存在太多错误.有没有人对非AI专家有任何见解,以了解完成任务或了解更多信息的最佳方法?我应该阅读什么类型的书,或者我应该选择什么样的课程?

编辑我的问题更多的是关于如何注意我的同事数据中的模式并将这些模式识别为实际裂缝.这是我所关注的更高级逻辑,而不是低级逻辑.

编辑实际上,至少需要20个样本图像来准确表示我正在使用的数据.它变化很大.但我在这里,这里这里都有一个样本.这些图像已经由我的同事处理.红色,蓝色和绿色数据是我必须分类的(红色代表暗裂纹,蓝色代表轻微裂纹,绿色代表宽/密封裂纹).

pattern-recognition artificial-intelligence image-processing data-analysis

19
推荐指数
1
解决办法
7187
查看次数

Birdsong音频分析 - 找出两个片段的匹配程度

我有~100个wav音频文件,采样率为48000只相同物种的鸟我想测量它们之间的相似性.我从波形文件开始,但我知道(非常轻微)更多关于处理图像的事情,所以我假设我的分析将在光谱图像上.我有几个不同日子的鸟类样本.

以下是数据的一些示例,以及(未标记轴的道歉; x是样本,y是线性频率乘以10,000 Hz): 替代文字 这些鸟鸣显然出现在"单词"中,不同的歌曲部分可能是我应该比较的水平; 相似词之间的差异以及各种词的频率和顺序. 替代文字

我想尝试取出蝉噪声 - 蝉鸣频率非常一致,并且倾向于相位匹配,所以这不应该太难. 替代文字

似乎某些阈值可能有用.

我被告知大多数现有文献都使用基于歌曲特征的手动分类,如潘多拉音乐基因组计划.我想成为Echo Nest ; 使用自动分类.更新:很多人都研究过这个.

我的问题是我应该使用哪些工具进行分析?我需要:

  • 过滤/降低一般噪音并保持音乐
  • 过滤出类似蝉的特定噪音
  • 对鸟类中的短语,音节和/或音符进行拆分和分类
  • 创建部件之间差异/相似性的度量; 一些可以捕捉鸟类之间差异的东西,最大限度地减少同一只鸟的不同召唤之间的差异

我选择的武器是numpy/scipy,但openCV可能在这里有用吗?

编辑:经过一些研究和史蒂夫的有用答案后,更新了我的术语和重写方法.

python audio pattern-recognition image-processing

19
推荐指数
2
解决办法
4388
查看次数

在图像中查找重复的图案/图像

我一直在寻找关于这个主题的一些论文(或信息).

为了避免误解:我不是在谈论在多个位置找到提供的模式.

重复图案也可以理解为表示重复图像.这里模式的定义不是抽象的.想象一下,例如,一堵砖墙.墙由单独的砖组成.墙的图片由砖的重复图像组成.

该解决方案必须优选地找到最大的重复模式.在这种情况下,大的可以用两种方式定义:像素区域或重复次数.

在上面的例子中,您可以将砖块切成两半.为了制作砖块,您可以旋转一个段并连接两半.虽然完整的砖是像素区域方面最大的重复图像,但是半块的重复次数是2倍.

有什么想法吗?

pattern-recognition image-processing image-recognition computer-vision

18
推荐指数
2
解决办法
9119
查看次数

计算相似度的方法

我正在做一个社区网站,要求我计算任何两个用户之间的相似性.使用以下属性描述每个用户:

年龄,皮肤类型(油性,干性),头发类型(长,短,中),生活方式(活跃的户外爱好者,电视垃圾)等.

任何人都可以告诉我如何解决这个问题或指向我一些资源?

statistics pattern-recognition similarity data-mining social-networking

17
推荐指数
2
解决办法
9473
查看次数

Gabor特征提取

我正在做一个关于Gabor特征提取的项目.我很困惑Gabor功能的含义.我制作了一个具有不同方向和频率的特征矩阵.这是Gabor特征还是诸如统计特征,几何特征,空间域特征,不变性,可重复性等特征的计算,其在将图像与具有不同方向和频率的Gabor滤波器组卷积之后获得的图像是指Gabor特征.

pattern-recognition

17
推荐指数
1
解决办法
2万
查看次数

使用Java中的Marvin Framework删除轮廓

我正在使用Marvin Framework来获取静脉图案,但我不知道如何去除叶子轮廓

我正在做以下事情:(每个函数调用其相应的Marvin插件.):

    MarvinImage source = MarvinImageIO.loadImage("source.jpg");

    MarvinImage gsImage = grayscaleImage(source);

    MarvinImage blImage1 = blurEffect(gsImage.clone(),1);

    MarvinImage blImage2 = blurEffect(blImage1.clone(), 13);

    MarvinImage difi = subtract(blImage2.clone(), blImage1.clone());

    difi = invertC(difi.clone());

    difi = closingEffect(difi.clone());

    difi = MarvinColorModelConverter.binaryToRgb(difi.clone());

    difi = reduceNoise(difi.clone());

    difi = invertC(difi.clone());

    MarvinImageIO.saveImage(difi, "result.jpg");
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

在此输入图像描述

java pattern-recognition image-processing marvin-framework

17
推荐指数
1
解决办法
534
查看次数

初学者的资源/分类算法的介绍

每一个人.我对分类算法的主题完全陌生,需要一些关于从哪里开始"严肃阅读"的好指示.我现在正在发现,机器学习和自动分类算法是否值得添加到我的某些应用程序中.

我已经通过Z. Michalewicz和D. Fogel(特别是关于使用神经元网络的线性分类器的章节)扫描了"如何解决它:现代启发式",并且在实践方面,我目前正在查看WEKA工具包源代码码.我的下一个(计划好的)步骤是深入了解贝叶斯分类算法的领域.

不幸的是,我在这个领域缺乏一个认真的理论基础(更不用说,到目前为止已经以任何方式使用过它),所以任何关于下一步看的提示都会受到赞赏; 特别是,对可用的分类算法的良好介绍将是有帮助的.作为一名工匠而不是理论家,越实用,越好......

提示,有人吗?

pattern-recognition artificial-intelligence classification machine-learning weka

16
推荐指数
2
解决办法
5580
查看次数

你如何在python中将这三个区域分组/聚类在数组中?

所以你有一个阵列

1
2
3
60
70
80
100
220
230
250
Run Code Online (Sandbox Code Playgroud)

为了更好地理解:

为了更好地理解

你如何在python(v2.6)中对数组中的三个区域进行分组/聚类,因此在这种情况下你得到三个数组

[1 2 3] [60 70 80 100] [220 230 250]

背景:

y轴是频率,x轴是数字.这些数字是由它们的频率表示的十个最高幅度.我想从它们创建三个离散数字用于模式识别.可能会有更多的点,但所有这些点都按照相对较大的频率差异进行分组,如本例所示,在大约50和大约0之间以及大约100和大约220之间.请注意,什么是大的,什么是小变化但是与群组/群集的元素之间的差异相比,群集之间的差异仍然很大.

python pattern-recognition cluster-analysis data-mining

16
推荐指数
4
解决办法
8140
查看次数

无监督学习时态数据的最新技术是什么?

我正在寻找最先进的方法的概述

  • 时间数据中找到(任意长度的)时间模式

  • 并且没有监督(没有标签).

换句话说,给定一个蒸汽/序列(可能是高维)数据,您如何找到最能捕获数据结构的公共子序列.

  1. 欢迎任何关于最新发展或论文(超出HMM,希望)的指示!

  2. 这个问题是否可以在更具体的应用领域中得到充分理解,例如

    • 动作捕捉
    • 语音处理
    • 自然语言处理
    • 游戏动作序列
    • 股市预测?

  3. 另外,这些方法中的一些通用性足以应对
    • 高度嘈杂的数据
    • 层次结构
    • 在时间轴上不规则地间隔

(我对检测已知模式,对序列进行分类或分段感兴趣.)

pattern-recognition cluster-analysis machine-learning time-series unsupervised-learning

15
推荐指数
1
解决办法
1553
查看次数