小编Jam*_*ers的帖子

如何使用Tesseract分割文档,然后输出生成的边界框和标签

我正在尝试让Tesseract输出一个带有标记边界框的文件,该边界框来自页面分割(预OCR).我知道它必须能够"开箱即用",因为在ICDAR比赛中显示的结果是参赛者必须分段和各种文件(学术论文在这里).以下是该论文中的一个示例,说明了我想要创建的内容: 分段和标记输出的图像

我已经使用brew构建了最新版本的tesseract brew install tesseract --HEAD,并且一直在尝试编辑位于/usr/local/Cellar/tesseract/HEAD/share/tessdata/configs/输出标记框中的配置文件.使用hocr配置接收的输出,即

tesseract infile.tiff outfile_stem -l eng -psm 1 hocr
Run Code Online (Sandbox Code Playgroud)

给出了一切的边界框,并在class标签中有一些标签,例如

<p class='ocr_par' dir='ltr' id='par_5_82' title="bbox 2194 4490 3842 4589">
    <span class='ocr_line' id='line_5_142' ...
Run Code Online (Sandbox Code Playgroud)

但我无法想象这一点.是否有可视化hOCR文件的标准工具,或者是否可以创建带有Tesseract内置边界框的输出文件?

目前的头版版本详情:

tesseract 3.04.00
 leptonica-1.71
  libjpeg 8d : libpng 1.6.16 : libtiff 4.0.3 : zlib 1.2.5
Run Code Online (Sandbox Code Playgroud)

编辑

我真的希望使用命令行工具实现这一点(如上例所示).@nguyenq指出我的API参考,遗憾的是我没有c ++经验.如果唯一的解决方案是使用API​​,请提供一个快速的python示例吗?

ocr tesseract hocr

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

Groupby Pandas DataFrame并计算一列的mean和stdev,并使用reset_index将std添加为新列

我有一个Pandas DataFrame如下:

   a      b      c      d
0  Apple  3      5      7
1  Banana 4      4      8
2  Cherry 7      1      3
3  Apple  3      4      7
Run Code Online (Sandbox Code Playgroud)

我想按行'a'对行进行分组,同时将列'c'中的值替换为分组行中的值的平均值,并添加另一列,其中列'c'中的值的std偏差已经计算出其平均值.对于要分组的所有行,"b"或"d"列中的值是常量.所以,期望的输出将是:

   a      b      c      d      e
0  Apple  3      4.5    7      0.707107
1  Banana 4      4      8      0
2  Cherry 7      1      3      0
Run Code Online (Sandbox Code Playgroud)

实现这一目标的最佳方法是什么?

python pandas

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

创建一个Matlab运行行快捷方式(如R)

R有一个很好的快捷方式,可以运行光标当前所在的行,然后将光标移动到下一行(cmd + return).在matlab中,您必须突出显示该行,然后运行突出显示的部分(shift + F7).

有没有办法创建'R like'运行线快捷方式?我正在使用OSX.

macos matlab

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

带有标题的R降价表

