我的工作产生并读取形式的文档处理应用程序。附着在样品形式的印刷文件中产生,由人填写,扫描并反馈到应用以检测填充值,包括光学标记(气泡),文本(OCR)等点击此处查看表格样本。
I am working on a document processing application that generates and reads forms. The sample form attached is generated as a printed document, filled out by people, scanned and fed back to the application to detect filled values including Optical Marks (Bubbles), Text (OCR), etc. Click here for Sample Form.
由于扫描扭曲而言图像旋转,缩放和平移的,我用三个标记检测方向和在是计算和存储非常昂贵的一个相当原始的方式调整影像。下面是它的要点:
Since scanning distorts the image in terms of rotation, scale and translation, I use the three markers to detect orientation and correct the image in a rather primitive way that is VERY expensive on computation and memory. Here is the gist of it:
是处理一个非常准确的,但低效的方式,我希望利用几何的方法来提取斑点以上只有一次,过滤掉标记/气泡和使用简单的数学计算出相对于标记的气泡期望职位。这应该由60%减少加工时间80%和内存使用情况。
The above being an extremely accurate but inefficient way to process, I am looking to take a geometric approach to extracting blobs only ONCE, filtering out markers/bubbles and using simple math to figure out expected positions of bubbles relative to the markers. This should cut down the processing time by 80% and memory usage by 60%.
另外,必须有适用单个图像上的所有三个转变没有办法1影响下。这也将减少斑点检测三次的需求。
Alternately, there HAS to be a way to apply all three transformations on a single image without one affecting the next. That would also reduce the need for blob detection thrice.
推荐答案我的图像模型,并且在内存模式转换而不是实际的图像。然后,一旦你已经计算出的变换矩阵可以将其应用到实际的图像做OCR。
I would model the image and do the transformations on that model in memory instead of the actual image. Then once you have calculated the transformation matrix you can apply it to the actual image to do the OCR.
更多推荐
在C#图像变换
发布评论