检测倾斜字体中单词之间的空格(条)

2023-12-25

我编写了一个 python 脚本来检测图像中编码的字母。该脚本正在使用openCV模板匹配匹配图像中嵌入的字符/字母。除空格(空格键)字符外,检测工作正常。

Here is a sample image
enter image description here

在 python 中是否有一些(简单/直接)方法来使用(或不使用)openCV 检测单词之间的空格?


您可以沿着倾斜的垂直线扫描空白区域

  1. 扫描整个图像

  2. 计算每行字体像素数

  3. 如果没有计算像素,则找到间隙(绿线和蓝线)

  4. 计算连接的间隙线(w)

    如果更宽或等于阈值(在您的情况下为3),则找到的间隙是单词之间的间隙(蓝线)

我在 C++ 中是这样做的:

int x,y,i,w;
picture pic0,pic1,pic2; // pic0 - original input image,pic1 output, pic2 temp

pic1=pic0;              // copy input image pic0 to pic2
pic2=pic0;              // copy input image pic0 to pic1
pic2.rgb2i();           // and convert to grayscale intensity

for (w=0,x=pic2.ys>>1;x<pic2.xs;x++)
    {
    // count pixels per skewed vertical line
    for (i=0,y=0;y<pic2.ys;y++)
     if (pic2.p[y][x-(y>>1)].dd<200) i++;
    if (!i) w++; // increment gap width
    if ((i)||(x==pic2.xs-1))
        {
        if (w>=3)   // if gap bigger then treshold
            {       // draw blue gap lines
            for (i=x,x-=w;x<i;x++)
             for (y=0;y<pic1.ys;y++)
              pic1.p[y][x-(y>>1)].dd=0x000000FF;
            }
        w=0;
        continue;
        }
    // if gap found draw green line
    for (y=0;y<pic1.ys;y++)
     pic1.p[y][x-(y>>1)].dd=0x0000FF00;
    }

输出如下所示:

我使用自己的图片类来存储图像,因此一些成员是:
xs,ys图像的大小(以像素为单位)
p[y][x].dd是 (x,y) 位置处的像素,为 32 位整数类型
clear(color)清除整个图像
resize(xs,ys)将图像大小调整为新分辨率

[notes]

这使用固定倾斜角度进行扫描,以使其稳健,您需要首先找到倾斜角度,然后沿其扫描。

