Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用OpenCV 3和Tesseract/模板匹配识别图像中的旋转数字?

如何使用OpenCV 3和Tesseract/模板匹配识别图像中的旋转数字?
EN

Stack Overflow用户
提问于 2019-05-24 04:36:19
回答 1查看 292关注 0票数 1

这是我的问题。我有一些简单的图片,在绿色的圆圈里有一些大的黑色数字。问题是它们可以随机旋转。到目前为止,我所做的是识别绿色的圆圈,然后将它们从图像中剪除,这样我就得到了数字。为了把它们弄直,我想用以下的方式构造一个旋转的圆角:

  • 首先,我用cv::findContours找到这个数字的所有轮廓。
  • 然后,对每一个数字轮廓,通过函数cv::minAreaRect构造出包含数字的最佳拟合旋转矩形。

所有操作都很好,除了数字4,它的旋转矩形与数字不对齐,但略有倾斜,如下面的图像所示:

我也试过用一个合适的椭圆,但那也是倾斜的。我能想到的唯一解决方案是使用模板匹配,提供自己旋转的模板。

EN

回答 1

Stack Overflow用户

发布于 2019-05-24 09:56:52

如果数字的字体是一致的,如果你可以把圆圈隔离开来,如果它们是(或者可以被做成)一个均匀的大小,那么你就可以完全绕开Tesseract,而代价是为各种旋转中的所有数字构造模板。

假设在+/- 2°范围内应用模板会给出一个不错的信号,那就是be (360/5)*10 = 720个模板来覆盖0-9。将应用这些模板的成本与Tesseract调用的成本进行基准测试会很有趣。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56292845

复制
相关文章
pyqt中QTableWidget里的下拉列表
有时候我们希望在QTableWidget的单元格中进行下拉列表的选择,就像excel里面这样。那么怎么设置呢?怎么实现读和写呢?特别是在pyqt中,在c++中,网上已经有很多例子了。
钱塘小甲子
2019/08/15
4K0
[Excel技巧]创建下拉列表
在单位用Excel做统计,想偷个小懒,比如食品一栏。能不能设计一个下拉列表,直接在列表框中选择,省去键盘的重复输入呢?
卷福同学
2023/04/28
2.6K0
[Excel技巧]创建下拉列表
Java 下拉列表
import java.awt.Container; import java.awt.FlowLayout; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ComboBoxModel; import javax.swing.DefaultComboBoxModel; import javax.swing.JButton; im
用户2965768
2019/03/04
3.2K0
从网络下载图片,保存,并用 UIImageView 从保存中显示
//从网络下载图片 -(UIImage ) getImageFromURL:(NSString )fileURL { NSLog(@"执行图片下载函数"); UIImage * result; NSData * data = [NSData dataWithContentsOfURL:[NSURL URLWithString:fileURL]]; result = [UIImage imageWithData:data]; return result; } //将所下载的图片保存到本地
用户8671053
2021/10/29
7390
Selenium处理下拉列表
在执行Selenium自动浏览器测试时,很多时候需要处理下拉菜单。下拉菜单通常用于表单中,在节省空间和防止用户在表单中选择错误的选项时非常有用。因此在测试任何网站或访问表单时,如何使用Selenium处理下拉列表显得尤为重要。
FunTester
2020/07/22
6.4K0
python保存列表
保存为.npy格式 先将list转为np.array格式,再保存为.npy格式
py3study
2020/01/09
2.3K0
c# (nop中)下拉列表(有外键)
1.在操作的界面Model中建立public List<SelectListItem> xxx(取名){ get; set; }
wfaceboss
2019/04/08
1.1K0
HTML 下拉列表框<select>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/03
5.1K0
自定义下拉列表
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style> body{ margin: 20px; } ul,li{ margin: 0px; padding: 0px; list-style: none; } #test1{ width: 300px; height: 40px; border: solid 1px darkred; line-height: 40px
前朝楚水
2018/04/02
2.1K0
自定义下拉列表
自定义下拉列表,也就是点击一个选择框的时候,下面会弹出相对应的推荐的选项,再选择一个之后,选项的内容会填充到选择框里面。选项框随之消失。
马克社区
2022/04/14
2.3K0
flutter的列表下拉刷新
flutter的列表下拉刷新需要借助一个组件来实现,这个组件的名字是RefreshIndicator,直译过来就是刷新指示灯。
挥刀北上
2021/01/07
5.1K0
flutter的列表下拉刷新
objective-c 从网络下载图片,保存,并用 UIImageView 从保存中显示
//从网络下载图片 -(UIImage *) getImageFromURL:(NSString *)fileURL { NSLog(@"执行图片下载函数"); UIImage * result; NSData * data = [NSData dataWithContentsOfURL:[NSURL URLWithString:fileURL]]; result = [UIImage imageWithData:data]; return result; }
用户7108768
2021/10/29
1.4K0
AngularDart Material Design 下拉列表 顶
material-dropdown-select组件结合了material-select和material-button-down的API。
南郭先生
2018/09/30
5.3K0
模板代码 - 列表和下拉刷新
摘要总结:本篇文章主要介绍了如何使用ViewStub和ViewStubCompat实现多布局,以便在不同的屏幕尺寸和分辨率下达到较好的展示效果。同时,还介绍了如何使用ViewStub和ViewStubCompat实现内边距和圆角,以及自定义属性在布局中的使用。
用户1172465
2018/01/05
3.1K0
鼠标操作、下拉列表、键盘操作
首先了解鼠标操作这个东西是怎么实现的,用了一个类,这个类叫做actionChains
清菡
2020/12/02
4.2K0
鼠标操作、下拉列表、键盘操作
flash bootstrap下拉列表(flash 67)
<div class="dropdown"> <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Change Theme </button> <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> {% for theme_name, display_name in config.FLASHBLOG_THEMES.items() %} <a class="dropdown-item" href="{{ url_for('blog.change_theme', theme_name=theme_name, next=request.full_path) }}"> {{ display_name }}</a> {% endfor %} </div> </div>
用户5760343
2019/08/20
6.9K0
如何从列表中获取元素
观察URAM的物理管脚,不难发现A/B端口都有相应的地址、使能、读写控制信号。与BRAM不同的是URAM的读写使能信号是同一个管脚RDB_WR_A/B,其为0时执行读操作,为1时执行写操作,这意味着一旦A/B端口独立,同一端口的读写操作就无法同时发生,因此,如果采用上一篇文章中介绍的方法将其配置为两个独立的单端口RAM,其读写行为与常规的单端口RAM是不同的,进一步而言,此时的读写行为类似于NO_Change模式。
Lauren的FPGA
2019/10/30
19.4K0
Python Selenium下拉列表元素定位
1.定位父元素select,然后通过tag name找到所有option,得到option元素的数组,然后通过数组索引定位,最后click.
十四君
2019/11/23
2.1K0
点击加载更多

相似问题

PHP -从保存的下拉列表中获取值

12

保存下拉列表中的值

41

从javascript下拉列表中删除下拉列表

11

下拉列表中未保存保存数据时的值

19

从Rails下拉列表中保存名称而不是ID

111
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档