66 lines
1.7 KiB
Lua
66 lines
1.7 KiB
Lua
local rr = require("rerun_lua")
|
|
|
|
|
|
function bbox(ms_ocr_bbox)
|
|
return rr.rect_xyxy {
|
|
ms_ocr_bbox[1],
|
|
ms_ocr_bbox[2],
|
|
ms_ocr_bbox[5],
|
|
ms_ocr_bbox[6],
|
|
}
|
|
end
|
|
|
|
function paragraphs(ms_form_result)
|
|
local result = {}
|
|
for _, paragraph in ipairs(ms_form_result.analyzeResult.paragraphs) do
|
|
for _, region in ipairs(paragraph.boundingRegions) do
|
|
table.insert(result, {
|
|
text = paragraph.content,
|
|
page = region.pageNumber,
|
|
bbox = bbox(region.polygon)
|
|
})
|
|
end
|
|
end
|
|
return result
|
|
end
|
|
|
|
function lines(ms_form_result)
|
|
local result = {}
|
|
for _, page in ipairs(ms_form_result.analyzeResult.pages) do
|
|
for _, line in ipairs(page.lines) do
|
|
table.insert(result, {
|
|
text = line.content,
|
|
page = page.pageNumber,
|
|
bbox = bbox(line.polygon)
|
|
})
|
|
end
|
|
end
|
|
return result
|
|
end
|
|
|
|
|
|
|
|
function words(ms_form_result)
|
|
local result = {}
|
|
for _, page in ipairs(ms_form_result.analyzeResult.pages) do
|
|
for _, word in ipairs(page.words) do
|
|
table.insert(result, {
|
|
text = word.content,
|
|
page = page.pageNumber,
|
|
bbox = bbox(word.polygon)
|
|
})
|
|
end
|
|
end
|
|
return result
|
|
end
|
|
|
|
|
|
local ms_form = rr.json("/Users/tbr/Desktop/ms_form.json")
|
|
|
|
local record = rr.recording("example-2")
|
|
record:image("54-1", "/Users/tbr/Desktop/00054-1.png")
|
|
record:image("54-0", "/Users/tbr/Desktop/00054-0.png")
|
|
record:text_objects("54-0/ms-forms/paragraphs",paragraphs(ms_form))
|
|
record:text_objects("54-0/ms-forms/lines",lines(ms_form))
|
|
record:text_objects("54-0/ms-forms/words",words(ms_form))
|