From 7d74f10e6f39a6141924445371f910290a565ad8 Mon Sep 17 00:00:00 2001
From: Philipp Zumstein
Date: Sat, 8 Oct 2016 18:29:57 +0200
Subject: [PATCH] Add image and more description for bbox
This solves #34.
---
1.2/index.bs | 26 +++++++++++++++++++++++++-
1.2/index.html | 20 +++++++++++++++++++-
1.2/spec.md | 26 +++++++++++++++++++++++++-
images/bbox-crop.png | Bin 0 -> 10066 bytes
images/bbox.odg | Bin 0 -> 11602 bytes
5 files changed, 69 insertions(+), 3 deletions(-)
create mode 100644 images/bbox-crop.png
create mode 100644 images/bbox.odg
diff --git a/1.2/index.bs b/1.2/index.bs
index c474070..8e9d11f 100644
--- a/1.2/index.bs
+++ b/1.2/index.bs
@@ -101,8 +101,13 @@ The following properties can apply to most elements (where it makes sense):
`bbox x0 y0 x1 y1`
-The bounding box of the element relative to the document image
+The `bbox` - short for "bounding box" - of an element is a rectangular box
+around this element, which is defined by the upper-left corner (x0, y0) and
+the lower-right corner (x1, y1).
+ * the values are with reference to the the top-left corner of the document image
+ and measured in pixels
+ * the order of the values are `x0 y0 x1 y1` = "left top right bottom"
* use `x_bboxes` below for character bounding boxes
* do not use `bbox` unless the bounding box of the layout component is, in
fact, rectangular
@@ -111,6 +116,25 @@ The bounding box of the element relative to the document image
See also the section [[#bbox-typesetting]].
+
+
+```html
+
...
+```
+
+The bounding box `bbox` of this line is shown in blue and it is span
+by the upper-left corner (10, 20) and the lower-right corner (160, 30).
+All coordinates are measured with reference to the top-left corner of
+the document image which border is drawn in black.
+
+
+
+
+
+
### `textangle`
`textangle alpha`
diff --git a/1.2/index.html b/1.2/index.html
index 7268de3..b5a9417 100644
--- a/1.2/index.html
+++ b/1.2/index.html
@@ -1682,8 +1682,15 @@ The following properties can apply to most elements (where it makes sense):
3.1.1. bbox
bbox x0 y0 x1 y1
- The bounding box of the element relative to the document image
+ The bbox
- short for "bounding box" - of an element is a rectangular box
+around this element, which is defined by the upper-left corner (x0, y0) and
+the lower-right corner (x1, y1).
+
+ the values are with reference to the the top-left corner of the document image
+and measured in pixels
+
+ the order of the values are x0 y0 x1 y1
= "left top right bottom"
use x_bboxes
below for character bounding boxes
@@ -1694,6 +1701,17 @@ 3.1
if the non-rectangularity is caused by floating elements around which text flows
See also the section ยง5.2.1 bbox (typesetting) .
+
+
+
< span class = 'ocr_line' id = 'line_1'
+ title = "bbox 10 20 160 30" > ...< / span >
+
+
The bounding box bbox
of this line is shown in blue and it is span
+by the upper-left corner (10, 20) and the lower-right corner (160, 30).
+All coordinates are measured with reference to the top-left corner of
+the document image which border is drawn in black.
+
+
3.1.2. textangle
textangle alpha
The angle in degrees by which textual content has been rotate relative to the
diff --git a/1.2/spec.md b/1.2/spec.md
index cfe8311..78f1135 100644
--- a/1.2/spec.md
+++ b/1.2/spec.md
@@ -72,8 +72,13 @@ The following properties can apply to most elements (where it makes sense):
`bbox x0 y0 x1 y1`
-The bounding box of the element relative to the document image
+The `bbox` - short for "bounding box" - of an element is a rectangular box
+around this element, which is defined by the upper-left corner (x0, y0) and
+the lower-right corner (x1, y1).
+ * the values are with reference to the the top-left corner of the document image
+ and measured in pixels
+ * the order of the values are `x0 y0 x1 y1` = "left top right bottom"
* use `x_bboxes` below for character bounding boxes
* do not use `bbox` unless the bounding box of the layout component is, in
fact, rectangular
@@ -82,6 +87,25 @@ The bounding box of the element relative to the document image
See also the section [[#bbox-typesetting]].
+
+
+```html
+
...
+```
+
+The bounding box `bbox` of this line is shown in blue and it is span
+by the upper-left corner (10, 20) and the lower-right corner (160, 30).
+All coordinates are measured with reference to the top-left corner of
+the document image which border is drawn in black.
+
+
+
+
+
+
### `textangle`
`textangle alpha`
diff --git a/images/bbox-crop.png b/images/bbox-crop.png
new file mode 100644
index 0000000000000000000000000000000000000000..4214c35aeb4c7d78eee416900bb7ba7de1010b83
GIT binary patch
literal 10066
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 kl-}qdUzw=_+uT$E%KM%<14(
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
literal 0
HcmV?d00001
diff --git a/images/bbox.odg b/images/bbox.odg
new file mode 100644
index 0000000000000000000000000000000000000000..574e7bfdd5814550318923d93a7e3ef0b77c316a
GIT binary patch
literal 11602
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