作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 Emgu.CV Tesseract 有疑问。我正在使用提供的代码处理 OCR。
_ocr = new Tesseract();
_ocr.SetVariable("tessedit_char_whitelist", "ABCDEFGHIJKLMNOPQRSTUVWXYZ-1234567890");
_ocr.Init(@"./tessdata", "eng", OcrEngineMode.TesseractLstmCombined);
using (imgOCR = new Image<Bgr, byte>(panelStream.Image.Bitmap))
{
using (_ocr)
{
var ocr = _ocr.Recognize();
var characters = _ocr.GetCharacters();
foreach (Tesseract.Character c in characters)
{
CvInvoke.Rectangle(imgOCR, c.Region, new MCvScalar(255, 0, 0));
}
//String messageOcr = _ocr.GetText().TrimEnd('\n', '\r'); // remove end of line from ocr-ed text
}
}
收到以下异常消息:
System.AccessViolationException HResult=0x80004003
Message=Attempted to read or write protected memory. This is often an
indication that other memory is corrupt. Source=<Cannot evaluate the
exception source> StackTrace: <Cannot evaluate the exception stack
trace>
堆栈跟踪:
at Emgu.CV.OCR.OcrInvoke.TessBaseAPIExtractResult(IntPtr ocr, IntPtr charSeq, IntPtr resultSeq)
at Emgu.CV.OCR.Tesseract.GetCharacters()
at scenarioA.Form1.ocReader() in E:\\Semester1\\Image Processing\\Assig2\\scenarioA\\scenarioA\\Form1.cs:line >177
at scenarioA.Form1.ProcessFrame(Object sender, EventArgs e) in E:\\Semester1\\Image Processing\\Assig2\\scenarioA\\scenarioA\\Form1.cs:line 84
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 >reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at >System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form >mainForm)
at scenarioA.Program.Main() in E:\\Semester1\\Image Processing\\Assig2\\scenarioA\\scenarioA\\Program.cs:line 19
最佳答案
您可以尝试传递位图数据的副本,而不是直接传递位图。
imgOCR = new Image<Bgr, byte>(panelStream.Image.Bitmap).Copy();
关于c# - 我应该如何修复 Tesseract .GetCharacters() throws protected memory 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54289562/
我在错误消息中收到了以上内容。 [NSNull getCharacters:]: 我在文档中找不到它。谁能给我解释一下这是什么意思? 非常感谢。 编辑:这与链接到的关于 NSNull getChara
我在 javafx 2.0 中处理 KeyEvent 时遇到以下问题。 start方法中的这段代码: scene.addEventHandler(KeyEvent.ANY, e -> System.o
根据 API 29 中的文档,KeyEvent.getCharacters()已弃用,但我找不到相同的替代方法。 根据文档,它说 "@deprecated no longer used by the
我对 Emgu.CV Tesseract 有疑问。我正在使用提供的代码处理 OCR。 _ocr = new Tesseract(); _ocr.SetVariable("tessedit_char_w
我是一名优秀的程序员,十分优秀!