标签: image-recognition

找出两个图像之间的差异但不是*像素到像素

我希望有人能够帮助我.

我有一对黑白图像是由扫描文本和大型扫描仪产生的(结果文件高达500M).扫描的文本几乎相同,我需要检查是否有任何实质性差异.

显然我不能逐个像素地进行比较,因为扫描到bmp的相同图像每次扫描时会给我一个稍微不同的结果.

有没有人知道我可以购买或下载的任何库 - 开源或纪念 - 并围绕它构建.NET应用程序.

预先感谢您的帮助.海伦.

image-comparison image-processing image-recognition

4
推荐指数
1
解决办法
1075
查看次数

图像特征检测

我正在开发一个应用程序来识别圆形/椭圆形内的线状特征。形状如下所示(此处显示两个):

形状

  • 形状本身在圆形和椭圆形之间可能略有不同。
  • 形状内部最多有 5 条线,它们位于每个形状的大致相同区域。
  • 这些线的长度、粗细、旋转和曲率可能略有不同。
  • 这些线有时会稍微接触/相交。
  • 通常正好有 5 个,但有时可能会完全丢失一行。
  • 我不在乎颜色,黑白阈值很好。

每个对象(超过 100 个)都将通过视频单独捕获;捕获是一个手动/物理过程(即我每次都拿着相机)。我可以完全控制相机,因此我可以在每次拍摄时始终如一地定位它。

现在我正在尝试使用 OpenCV 进行识别。我能够修改示例“人脸识别”应用程序以使用另一个 Haar 标识符 XML 文件,但这似乎只能处理外部圆/椭圆的检测。

我有兴趣为每个样本生成一个对象,以描述用于进一步处理的 5 条内部线:

{
    1: { length: 20, avg_thick: 2.3 },
    2: { length: 4, avg_thick: 2.0 },
    3: { length: 9.1, avg_thick: 2.1 },
    4: { length: 2, avg_thick: 1.9 },
    5: { length: 17, avg_thick: 2.1 }
}
Run Code Online (Sandbox Code Playgroud)

这是我第一个涉及图像识别的项目。我应该使用/研究什么算法或程序来实现这一目标?谢谢!

更新:

由于图像将是手工拍摄的,因此它们不是纯黑/白。尝试应用阈值会使形状内的(假装)线条有时会消失。我怎样才能改善阈值结果?

opencv artificial-intelligence image-recognition edge-detection

4
推荐指数
1
解决办法
1359
查看次数

训练tesseract 3得到信件表

我一直在尝试使用普通的tesseract 3 OCR使用不同的选项来从一个字母表中获取数据,我的学生将其标记为多个选择问题的答案,如下所示:

图像与tesseract中使用的字母表

最好的输出之一是:

EEEEEEEEEEEEEEEEEEEEEEEEE
DDDDDDDDDDDDDDDDDDDDDDDDD
CCCCCCCCCCCCCCCCCCCCCCCCC
BBBBBBBEBBBBBBBBBBBBBBBBB
AAAAAAAAAAAAAAAAAAAAAAAAA
6789012345678901234567890
2222333333333344444444445
EEEEE EEEE EE EEE EEEEEEE
DDDDDD DDD DDDDDDDDDDDD
CCCCCCCCCCCCCCCCCC CCCCC
B BEBE BB BBBBBBBBBBBBBBB
AA AAA AAAAA AAAAAAAA
1234567890123455789012345
OOOOOOOOO1111111111222222
Run Code Online (Sandbox Code Playgroud)

我知道我可以解析.txt并获得更好的结果,但它错过了很多信息并得到了一些彩绘块的字母.

我想知道如何才能在这种情况下获得更好的结果.

我还希望有一个表格,其中绘制的块显示为不同的字符,例如,对于图像的第一行和第二行:

01 A B C - E   26 A B C D E
02 A - C D E   27 A B C D E
Run Code Online (Sandbox Code Playgroud)

如果你们有类似的经历,任何信息将不胜感激!提前致谢!

ocr tesseract pattern-recognition image-processing image-recognition

4
推荐指数
1
解决办法
3031
查看次数

为什么SIFT描述符是规模不变的?

我的理解:SIFT描述符使用从16x16邻域像素计算的方向梯度的直方图.大图像中的16x16区域可以是非常小的区域,例如猫爪上的一根头发的1/10,当您将目标图像调整为小尺寸时,围绕相同关键点的16x​​16邻域可以是大部分的图像,例如猫的爪子使用SIFT描述符将原始图像与调整大小的图像进行比较是没有意义的,任何人都可以告诉我我的理解有什么问题吗?

image-processing image-recognition computer-vision cbir

4
推荐指数
1
解决办法
928
查看次数

pytesseract,WindowsError:[错误2]系统找不到指定的文件

我是文本提取的新手.当我尝试使用pytesseract从png图像中提取文本时

from PIL import Image
import pytesseract
s=Image.open('d:\\test.png')
print(pytesseract.image_to_string(s))
Run Code Online (Sandbox Code Playgroud)

我收到错误了 在此输入图像描述 这是image(test.png)的问题.the test.png是一个号牌的图像.我应该安装其他任何东西.

python image-processing image-recognition

4
推荐指数
1
解决办法
3777
查看次数