最后一个间隙也应该是蓝色的我忘记执行if (w>=3)...如果最后x被处理,无论i。源已更新,但图像未更新。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检测倾斜字体中单词之间的空格(条) 的相关文章

  • 如何生成给定范围内的回文数列表?

    假设范围是 1 X 120 这是我尝试过的 gt gt gt def isPalindrome s check if a number is a Palindrome s str s return s s 1 gt gt gt def ge
  • DreamPie 不适用于 Python 3.2

    我最喜欢的 Python shell 是DreamPie http dreampie sourceforge net 我想将它与 Python 3 2 一起使用 我使用了 添加解释器 DreamPie 应用程序并添加了 Python 3 2
  • 图像处理:什么是遮挡?

    我正在开发一个图像处理项目 我遇到了这个词闭塞在许多科学论文中 遮挡在图像处理中意味着什么 字典只是给出了一般的定义 谁能使用图像作为上下文来描述它们 遮挡意味着您想看到某些内容 但由于传感器设置的某些属性或某些事件而无法看到 它到底如何表
  • 如何使用 Scrapy 从网站获取所有纯文本?

    我希望在 HTML 呈现后 可以从网站上看到所有文本 我正在使用 Scrapy 框架使用 Python 工作 和xpath body text 我能够获取它 但是带有 HTML 标签 而且我只想要文本 有什么解决办法吗 最简单的选择是ext
  • Python tcl 未正确安装

    我刚刚为 python 安装了graphics py 但是当我尝试运行以下代码时 from graphics import def main win GraphWin My Circle 100 100 c Circle Point 50
  • 运行多个 scrapy 蜘蛛的正确方法

    我只是尝试使用在同一进程中运行多个蜘蛛新的 scrapy 文档 http doc scrapy org en 1 0 topics practices html但我得到 AttributeError CrawlerProcess objec
  • 使用 OpenPyXL 迭代工作表和单元格,并使用包含的字符串更新单元格[重复]

    这个问题在这里已经有答案了 我想使用 OpenPyXL 来搜索工作簿 但我遇到了一些问题 希望有人可以帮助解决 以下是一些障碍 待办事项 我的工作表和单元格数量未知 我想搜索工作簿并将工作表名称放入数组中 我想循环遍历每个数组项并搜索包含特
  • 从 pygame 获取 numpy 数组

    我想通过 python 访问我的网络摄像头 不幸的是 由于网络摄像头的原因 openCV 无法工作 Pygame camera 使用以下代码就像魅力一样 from pygame import camera display camera in
  • Nuitka 未使用 nuitka --recurse-all hello.py [错误] 编译 exe

    我正在尝试通过 nuitka 创建一个简单的 exe 这样我就可以在我的笔记本电脑上运行它 而无需安装 Python 我在 Windows 10 上并使用 Anaconda Python 3 我输入 nuitka recurse all h
  • 如何将 PIL 图像转换为 NumPy 数组?

    如何转换 PILImage来回转换为 NumPy 数组 这样我就可以比 PIL 进行更快的像素级转换PixelAccess允许 我可以通过以下方式将其转换为 NumPy 数组 pic Image open foo jpg pix numpy
  • 设置 torch.gather(...) 调用的结果

    我有一个形状为 n x m 的 2D pytorch 张量 我想使用索引列表来索引第二个维度 可以使用 torch gather 完成 然后然后还设置新值到索引的结果 Example data torch tensor 0 1 2 3 4
  • 检查所有值是否作为字典中的键存在

    我有一个值列表和一本字典 我想确保列表中的每个值都作为字典中的键存在 目前我正在使用两组来确定字典中是否存在任何值 unmapped set foo set bar keys 有没有更Pythonic的方法来测试这个 感觉有点像黑客 您的方
  • 如何从没有结尾的管道中读取 python 中的 stdin

    当管道来自 打开 时 不知道正确的名称 我无法从 python 中的标准输入或管道读取数据 文件 我有作为例子管道测试 py import sys import time k 0 try for line in sys stdin k k
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 对输入求 Keras 模型的导数返回全零

    所以我有一个 Keras 模型 我想将模型的梯度应用于其输入 这就是我所做的 import tensorflow as tf from keras models import Sequential from keras layers imp
  • Spark.read 在 Databricks 中给出 KrbException

    我正在尝试从 databricks 笔记本连接到 SQL 数据库 以下是我的代码 jdbcDF spark read format com microsoft sqlserver jdbc spark option url jdbc sql
  • Python - 字典和列表相交

    给定以下数据结构 找出这两种数据结构共有的交集键的最有效方法是什么 dict1 2A 3A 4B list1 2A 4B Expected output 2A 4B 如果这也能产生更快的输出 我可以将列表 不是 dict1 组织到任何其他数
  • Python:元类属性有时会覆盖类属性?

    下面代码的结果让我感到困惑 class MyClass type property def a self return 1 class MyObject object metaclass MyClass a 2 print MyObject
  • 改变字典的哈希函数

    按照此question https stackoverflow com questions 37100390 towards understanding dictionaries 我们知道两个不同的字典 dict 1 and dict 2例
  • Pandas 与 Numpy 数据帧

    看这几行代码 df2 df copy df2 1 df 1 df 1 values 1 df2 ix 0 0 我们的教练说我们需要使用 values属性来访问底层的 numpy 数组 否则我们的代码将无法工作 我知道 pandas Data