我正在尝试使用正常的markdown表示法在代码块之外创建一个表,并为其添加标题.这是一个示例文件(取自此处:

---
output: pdf_document
---

| First Header  | Second Header | Third Header         |
| :------------ | :-----------: | -------------------: |
| First row     | Data          | Very long data entry |
| Second row    | **Cell**      | *Cell*               |
| Third row     | Cell that spans across two columns  ||
[Table caption, works as a reference][section-mmd-tables-table1]
Run Code Online (Sandbox Code Playgroud)

不幸的是,这会产生一个相当悲伤 带表冠的非表悲伤

删除方括号中的标题行会使表格很好(但显然没有标题): 漂亮的表没有标题

如果我将我的数据制作成一个实际的data.frame并kable按照此处所示使用,我可以实现这一点,但我希望避免这样做.

markdown r r-markdown

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

Markdown细胞乳胶产生不需要的垂直条

在渲染降价单元格时,在乳胶部分之后显示垂直条.有没有办法删除这些?

例如,markdown单元格中的以下代码:

$\left[ \begin{array}{cccc}
x_{11} & x_{12} & \ldots & x_{1D} \\
x_{21} & x_{22} & \ldots & x_{2D} \\
x_{31} & x_{32} & \ldots & x_{3D} \\ \end{array} \right]$
Run Code Online (Sandbox Code Playgroud)

呈现为

矩阵

$\mathbf{W} \in \mathbb{R}^{D\times K}$
Run Code Online (Sandbox Code Playgroud)

呈现为

文本

软件版本

Mac OS 10.10.5

chrome 48.0.2564.48(Official Build)beta(64位)

ipython notebook --version 4.0.6

ipython-notebook jupyter-notebook

11
推荐指数
1
解决办法
5279
查看次数

用ggplot2绘制多元高斯等高线

我试图用具有已知均值和协方差的2D高斯分布来增加具有轮廓的图.理想情况下,我只需要指定函数,它将在2D中绘制(如stat_function2维除外).我可以geom_raster通过生成概率网格来实现.我能geom_contour2d以某种方式使用吗?

m <- c(.5, -.5)
sigma <- matrix(c(1,.5,.5,1), nrow=2)
data.grid <- expand.grid(s.1 = seq(-3, 3, length.out=200), s.2 = seq(-3, 3, length.out=200))
q.samp <- cbind(data.grid, prob = mvtnorm::dmvnorm(data.grid, mean = m, sigma = sigma))
ggplot(q.samp, aes(x=s.1, y=s.2)) + 
    geom_raster(aes(fill = prob)) +
    coord_fixed(xlim = c(-3, 3), ylim = c(-3, 3), ratio = 1)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r ggplot2

5
推荐指数
2
解决办法
2215
查看次数

使用 R Markdown 样式文档 (.Rmd) 作为 Pweave 的输入

我正在尝试通过Pweave. 在Pweave文档中,它声明您可以使用 style 声明代码块```{python}。但是,例如,当我尝试使用编译时,pweave -f pandoc FIR_design.mdw块不会运行,而是逐字放置。

文档中的所有示例都使用noweb语法,例如

<<fig = True, width = '12 cm', echo = False>>=
from pylab import *
plot(arange(10))
show()
@
Run Code Online (Sandbox Code Playgroud)

降价等价物将是:

```{python, fig = True, width = '12 cm', echo = False}
from pylab import *
plot(arange(10))
show()
```
Run Code Online (Sandbox Code Playgroud)

当我尝试使用 Markdown 语法运行示例时,它只是逐字添加它们而不运行块。这是预期的吗?如果是这样,我应该如何转换我的.Rmd文档以使其可以在Pweave. 我必须将它们转换为noweb样式吗?

这是以.Rmd 格式重写的文档示例文档FIR_design.mdw(示例):

python markdown r-markdown pweave

5
推荐指数
1
解决办法
709
查看次数

从熊猫数据框中选择行,其中两列匹配对列表

我正在尝试从数据框中创建一个布尔掩码(或索引列表),以指示多列与列表中的某些组合相匹配的位置。下面是一个例子:

import pandas as pd
df = pd.DataFrame({'A': ['alice', 'bob'    , 'charlie'  , 'dave' , 'dave'], 
                   'B': ['andy' , 'bridget', 'charlotte', 'diana', 'andy'], 
                   'C': ['some' , 'other'  , 'stuff'    , 'here' , '!' ]})

pairs = pd.DataFrame({'A': ['alice', 'dave'],
                      'B': ['andy' , 'diana']})
Run Code Online (Sandbox Code Playgroud)

我想要的输出是

[True, False, False, True, False]
Run Code Online (Sandbox Code Playgroud)

或者

[0, 3]
Run Code Online (Sandbox Code Playgroud)

重要的是,我希望返回行索引4即['dave', 'andy', '!']。我可以通过转换回列表来实现我想要的......但这感觉就像一个很长的路要走,我想有一种“熊猫”的方式来做到这一点!

df_list = df[['A', 'B']].values.tolist()
pairs_list = pairs.values.tolist()
[idx for idx, row in enumerate(df_list) if row in pairs_list]
Run Code Online (Sandbox Code Playgroud)

python pandas

5
推荐指数
1
解决办法
4261
查看次数

dplyr mutate调用另一个数据帧

我想通过应用一个调用另一个数据帧的函数来改变数据帧.我可以通过几种不同的方式实现这一点,但想知道如何"正确"地做到这一点.

这是我正在尝试做的一个例子.我有一个数据帧有一些开始时间,第二个有一些定时观察.我想返回一个数据帧,其中包含开始时间,以及在开始时间之后某个窗口内发生的观察数.例如

set.seed(1337)
df1 <- data.frame(id=LETTERS[1:3], start_time=1:3*10)
df2 <- data.frame(time=runif(100)*100)
lapply(df1$start_time, function(s) sum(df2$time>s & df2$time<(s+15)))
Run Code Online (Sandbox Code Playgroud)

到目前为止我用dplyr得到的最好的是以下(但这会失去身份变量):

df1 %>% 
    rowwise() %>%
    do(count = filter(df2, time>.$start_time, time < (.$start_time + 15))) %>%
    mutate(n=nrow(count))
Run Code Online (Sandbox Code Playgroud)

输出:

Source: local data frame [3 x 2]
Groups: <by row>

# A tibble: 3 × 2
                  count     n
                 <list> <int>
1 <data.frame [17 × 1]>    17
2 <data.frame [18 × 1]>    18
3 <data.frame [10 × 1]>    10
Run Code Online (Sandbox Code Playgroud)

我原以为能够做到这一点:

df1 <- data.frame(id=LETTERS[1:3], start_time=1:3*10)
df2 <- data.frame(time=runif(100)*100)
df1 %>% …
Run Code Online (Sandbox Code Playgroud)

r dplyr

5
推荐指数
2
解决办法
3964
查看次数

R喜欢matlab/GNU Octave中的str()函数

我希望能够像在R中一样(使用str()函数)在Matlab/GNU Octave中查看对象的结构.有没有这样做的功能?一个示例任务是在矩阵中返回nr rows和cols,但也返回给定函数的所有参数.

我知道我可以分别使用size()help()(而不是功能文件)来获取此信息.

matlab r octave

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