在图片中识别动物

我正面临一个具有挑战性的问题 我工作的公司的庭院是一个相机陷阱,拍摄每一个动作的照片.在其中一些图片中,有不同种类的动物(主要是深灰色小鼠)会对我们的电缆系统造成损害.我的想法是使用一些可以识别图片上是否有灰色鼠标的应用程序.理想情况下是实时的.到目前为止,我们已经开发出一种解决方案,可以为每个动作发送警报但大多数警报都是错 你能否提供一些关于如何解决问题的可能方法的信息?

real-time image-recognition video-processing computer-vision

4
推荐指数
1
解决办法
620
查看次数

我以什么顺序训练我的CNN

我目前正在训练卷积神经网络,根据外观在腐烂的苹果和普通苹果之间进行分类.我有所有必要的数据,但是我对以下代码行有疑问.

epoch_x, epoch_y = tf.train.batch([resized_image, "Normal"], batch_size=batch_size)
Run Code Online (Sandbox Code Playgroud)

这为神经网络提供了图像和标签.我的问题是,我应该用所有批次的正常橙子训练网络,然后用腐烂的橙子训练神经网络吗?我是否应该轮流训练一批腐烂和正常的橘子?是否应该训练这些图像的特定顺序?

python machine-learning image-recognition neural-network conv-neural-network

4
推荐指数
1
解决办法
150
查看次数

OCR的图像预处理-Tessaract

这是我要检测的图像

显然,此图像非常清晰,因为它的清晰度很低并且不是真实的单词。但是,使用此代码,我无法检测到任何东西:

import pytesseract
from PIL import Image, ImageEnhance, ImageFilter
image_name = 'NedNoodleArms.jpg'
im = Image.open(image_name) 
im = im.filter(ImageFilter.MedianFilter())
enhancer = ImageEnhance.Contrast(im)
im = enhancer.enhance(2)
im = im.convert('1')
im.save(image_name)
text = pytesseract.image_to_string(Image.open(image_name))
print(text)
Run Code Online (Sandbox Code Playgroud)

输出

, Md?aod?amms
Run Code Online (Sandbox Code Playgroud)

这里有什么想法吗?我的对比功能生成的图像是:

在此处输入图片说明

哪个看起来不错?我没有大量的OCR经验。您会在这里建议什么预处理?我尝试过将图像调整为更大的尺寸,这有一点帮助,但还不够,还有一些来自PIL的不同滤镜。没什么特别接近的

python ocr image-recognition python-tesseract image-preprocessing

4
推荐指数
1
解决办法
1448
查看次数

检测图像中重叠的噪声圆圈

我尝试识别下图中的两个区域。内部区域内部以及外部和内部之间的区域 - 边界 - 使用 python openCV 进行圆化。

在此输入图像描述

我尝试了不同的方法,例如:

这不太合适。

这对于经典图像处理来说是可能的还是我需要一些神经网络?

编辑:使用 opencv 霍夫圆检测圆图像

# import the necessary packages
import numpy as np
import argparse
import cv2
from PIL import Image

# construct the argument parser and parse the arguments
ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", required = True, help = "Path to the image")
args = vars(ap.parse_args())

# load the image, clone it for output, and then convert it to grayscale
image = cv2.imread(args["image"])
output = …
Run Code Online (Sandbox Code Playgroud)

python opencv image-processing image-recognition

4
推荐指数
1
解决办法
1738
查看次数

如何从带有文本的图像中获取字体样式?

我正在Amazon Textract API通过 AWS 的 Python API 使用 来从文档(pdfjpg)中提取文本。我确实获得了其边界框的文本和坐标,但我也希望拥有字体类型(仅需要主要的字体类型:Arial、Helvetica、Verdana、Calibri、Times New Roman + 一些其他字体)。

有人有解决方案来获取该数据吗?

最好的解决方案可能是一个包,它接受小图像,返回字体类型名称,并且我可以在我的服务器上运行它。外部 API 很可能成本太高(金钱和时间方面),因为我必须在一秒钟内运行它 100 多次。

Amazon Textract 返回什么(不幸的是,没有字体类型):

{'BlockType': 'LINE',
 'Confidence': 99.81985473632812,
 'Text': 'This is a text',
 'Geometry': {'BoundingBox': {'Width': 0.7395017743110657,
   'Height': 0.012546566314995289,
   'Left': 0.12995509803295135,
   'Top': 0.2536422610282898},
  'Polygon': [{'X': 0.12995509803295135, 'Y': 0.2536422610282898},
   {'X': 0.8694568872451782, 'Y': 0.2536422610282898},
   {'X': 0.8694568872451782, 'Y': 0.2661888301372528},
   {'X': 0.12995509803295135, 'Y': 0.2661888301372528}]},
 'Id': '59f42615-7f33-41d2-9f3c-77ae5e4b6e7a',
 'Relationships': ...}
Run Code Online (Sandbox Code Playgroud)

到目前为止我做了什么

我实现了一个解决方案,它计算文本的比率width/height,并通过使用 Python 的枕头包和不同的字体类型以编程方式绘制相同的文本,然后比较比率来进行比较。然而,这种启发式方法常常会导致错误的结果。

python ocr image-recognition amazon-textract

4
推荐指数
1
解决办法
4082
查看次数