随机推荐

  • 如何在MVC单元测试类中模拟Request.Files[]?

    我想在 MVC 单元测试中测试控制器方法 为了测试我的控制器方法 我需要一个长度为 1 的 Request Files 集合 我想模拟 Request Files 因为我在控制器方法渲染的视图上使用了文件上传控件 任何人都可以建议我如何在单
  • 如何使用GD检查GIF是否具有透明度?

    我找到了问题如何使用GD检查图像是否具有透明度 https stackoverflow com q 5495275但答案都是针对 PNG 文件的 是否有解决方案可以使用 GD 扩展在 PHP 中检查 GIF 图像是否具有透明度 我假设 al
  • 依赖算法 - 找到要安装的最小软件包集

    我正在研究一种算法 其目标是找到安装包 X 的最小包集 我将通过一个例子更好地解释 X depends on A and E or C A depends on E and H or Y E depends on B and Z or Y
  • 打开新选项卡时使用 JSF 受保护视图时出错

    我已经设置了我的 Web 应用程序 通过在 faces config protected views 中列出各个页面来防止 CSRF 这在本地运行时效果很好 但在部署到服务器后 我最终在打开页面链接时收到这些错误 javax faces a
  • brew install python3 没有安装 pip3

    我使用 homebrew 安装了 python3 但它没有安装 pip3 或者我应该说它已安装但它无法识别该命令 这是我所做的 brew install python3 这安装了 python3 但最后抛出了一个错误 说它无法链接 pyth
  • 如何通过缓存制作离线地图(使用leaflet OSM)?

    我正在尝试通过浏览器中的缓存 IndexedDB 制作离线地图 我理解的概念是 当连接到互联网时 我首先下载并存储地图的图块 然后我必须逻辑上离线加载图块 但是 我无法弄清楚 如何存储它们以及如何逻辑地再次加载它们 我被困在这里了 我正在使
  • 为什么CameraX.bindToLifecycle在1.0.0-alpha05中不支持三种情况?

    我正在学习CameraX API CameraXBasic是一个office示例代码 代码A基于CameraFragment kt https github com android camera samples blob master Ca
  • 部署App Engine应用程序时如何设置自定义版本?

    我正在部署一个符合 Google 应用引擎标准的应用程序 这是一个 Java Kotlin 应用程序 但问题不一定是特定于此的 我正在使用最新的 Gradle 插件 答案可能是特定于此的 就像这些年来一样 我指定了一个项目 ID 比方说我的
  • 在 webpack 中传递环境相关变量

    我正在尝试将 Angular 应用程序从 gulp 转换为 webpack 在 gulp 中 我使用 gulp preprocess 来根据 NODE ENV 替换 html 页面中的一些变量 例如数据库名称 使用 webpack 实现类似
  • Python tkinter 树视图列大小

    我有一个Treeview in tkinter Linux 上的 Python 3 6 但 Windows 上也会发生同样的情况 我用它来模拟一种电子表格布局 我的问题是 如果我运行下面的示例代码 并调整 第 1 列 的大小 那么随着 第
  • 导出ipa文件失败

    使用 Xcode v11 3 我尝试导出 IPA 文件并收到此错误 导出期间发生错误 因此无法读取数据 格式不正确 这显示在 IDEDistribution standard log 中 System Library Frameworks
  • Cruise 与 TeamCity 与 CruiseControl.net [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 单例 PDO 模型 - 层次结构

    抱歉英语不好 我是巴西人 更糟糕的是谈论编程 我们走吧 我有这个 class DataBase extends PDO var object PDO private static instance Cria uma inst ncia do
  • 查找:-exec 缺少参数

    今天我得到了一个命令的帮助 但它似乎不起作用 这是命令 find home me download type f name rm exec ffmpeg i sameq mp3 rm 外壳返回 find missing argument t
  • 重新启动 gif 动画而不重新加载文件

    是否可以重新启动 gif 动画而不需要每次都下载文件 我当前的代码如下所示 var img new Image img src imgages src myImage gif id css background image url img
  • java.io.InvalidClassException:没有有效的构造函数

    当我运行下面的程序时 我收到异常 java io InvalidClassException Files SerializationMain Files SerializationMain no valid constructor at j
  • Databricks JDBC 集成安全性

    帮助 我需要使用我的 Azure AD 凭据从 Azure databricks 集群连接到 SQL Azure 实例 我已经测试过了 我可以通过我的 Azure AD 凭据使用 SSMS SQL Server Management Stu
  • 订阅 Angular 2

    我希望我的 ngOnInit 函数做接下来的事情 使用 this structRequest sendRequest 发出一些数据的 http 请求 效果很好 并且在收到数据后开始使用 this viewNodes 函数查看它 我使用 su
  • 网站图标必须为 32×32 或 16×16 吗?

    我想使用单个图像作为常规图标和 iPhone iPad 友好图标 这可能吗 如果作为常规浏览器图标链接 iPad 友好的 72 72 PNG 会缩放吗 或者我是否必须使用单独的 16 16 或 32 32 图像 2020 年更新 坚持 16
  • 检测倾斜字体中单词之间的空格(条)

    我编写了一个 python 脚本来检测图像中编码的字母 该脚本正在使用openCV模板匹配匹配图像中嵌入的字符 字母 除空格 空格键 字符外 检测工作正常 Here is a sample image 在 python 中是否有一些 简单