lua-modules/lua/rr.example.lua

65 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-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))