[{"data":1,"prerenderedAt":1398},["ShallowReactive",2],{"navigation_docs_en":3,"-en-advance-guide-use-decoded-rgb":173,"-en-advance-guide-use-decoded-rgb-surround":1393},[4,30,104,153],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Getting Started","\u002Fen\u002Fgetting-started","en\u002F01.getting-started",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fen\u002Fgetting-started\u002Fintroduction","en\u002F01.getting-started\u002F1.introduction","i-ph-rocket",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fen\u002Fgetting-started\u002Finstallation","en\u002F01.getting-started\u002F2.installation","i-ph-download",{"title":20,"path":21,"stem":22,"icon":23},"Quick Start","\u002Fen\u002Fgetting-started\u002Fquick-start","en\u002F01.getting-started\u002F3.quick-start","i-ph-play",{"title":25,"path":26,"stem":27,"icon":28},"Live Demo","\u002Fen\u002Fgetting-started\u002Flive-demo","en\u002F01.getting-started\u002F4.live-demo","i-ph-sparkle",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"How To","\u002Fen\u002Fhow-to","en\u002F02.how-to",[35,40,45,50,55,60,65,70,75,79,84,89,94,99],{"title":36,"path":37,"stem":38,"icon":39},"Use Rust","\u002Fen\u002Fhow-to\u002Fuse-rust","en\u002F02.how-to\u002F00.use-rust","simple-icons-rust",{"title":41,"path":42,"stem":43,"icon":44},"Use .NET \u002F C#","\u002Fen\u002Fhow-to\u002Fuse-csharp","en\u002F02.how-to\u002F01.use-csharp","simple-icons-dotnet",{"title":46,"path":47,"stem":48,"icon":49},"Use React Native","\u002Fen\u002Fhow-to\u002Fuse-react-native","en\u002F02.how-to\u002F02.use-react-native","simple-icons-react",{"title":51,"path":52,"stem":53,"icon":54},"Use iOS (Swift)","\u002Fen\u002Fhow-to\u002Fuse-ios-swift","en\u002F02.how-to\u002F03.use-ios-swift","simple-icons-apple",{"title":56,"path":57,"stem":58,"icon":59},"Use Android (Kotlin)","\u002Fen\u002Fhow-to\u002Fuse-android-kotlin","en\u002F02.how-to\u002F04.use-android-kotlin","simple-icons-android",{"title":61,"path":62,"stem":63,"icon":64},"Use C FFI","\u002Fen\u002Fhow-to\u002Fuse-c-ffi","en\u002F02.how-to\u002F05.use-c-ffi","simple-icons-c",{"title":66,"path":67,"stem":68,"icon":69},"Use CLI","\u002Fen\u002Fhow-to\u002Fuse-cli","en\u002F02.how-to\u002F06.use-cli","simple-icons-gnubash",{"title":71,"path":72,"stem":73,"icon":74},"Use Web","\u002Fen\u002Fhow-to\u002Fuse-web","en\u002F02.how-to\u002F07.use-web","simple-icons-javascript",{"title":76,"path":77,"stem":78,"icon":49},"Use React","\u002Fen\u002Fhow-to\u002Fuse-react","en\u002F02.how-to\u002F08.use-react",{"title":80,"path":81,"stem":82,"icon":83},"Use Node.js","\u002Fen\u002Fhow-to\u002Fuse-node","en\u002F02.how-to\u002F09.use-node","simple-icons-nodedotjs",{"title":85,"path":86,"stem":87,"icon":88},"Use Python","\u002Fen\u002Fhow-to\u002Fuse-python","en\u002F02.how-to\u002F10.use-python","simple-icons-python",{"title":90,"path":91,"stem":92,"icon":93},"Use Golang","\u002Fen\u002Fhow-to\u002Fuse-golang","en\u002F02.how-to\u002F11.use-golang","simple-icons-go",{"title":95,"path":96,"stem":97,"icon":98},"Use Java & JVM","\u002Fen\u002Fhow-to\u002Fuse-java","en\u002F02.how-to\u002F12.use-java","simple-icons-openjdk",{"title":100,"path":101,"stem":102,"icon":103},"Use Flutter & Dart","\u002Fen\u002Fhow-to\u002Fuse-flutter","en\u002F02.how-to\u002F13.use-flutter","simple-icons-flutter",{"title":105,"path":106,"stem":107,"children":108,"page":29},"Advance Guide","\u002Fen\u002Fadvance-guide","en\u002F03.advance-guide",[109,114,119,124,129,134,139,144,149],{"title":110,"path":111,"stem":112,"icon":113},"Models & Model Management","\u002Fen\u002Fadvance-guide\u002Fmodels-and-tiers","en\u002F03.advance-guide\u002F01.models-and-tiers","i-ph-cube",{"title":115,"path":116,"stem":117,"icon":118},"Multilingual OCR","\u002Fen\u002Fadvance-guide\u002Fmultilingual-ocr","en\u002F03.advance-guide\u002F02.multilingual-ocr","i-ph-translate",{"title":120,"path":121,"stem":122,"icon":123},"Spatial Layout Reconstruction","\u002Fen\u002Fadvance-guide\u002Fspatial-layout-reconstruction","en\u002F03.advance-guide\u002F03.spatial-layout-reconstruction","i-ph-layout",{"title":125,"path":126,"stem":127,"icon":128},"Image Preprocessing & Tuning","\u002Fen\u002Fadvance-guide\u002Fimage-preprocessing-and-tuning","en\u002F03.advance-guide\u002F04.image-preprocessing-and-tuning","i-ph-sliders",{"title":130,"path":131,"stem":132,"icon":133},"Multi-Column Text, Auto-Unwarp & Dynamic Orientation","\u002Fen\u002Fadvance-guide\u002Fmulti-column-unwarp-orientation","en\u002F03.advance-guide\u002F05.multi-column-unwarp-orientation","i-ph-arrows-clockwise",{"title":135,"path":136,"stem":137,"icon":138},"Use Decoded RGB Input","\u002Fen\u002Fadvance-guide\u002Fuse-decoded-rgb","en\u002F03.advance-guide\u002F06.use-decoded-rgb","lucide-image",{"title":140,"path":141,"stem":142,"icon":143},"Performance & Benchmarks","\u002Fen\u002Fadvance-guide\u002Fperformance-and-benchmarks","en\u002F03.advance-guide\u002F07.performance-and-benchmarks","i-ph-chart-line-up",{"title":145,"path":146,"stem":147,"icon":148},"Troubleshooting","\u002Fen\u002Fadvance-guide\u002Ftroubleshooting","en\u002F03.advance-guide\u002F08.troubleshooting","i-ph-wrench",{"title":150,"path":151,"stem":152,"icon":133},"Migration Guide","\u002Fen\u002Fadvance-guide\u002Fmigration-guide","en\u002F03.advance-guide\u002F09.migration-guide",{"title":154,"path":155,"stem":156,"children":157,"page":29},"Api Reference","\u002Fen\u002Fapi-reference","en\u002F04.api-reference",[158,163,168],{"title":159,"path":160,"stem":161,"icon":162},"InitializeConfig","\u002Fen\u002Fapi-reference\u002Finitialize-config","en\u002F04.api-reference\u002F01.initialize-config","i-ph-code-block",{"title":164,"path":165,"stem":166,"icon":167},"OcrRunOptions","\u002Fen\u002Fapi-reference\u002Focr-run-options","en\u002F04.api-reference\u002F02.ocr-run-options","i-ph-faders",{"title":169,"path":170,"stem":171,"icon":172},"TextResult & Output Modes","\u002Fen\u002Fapi-reference\u002Ftext-result-and-output","en\u002F04.api-reference\u002F03.text-result-and-output","i-ph-textbox",{"id":174,"title":135,"body":175,"description":1385,"extension":1386,"links":1387,"meta":1388,"navigation":1389,"path":136,"seo":1390,"stem":137,"__hash__":1392},"docs_en\u002Fen\u002F03.advance-guide\u002F06.use-decoded-rgb.md",{"type":176,"value":177,"toc":1360},"minimark",[178,183,200,203,208,263,267,282,291,644,651,798,802,886,890,1061,1065,1076,1083,1147,1154,1165,1172,1198,1205,1268,1275,1335,1345,1356],[179,180,182],"h1",{"id":181},"ocr-from-decoded-rgb-pixels","OCR from Decoded RGB Pixels",[184,185,186,187,191,192,195,196,199],"p",{},"High-throughput image processing callers (such as ",[188,189,190],"code",{},"libvips",", ",[188,193,194],{},"imagor",", OpenCV, camera feeds, and GUI viewports) already maintain uncompressed, decoded pixel arrays in memory. Encoding these pixels as JPEG or PNG solely to invoke ",[188,197,198],{},"rocr_detect_text_data"," adds redundant codec overhead and, in the case of lossy formats like JPEG, introduces compression artifacts that degrade recognition accuracy.",[184,201,202],{},"RustO! provides direct, validated raw RGB input methods that bypass compression and decompression entirely while utilizing the same detection, recognition, and coordinate systems.",[204,205,207],"h2",{"id":206},"key-properties","Key Properties",[209,210,211,227,241,251,257],"ul",{},[212,213,214,218,219,222,223,226],"li",{},[215,216,217],"strong",{},"Input Format",": Interleaved unsigned 8-bit ",[215,220,221],{},"RGB"," (",[188,224,225],{},"RGB8","), with no alpha channel and no EXIF auto-rotation.",[212,228,229,232,233,236,237,240],{},[215,230,231],{},"Row Padding",": Supports padded row strides (",[188,234,235],{},"stride >= width * 3","). The buffer must contain at least ",[188,238,239],{},"(height - 1) * stride + width * 3"," readable bytes (the final row does not require trailing padding).",[212,242,243,246,247,250],{},[215,244,245],{},"Fast-Path Memory Copy",": When ",[188,248,249],{},"stride == width * 3"," (unpadded contiguous pixels), buffers are ingested in a single vectorized memory pass.",[212,252,253,256],{},[215,254,255],{},"Safe Memory Invariants",": The caller retains ownership of the pixel buffer. RustO copies the active pixels and never retains, modifies, or frees the caller's pointer.",[212,258,259,262],{},[215,260,261],{},"Backend Requirement",": Requires the default pure-Rust image backend.",[204,264,266],{"id":265},"c-c-integration","C \u002F C++ Integration",[184,268,269,270,273,274,281],{},"Build RustO! with ",[188,271,272],{},"cargo build --release --features ffi",". C declarations are exported in ",[275,276,278],"a",{"href":277},"file:\u002F\u002F\u002Fmnt\u002Fdevelopment\u002FQuadrant\u002Frusto-rs\u002Finclude\u002Frusto.h",[188,279,280],{},"include\u002Frusto.h",".",[283,284,286,287,290],"h3",{"id":285},"structured-output-rocr_detect_text_rgb","Structured Output (",[188,288,289],{},"rocr_detect_text_rgb",")",[292,293,298],"pre",{"className":294,"code":295,"language":296,"meta":297,"style":297},"language-c shiki shiki-themes material-theme-lighter github-light github-dark monokai","#include \"rusto.h\"\n\n\u002F* handle is an initialized ROCRHandle*; pixels is caller-owned RGB8 buffer. *\u002F\nCTextResult *results = NULL;\nsize_t count = 0;\nint status = rocr_detect_text_rgb(\n    handle,\n    pixels,\n    buffer_length,\n    width,\n    height,\n    stride_bytes,\n    \"{}\",\n    &results,\n    &count\n);\n\nif (status == 0) {\n    for (size_t i = 0; i \u003C count; ++i) {\n        printf(\"Detected: %s (confidence: %.2f)\\n\", results[i].text, results[i].score);\n    }\n    rocr_free_results(results, count);\n}\n","c","",[188,299,300,320,327,334,359,377,395,404,412,420,428,436,444,458,470,478,484,489,510,551,616,622,638],{"__ignoreMap":297},[301,302,305,309,313,317],"span",{"class":303,"line":304},"line",1,[301,306,308],{"class":307},"sRxSC","#include",[301,310,312],{"class":311},"siCPE"," \"",[301,314,316],{"class":315},"sLACW","rusto.h",[301,318,319],{"class":311},"\"\n",[301,321,323],{"class":303,"line":322},2,[301,324,326],{"emptyLinePlaceholder":325},true,"\n",[301,328,330],{"class":303,"line":329},3,[301,331,333],{"class":332},"ss7Ak","\u002F* handle is an initialized ROCRHandle*; pixels is caller-owned RGB8 buffer. *\u002F\n",[301,335,337,341,345,348,351,355],{"class":303,"line":336},4,[301,338,340],{"class":339},"ss--_","CTextResult ",[301,342,344],{"class":343},"sGXK2","*",[301,346,347],{"class":339},"results ",[301,349,350],{"class":343},"=",[301,352,354],{"class":353},"sMTiH"," NULL",[301,356,358],{"class":357},"swvn1",";\n",[301,360,362,366,369,371,375],{"class":303,"line":361},5,[301,363,365],{"class":364},"srJo8","size_t",[301,367,368],{"class":339}," count ",[301,370,350],{"class":343},[301,372,374],{"class":373},"sYThS"," 0",[301,376,358],{"class":357},[301,378,380,383,386,388,392],{"class":303,"line":379},6,[301,381,382],{"class":364},"int",[301,384,385],{"class":339}," status ",[301,387,350],{"class":343},[301,389,391],{"class":390},"sD0ED"," rocr_detect_text_rgb",[301,393,394],{"class":357},"(\n",[301,396,398,401],{"class":303,"line":397},7,[301,399,400],{"class":339},"    handle",[301,402,403],{"class":357},",\n",[301,405,407,410],{"class":303,"line":406},8,[301,408,409],{"class":339},"    pixels",[301,411,403],{"class":357},[301,413,415,418],{"class":303,"line":414},9,[301,416,417],{"class":339},"    buffer_length",[301,419,403],{"class":357},[301,421,423,426],{"class":303,"line":422},10,[301,424,425],{"class":339},"    width",[301,427,403],{"class":357},[301,429,431,434],{"class":303,"line":430},11,[301,432,433],{"class":339},"    height",[301,435,403],{"class":357},[301,437,439,442],{"class":303,"line":438},12,[301,440,441],{"class":339},"    stride_bytes",[301,443,403],{"class":357},[301,445,447,450,453,456],{"class":303,"line":446},13,[301,448,449],{"class":311},"    \"",[301,451,452],{"class":315},"{}",[301,454,455],{"class":311},"\"",[301,457,403],{"class":357},[301,459,461,464,468],{"class":303,"line":460},14,[301,462,463],{"class":343},"    &",[301,465,467],{"class":466},"sQgqH","results",[301,469,403],{"class":357},[301,471,473,475],{"class":303,"line":472},15,[301,474,463],{"class":343},[301,476,477],{"class":339},"count\n",[301,479,481],{"class":303,"line":480},16,[301,482,483],{"class":357},");\n",[301,485,487],{"class":303,"line":486},17,[301,488,326],{"emptyLinePlaceholder":325},[301,490,492,495,497,500,503,505,507],{"class":303,"line":491},18,[301,493,494],{"class":307},"if",[301,496,222],{"class":357},[301,498,499],{"class":339},"status ",[301,501,502],{"class":343},"==",[301,504,374],{"class":373},[301,506,290],{"class":357},[301,508,509],{"class":357}," {\n",[301,511,513,516,518,520,524,526,528,531,533,536,539,541,544,547,549],{"class":303,"line":512},19,[301,514,515],{"class":307},"    for",[301,517,222],{"class":357},[301,519,365],{"class":364},[301,521,523],{"class":522},"squCx"," i ",[301,525,350],{"class":343},[301,527,374],{"class":373},[301,529,530],{"class":357},";",[301,532,523],{"class":522},[301,534,535],{"class":343},"\u003C",[301,537,538],{"class":522}," count",[301,540,530],{"class":357},[301,542,543],{"class":343}," ++",[301,545,546],{"class":522},"i",[301,548,290],{"class":357},[301,550,509],{"class":357},[301,552,554,557,560,562,565,569,572,575,577,581,583,586,590,593,595,598,601,603,605,607,609,611,614],{"class":303,"line":553},20,[301,555,556],{"class":390},"        printf",[301,558,559],{"class":357},"(",[301,561,455],{"class":311},[301,563,564],{"class":315},"Detected: ",[301,566,568],{"class":567},"sYoWi","%s",[301,570,571],{"class":315}," (confidence: ",[301,573,574],{"class":567},"%.2f",[301,576,290],{"class":315},[301,578,580],{"class":579},"sQeA1","\\n",[301,582,455],{"class":311},[301,584,585],{"class":357},",",[301,587,589],{"class":588},"s94S9"," results",[301,591,592],{"class":357},"[",[301,594,546],{"class":522},[301,596,597],{"class":357},"].",[301,599,600],{"class":339},"text",[301,602,585],{"class":357},[301,604,589],{"class":588},[301,606,592],{"class":357},[301,608,546],{"class":522},[301,610,597],{"class":357},[301,612,613],{"class":339},"score",[301,615,483],{"class":357},[301,617,619],{"class":303,"line":618},21,[301,620,621],{"class":357},"    }\n",[301,623,625,628,630,632,634,636],{"class":303,"line":624},22,[301,626,627],{"class":390},"    rocr_free_results",[301,629,559],{"class":357},[301,631,467],{"class":522},[301,633,585],{"class":357},[301,635,538],{"class":522},[301,637,483],{"class":357},[301,639,641],{"class":303,"line":640},23,[301,642,643],{"class":357},"}\n",[283,645,647,648,290],{"id":646},"spatial-output-rocr_detect_text_rgb_spatial","Spatial Output (",[188,649,650],{},"rocr_detect_text_rgb_spatial",[292,652,654],{"className":294,"code":653,"language":296,"meta":297,"style":297},"#include \"rusto.h\"\n\nchar *spatial_json = rocr_detect_text_rgb_spatial(\n    handle,\n    pixels,\n    buffer_length,\n    width,\n    height,\n    stride_bytes,\n    \"{}\"\n);\n\nif (spatial_json != NULL) {\n    printf(\"Spatial JSON: %s\\n\", spatial_json);\n    rocr_free_string(spatial_json);\n}\n",[188,655,656,666,670,688,694,700,706,712,718,724,732,736,740,757,782,794],{"__ignoreMap":297},[301,657,658,660,662,664],{"class":303,"line":304},[301,659,308],{"class":307},[301,661,312],{"class":311},[301,663,316],{"class":315},[301,665,319],{"class":311},[301,667,668],{"class":303,"line":322},[301,669,326],{"emptyLinePlaceholder":325},[301,671,672,675,678,681,683,686],{"class":303,"line":329},[301,673,674],{"class":364},"char",[301,676,677],{"class":343}," *",[301,679,680],{"class":339},"spatial_json ",[301,682,350],{"class":343},[301,684,685],{"class":390}," rocr_detect_text_rgb_spatial",[301,687,394],{"class":357},[301,689,690,692],{"class":303,"line":336},[301,691,400],{"class":339},[301,693,403],{"class":357},[301,695,696,698],{"class":303,"line":361},[301,697,409],{"class":339},[301,699,403],{"class":357},[301,701,702,704],{"class":303,"line":379},[301,703,417],{"class":339},[301,705,403],{"class":357},[301,707,708,710],{"class":303,"line":397},[301,709,425],{"class":339},[301,711,403],{"class":357},[301,713,714,716],{"class":303,"line":406},[301,715,433],{"class":339},[301,717,403],{"class":357},[301,719,720,722],{"class":303,"line":414},[301,721,441],{"class":339},[301,723,403],{"class":357},[301,725,726,728,730],{"class":303,"line":422},[301,727,449],{"class":311},[301,729,452],{"class":315},[301,731,319],{"class":311},[301,733,734],{"class":303,"line":430},[301,735,483],{"class":357},[301,737,738],{"class":303,"line":438},[301,739,326],{"emptyLinePlaceholder":325},[301,741,742,744,746,748,751,753,755],{"class":303,"line":446},[301,743,494],{"class":307},[301,745,222],{"class":357},[301,747,680],{"class":339},[301,749,750],{"class":343},"!=",[301,752,354],{"class":353},[301,754,290],{"class":357},[301,756,509],{"class":357},[301,758,759,762,764,766,769,771,773,775,777,780],{"class":303,"line":460},[301,760,761],{"class":390},"    printf",[301,763,559],{"class":357},[301,765,455],{"class":311},[301,767,768],{"class":315},"Spatial JSON: ",[301,770,568],{"class":567},[301,772,580],{"class":579},[301,774,455],{"class":311},[301,776,585],{"class":357},[301,778,779],{"class":522}," spatial_json",[301,781,483],{"class":357},[301,783,784,787,789,792],{"class":303,"line":472},[301,785,786],{"class":390},"    rocr_free_string",[301,788,559],{"class":357},[301,790,791],{"class":522},"spatial_json",[301,793,483],{"class":357},[301,795,796],{"class":303,"line":480},[301,797,643],{"class":357},[283,799,801],{"id":800},"return-codes","Return Codes",[803,804,805,819],"table",{},[806,807,808],"thead",{},[809,810,811,816],"tr",{},[812,813,815],"th",{"align":814},"left","Code",[812,817,818],{"align":814},"Meaning",[820,821,822,833,843,853,863,873],"tbody",{},[809,823,824,830],{},[825,826,827],"td",{"align":814},[188,828,829],{},"0",[825,831,832],{"align":814},"Success",[809,834,835,840],{},[825,836,837],{"align":814},[188,838,839],{},"-1",[825,841,842],{"align":814},"NULL pointer passed for a required argument",[809,844,845,850],{},[825,846,847],{"align":814},[188,848,849],{},"-2",[825,851,852],{"align":814},"Invalid dimensions, insufficient stride, or short buffer length",[809,854,855,860],{},[825,856,857],{"align":814},[188,858,859],{},"-3",[825,861,862],{"align":814},"Engine or inference execution failure",[809,864,865,870],{},[825,866,867],{"align":814},[188,868,869],{},"-4",[825,871,872],{"align":814},"Invalid options JSON string",[809,874,875,880],{},[825,876,877],{"align":814},[188,878,879],{},"-5",[825,881,882,883,885],{"align":814},"Spatial output requested on structured API (use ",[188,884,650],{}," instead)",[204,887,889],{"id":888},"native-rust-api","Native Rust API",[292,891,895],{"className":892,"code":893,"language":894,"meta":297,"style":297},"language-rust shiki shiki-themes material-theme-lighter github-light github-dark monokai","use rusto::{DetectTextBuilderExt, InitializeConfig, RustO};\n\nlet mut ocr = RustO::initialize(InitializeConfig::default())?;\n\n\u002F\u002F pixels: &[u8], width: u32, height: u32, stride: usize\nlet result = ocr\n    .detect_text_rgb_builder(pixels, width, height, stride)\n    .with_layout_reading(true)\n    .as_lines()\n    .run()?;\n","rust",[188,896,897,929,933,971,975,980,992,1023,1037,1047],{"__ignoreMap":297},[301,898,899,903,907,910,913,916,918,921,923,926],{"class":303,"line":304},[301,900,902],{"class":901},"shWJe","use",[301,904,906],{"class":905},"sKvfc"," rusto",[301,908,909],{"class":343},"::",[301,911,912],{"class":357},"{",[301,914,915],{"class":905},"DetectTextBuilderExt",[301,917,585],{"class":357},[301,919,920],{"class":905}," InitializeConfig",[301,922,585],{"class":357},[301,924,925],{"class":905}," RustO",[301,927,928],{"class":357},"};\n",[301,930,931],{"class":303,"line":322},[301,932,326],{"emptyLinePlaceholder":325},[301,934,935,938,942,945,947,949,951,954,956,958,960,963,966,969],{"class":303,"line":329},[301,936,937],{"class":364},"let",[301,939,941],{"class":940},"sTNss"," mut",[301,943,944],{"class":339}," ocr ",[301,946,350],{"class":343},[301,948,925],{"class":905},[301,950,909],{"class":343},[301,952,953],{"class":390},"initialize",[301,955,559],{"class":357},[301,957,159],{"class":905},[301,959,909],{"class":343},[301,961,962],{"class":390},"default",[301,964,965],{"class":357},"())",[301,967,968],{"class":343},"?",[301,970,358],{"class":357},[301,972,973],{"class":303,"line":336},[301,974,326],{"emptyLinePlaceholder":325},[301,976,977],{"class":303,"line":361},[301,978,979],{"class":332},"\u002F\u002F pixels: &[u8], width: u32, height: u32, stride: usize\n",[301,981,982,984,987,989],{"class":303,"line":379},[301,983,937],{"class":364},[301,985,986],{"class":339}," result ",[301,988,350],{"class":343},[301,990,991],{"class":339}," ocr\n",[301,993,994,997,1000,1002,1005,1007,1010,1012,1015,1017,1020],{"class":303,"line":397},[301,995,996],{"class":343},"    .",[301,998,999],{"class":390},"detect_text_rgb_builder",[301,1001,559],{"class":357},[301,1003,1004],{"class":339},"pixels",[301,1006,585],{"class":357},[301,1008,1009],{"class":339}," width",[301,1011,585],{"class":357},[301,1013,1014],{"class":339}," height",[301,1016,585],{"class":357},[301,1018,1019],{"class":339}," stride",[301,1021,1022],{"class":357},")\n",[301,1024,1025,1027,1030,1032,1035],{"class":303,"line":406},[301,1026,996],{"class":343},[301,1028,1029],{"class":390},"with_layout_reading",[301,1031,559],{"class":357},[301,1033,1034],{"class":353},"true",[301,1036,1022],{"class":357},[301,1038,1039,1041,1044],{"class":303,"line":414},[301,1040,996],{"class":343},[301,1042,1043],{"class":390},"as_lines",[301,1045,1046],{"class":357},"()\n",[301,1048,1049,1051,1054,1057,1059],{"class":303,"line":422},[301,1050,996],{"class":343},[301,1052,1053],{"class":390},"run",[301,1055,1056],{"class":357},"()",[301,1058,968],{"class":343},[301,1060,358],{"class":357},[204,1062,1064],{"id":1063},"language-bindings","Language Bindings",[184,1066,1067,1068,1071,1072,1075],{},"Every SDK exposes a fluent ",[188,1069,1070],{},"rgb(...)"," input on the same builder used for files and encoded bytes, finished with the single ",[188,1073,1074],{},"run()"," terminal call.",[283,1077,1079,1080,290],{"id":1078},"nodejs-packagesnode","Node.js (",[188,1081,1082],{},"packages\u002Fnode",[292,1084,1088],{"className":1085,"code":1086,"language":1087,"meta":297,"style":297},"language-javascript shiki shiki-themes material-theme-lighter github-light github-dark monokai","const results = engine.detectText().rgb(pixels, width, height, stride).asLines().run();\n","javascript",[188,1089,1090],{"__ignoreMap":297},[301,1091,1092,1095,1098,1101,1104,1106,1109,1111,1113,1116,1119,1121,1123,1125,1127,1129,1132,1134,1137,1139,1141,1143,1145],{"class":303,"line":304},[301,1093,1094],{"class":364},"const",[301,1096,589],{"class":1097},"s91G_",[301,1099,1100],{"class":343}," =",[301,1102,1103],{"class":339}," engine",[301,1105,281],{"class":357},[301,1107,1108],{"class":390},"detectText",[301,1110,1056],{"class":339},[301,1112,281],{"class":357},[301,1114,1115],{"class":390},"rgb",[301,1117,1118],{"class":339},"(pixels",[301,1120,585],{"class":357},[301,1122,1009],{"class":339},[301,1124,585],{"class":357},[301,1126,1014],{"class":339},[301,1128,585],{"class":357},[301,1130,1131],{"class":339}," stride)",[301,1133,281],{"class":357},[301,1135,1136],{"class":390},"asLines",[301,1138,1056],{"class":339},[301,1140,281],{"class":357},[301,1142,1053],{"class":390},[301,1144,1056],{"class":339},[301,1146,358],{"class":357},[283,1148,1150,1151,290],{"id":1149},"python-packagespython","Python (",[188,1152,1153],{},"packages\u002Fpython",[292,1155,1159],{"className":1156,"code":1157,"language":1158,"meta":297,"style":297},"language-python shiki shiki-themes material-theme-lighter github-light github-dark monokai","result = engine.detect_text().rgb(pixel_bytes, width, height, stride).as_lines().run()\n","python",[188,1160,1161],{"__ignoreMap":297},[301,1162,1163],{"class":303,"line":304},[301,1164,1157],{},[283,1166,1168,1169,290],{"id":1167},"go-packagesgo","Go (",[188,1170,1171],{},"packages\u002Fgo",[292,1173,1177],{"className":1174,"code":1175,"language":1176,"meta":297,"style":297},"language-go shiki shiki-themes material-theme-lighter github-light github-dark monokai","res, err := engine.DetectText().RGB(pixels, width, height, stride).AsLines().Run()\nif err != nil {\n    log.Fatal(err)\n}\n","go",[188,1178,1179,1184,1189,1194],{"__ignoreMap":297},[301,1180,1181],{"class":303,"line":304},[301,1182,1183],{},"res, err := engine.DetectText().RGB(pixels, width, height, stride).AsLines().Run()\n",[301,1185,1186],{"class":303,"line":322},[301,1187,1188],{},"if err != nil {\n",[301,1190,1191],{"class":303,"line":329},[301,1192,1193],{},"    log.Fatal(err)\n",[301,1195,1196],{"class":303,"line":336},[301,1197,643],{},[283,1199,1201,1202,290],{"id":1200},"java-jvm-packagesjava","Java & JVM (",[188,1203,1204],{},"packages\u002Fjava",[292,1206,1210],{"className":1207,"code":1208,"language":1209,"meta":297,"style":297},"language-java shiki shiki-themes material-theme-lighter github-light github-dark monokai","RustO.DetectTextResult res = engine.detectText().rgb(pixelBytes, width, height, stride).asLines().run();\n","java",[188,1211,1212],{"__ignoreMap":297},[301,1213,1214,1218,1220,1223,1226,1228,1230,1232,1234,1237,1239,1241,1244,1246,1248,1250,1252,1254,1256,1259,1261,1263,1265],{"class":303,"line":304},[301,1215,1217],{"class":1216},"syw9h","RustO",[301,1219,281],{"class":357},[301,1221,1222],{"class":1216},"DetectTextResult",[301,1224,1225],{"class":339}," res ",[301,1227,350],{"class":343},[301,1229,1103],{"class":339},[301,1231,281],{"class":357},[301,1233,1108],{"class":390},[301,1235,1236],{"class":357},"().",[301,1238,1115],{"class":390},[301,1240,559],{"class":357},[301,1242,1243],{"class":339},"pixelBytes",[301,1245,585],{"class":357},[301,1247,1009],{"class":339},[301,1249,585],{"class":357},[301,1251,1014],{"class":339},[301,1253,585],{"class":357},[301,1255,1019],{"class":339},[301,1257,1258],{"class":357},").",[301,1260,1136],{"class":390},[301,1262,1236],{"class":357},[301,1264,1053],{"class":390},[301,1266,1267],{"class":357},"();\n",[283,1269,1271,1272,290],{"id":1270},"net-packagesdotnet",".NET (",[188,1273,1274],{},"packages\u002Fdotnet",[292,1276,1280],{"className":1277,"code":1278,"language":1279,"meta":297,"style":297},"language-csharp shiki shiki-themes material-theme-lighter github-light github-dark monokai","var result = ocr.DetectText().Rgb(pixelBytes, width, height, stride).AsLines().Run();\n","csharp",[188,1281,1282],{"__ignoreMap":297},[301,1283,1284,1288,1292,1294,1297,1299,1302,1304,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1328,1330,1333],{"class":303,"line":304},[301,1285,1287],{"class":1286},"sQHqT","var",[301,1289,1291],{"class":1290},"sQqfL"," result",[301,1293,1100],{"class":343},[301,1295,1296],{"class":339}," ocr",[301,1298,281],{"class":357},[301,1300,1301],{"class":390},"DetectText",[301,1303,1236],{"class":357},[301,1305,1306],{"class":390},"Rgb",[301,1308,559],{"class":357},[301,1310,1243],{"class":339},[301,1312,585],{"class":357},[301,1314,1009],{"class":339},[301,1316,585],{"class":357},[301,1318,1014],{"class":339},[301,1320,585],{"class":357},[301,1322,1019],{"class":339},[301,1324,1258],{"class":357},[301,1326,1327],{"class":390},"AsLines",[301,1329,1236],{"class":357},[301,1331,1332],{"class":390},"Run",[301,1334,1267],{"class":357},[283,1336,1338,1339,191,1342,290],{"id":1337},"flutter-dart-packagesflutter-packagesdart","Flutter & Dart (",[188,1340,1341],{},"packages\u002Fflutter",[188,1343,1344],{},"packages\u002Fdart",[292,1346,1350],{"className":1347,"code":1348,"language":1349,"meta":297,"style":297},"language-dart shiki shiki-themes material-theme-lighter github-light github-dark monokai","final result = engine.detectText().rgb(pixelBytes, width, height, stride).asLines().run();\n","dart",[188,1351,1352],{"__ignoreMap":297},[301,1353,1354],{"class":303,"line":304},[301,1355,1348],{},[1357,1358,1359],"style",{},"html pre.shiki code .sRxSC, html code.shiki .sRxSC{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit;--shiki-sepia:#F92672;--shiki-sepia-font-style:inherit}html pre.shiki code .siCPE, html code.shiki .siCPE{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#E6DB74}html pre.shiki code .sLACW, html code.shiki .sLACW{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#E6DB74}html pre.shiki code .ss7Ak, html code.shiki .ss7Ak{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit;--shiki-sepia:#88846F;--shiki-sepia-font-style:inherit}html pre.shiki code .ss--_, html code.shiki .ss--_{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .sGXK2, html code.shiki .sGXK2{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583;--shiki-sepia:#F92672}html pre.shiki code .sMTiH, html code.shiki .sMTiH{--shiki-light:#39ADB5;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}html pre.shiki code .swvn1, html code.shiki .swvn1{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .srJo8, html code.shiki .srJo8{--shiki-light:#9C3EDA;--shiki-light-font-style:inherit;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .sYThS, html code.shiki .sYThS{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}html pre.shiki code .sD0ED, html code.shiki .sD0ED{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#A6E22E}html pre.shiki code .sQgqH, html code.shiki .sQgqH{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#E36209;--shiki-default-font-style:inherit;--shiki-dark:#FFAB70;--shiki-dark-font-style:inherit;--shiki-sepia:#FD971F;--shiki-sepia-font-style:italic}html pre.shiki code .squCx, html code.shiki .squCx{--shiki-light:#E53935;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .sYoWi, html code.shiki .sYoWi{--shiki-light:#E53935;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}html pre.shiki code .sQeA1, html code.shiki .sQeA1{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}html pre.shiki code .s94S9, html code.shiki .s94S9{--shiki-light:#90A4AE;--shiki-default:#E36209;--shiki-dark:#FFAB70;--shiki-sepia:#F8F8F2}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html.sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html pre.shiki code .shWJe, html code.shiki .shWJe{--shiki-light:#F76D47;--shiki-default:#D73A49;--shiki-dark:#F97583;--shiki-sepia:#F92672}html pre.shiki code .sKvfc, html code.shiki .sKvfc{--shiki-light:#E2931D;--shiki-light-text-decoration:inherit;--shiki-default:#6F42C1;--shiki-default-text-decoration:inherit;--shiki-dark:#B392F0;--shiki-dark-text-decoration:inherit;--shiki-sepia:#A6E22E;--shiki-sepia-text-decoration:underline}html pre.shiki code .sTNss, html code.shiki .sTNss{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583;--shiki-sepia:#F92672}html pre.shiki code .s91G_, html code.shiki .s91G_{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#F8F8F2}html pre.shiki code .syw9h, html code.shiki .syw9h{--shiki-light:#9C3EDA;--shiki-light-font-style:inherit;--shiki-default:#24292E;--shiki-default-font-style:inherit;--shiki-dark:#E1E4E8;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .sQHqT, html code.shiki .sQHqT{--shiki-light:#E2931D;--shiki-light-font-style:inherit;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .sQqfL, html code.shiki .sQqfL{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#F8F8F2}",{"title":297,"searchDepth":322,"depth":322,"links":1361},[1362,1363,1370,1371],{"id":206,"depth":322,"text":207},{"id":265,"depth":322,"text":266,"children":1364},[1365,1367,1369],{"id":285,"depth":329,"text":1366},"Structured Output (rocr_detect_text_rgb)",{"id":646,"depth":329,"text":1368},"Spatial Output (rocr_detect_text_rgb_spatial)",{"id":800,"depth":329,"text":801},{"id":888,"depth":322,"text":889},{"id":1063,"depth":322,"text":1064,"children":1372},[1373,1375,1377,1379,1381,1383],{"id":1078,"depth":329,"text":1374},"Node.js (packages\u002Fnode)",{"id":1149,"depth":329,"text":1376},"Python (packages\u002Fpython)",{"id":1167,"depth":329,"text":1378},"Go (packages\u002Fgo)",{"id":1200,"depth":329,"text":1380},"Java & JVM (packages\u002Fjava)",{"id":1270,"depth":329,"text":1382},".NET (packages\u002Fdotnet)",{"id":1337,"depth":329,"text":1384},"Flutter & Dart (packages\u002Fflutter, packages\u002Fdart)","High-performance OCR directly from uncompressed, decoded interleaved RGB8 pixel buffers in Rust, C FFI, and language bindings.","md",null,{},{"icon":138},{"title":1391,"description":1385},"Use Decoded RGB Input - RustO!","uIPa3A2RWhT0SLIgYF6-xGRp9biR0c1TCSKIhh3s4FM",[1394,1396],{"title":130,"path":131,"stem":132,"description":1395,"icon":133,"children":-1},"Comprehensive guide for multi-column documents, neural reading order recovery, 3D geometric page unwarping (UVDoc), whole-page orientation, and line-level CLS classifiers.",{"title":140,"path":141,"stem":142,"description":1397,"icon":143,"children":-1},"Empirical benchmark evaluation of RustO! across OmniDocBench, high-resolution document scans, and native inference engines.",1794089080858]