Linux7字符显示出来,在Ubuntu 16.04中如何使用ssocr(七段光学字符识别)识别七段显示内容...

本文介绍了一款名为SSOCR的工具,它专门用于识别七段显示器上的数字,并提供了详细的安装指南及使用教程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文概述

7段显示器(七段显示器)由以矩形排列的七个LED组成。七个LED的每一个都称为一个段, 因为在点亮时, 该段形成了要显示的数字(十进制和十六进制)的一部分。有时在同一包装内使用另一个第8个LED, 因此当两个或更多的7段显示器连接在一起以显示大于十的数字时, 可以指示小数点(DP)。在某些应用程序中, 你将需要使用OCR来自动识别该数字, 但是, 由于你可能知道使用常规OCR算法或tesseract之类的工具识别本文所显示的此类字符, 因此你将无法正确识别数字:

4766add7c552029b2a0fb4ff5679d229.png

如你所见, 可怜的是, 识别的字符被错误地识别。在识别数字期间, 所有常规算法都会失败, 但是, 有一种简便的方法可以使用另一种工具来识别此类数字。我们正在谈论SSOCR, 这是一个微型程序, 可让你识别七段显示器的数字。在本文中, 我们将教你如何轻松地在Ubuntu 16.04服务器中正确安装此应用程序以及如何使用它。

1.安装所需的构建工具

为了从源代码构建ssocr, 你将需要系统中的xlib(libx11)库以及libimlib2(用于图像加载, 渲染, 保存图像的库)的某些功能。你可以使用以下命令轻松安装它们:

sudo apt-get update

sudo apt-get install libx11-dev

sudo apt-get install libimlib2-dev

安装后, 你可以继续构建ssocr库, 而不会出现任何问题。

2.克隆ssocr源代码并构建

继续使用git在系统的某些目录中下载库的源代码:

git clone https://github.com/auerswal/ssocr.git

这将创建带有源代码的ssocr目录, 然后切换到cli中的目录:

cd ssocr

最后, 使用make命令开始构建库:

make

使用make命令启动ssocr的构建后, 你将在cli中获得简短的输出:

d51c6ce2f0587d016a06bd270c7b4451.png

二进制ssocr将位于你运行命令的目录中。现在可以从目录中使用该工具, 但是你需要在系统上全局公开它, 并使用以下命令将二进制文件复制到本地bin路径:

sudo mv ./ssocr /usr/local/bin/ssocr

这将允许你从cli中的任何位置执行ssocr命令, 例如打印版本:

ssocr --version

七段光学字符识别库的当前版本为2.19.0, 由Erik Auerswald开发。该程序绝对没有担保, 欢迎你根据GNU GPL(版本3或更高版本)的条款重新分发它。有关此工具的更多信息, 请访问Github上的官方存储库或官方网站。

3.使用ssocr

有趣的来了 ! ssocr将允许你从任何图像中识别七段显示器的编号, 并在运行该工具时将其路径作为参数:

ssocr -t image.png

ssocr会像其他任何CLI工具一样在输出中输出识别出的数字作为响应, 因此你可以将此工具与使用任何编程语言的其他应用程序结合使用。该工具非常灵活, 因为你可以在命令中设置很多选项:

-h, –help:打印使用情况消息, 显示默认值, 描述程序操作并显示可能的退出代码。

-v, –verbose:打印一些有关程序执行的消息。

-V, –version:打印版本和版权信息。

-t, –threshold = THRESHOLD:设置用于区分黑色和白色的亮度阈值。阈值被解释为百分比。

-a, –absolute-threshold:使用THRESHOLD值而不进行调整。否则, 将”阈值”调整为图像中使用的亮度间隔。

-T, -iter-threshold:使用迭代方法(一维k均值聚类)来确定用于区分黑色和白色的阈值。通过给出的阈值

-t THRESHOLD:设置起始值。

-n, –number-pixels = NUM​​BER:设置必须在扫描线中找到才能识别段的前景像素数。可用于忽略图片中的一些噪点。

-i, –ignore-pixels = NUM​​BER:设置在确定列是否仅由背景或前景像素组成时忽略的前景像素数。可用于忽略图片中的一些噪点。

-d, –number-digits = NUM​​BER:指定图像中显示的位数。如果NUMBER为-1, 则会自动检测到位数。

-r, -one-ratio = RATIO:设置高度/宽度比阈值以将数字识别为1。 RATIO仅采用整数。

-m, –minus-ratio = RATIO:设置宽度/高度比以识别减号。 RATIO仅采用整数。

-o, –output-image = FILE:将处理后的图像写入FILE。通常, 没有映像写入磁盘。如果使用标准扩展名, 则将其解释为要使用的图像格式。

-O, –output-format = FORMAT:指定图像格式。 Imlib2必须识别此格式, 使用标准文件扩展名。

-p, –process-only:仅处理给定的命令, 不进行分段或字符识别。应与–output-image = FILE一起使用。

-D, –debug-image [= FILE]:编写一个调试图像, 显示阈值化, 分段和字符识别的结果。除非给出文件名FILE, 否则将图像写入testbild.png。

-P, –debug-output:打印有助于调试的信息。

-f, –foreground = COLOR:指定前景色(黑色或白色)。这也会自动设置背景颜色。

-b, –background = COLOR:指定背景颜色(黑色或白色)。这也会自动设置前景色。

-I, –print-info:将图像尺寸和使用的亮度值范围打印到stderr。

-g, –adjust-gray:使用给命令gray_stretch赋予的值T1和T2作为百分比, 而不是绝对的亮度值。

-l, –luminance =关键字:控制亮度计算的类型。将help用作KEYWORD会显示带有所用公式的简短描述的关键字列表。默认值应该工作良好。

-S, –ascii-art-segments:将识别的段以ASCII字体打印到stderr。

-X, –print-as-hex:更改输出格式, 以使用由冒号分隔的十六进制字符串。十六进制数字代表显示的设置段。可以将其与外部程序结合使用, 以对设置的段使用不同的解释(例如, 如果仅显示某些特定的数字/字符或什至单词, 则使用不同的显示字体或纠错)。有关值的信息, 请参见手册页。

-C, –omit-decimal-point:从输出中省略小数点。小数点仍然可以识别, 并根据位数进行计数。

-c, –charset = KEYWORD:选择ssocr应该识别的字符集。将help用作KEYWORD会打印关键字列表, 其中包含所含字符的简短说明。

CLI工具的退出代码可以参考:

0:是否识别出正确的数字

1:如果找到了不同的数字

2:如果无法识别其中一个数字

3:如果仅成功处理图像

42:如果-h, -V或-l帮助

99:否则

编码愉快!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值