透视变换 + 裁剪
cn.smartjavaai.ocr.exception.OcrException: OCR检测错误
at cn.smartjavaai.ocr.model.common.recognize.OcrCommonRecModelImpl.batchRecognizeDJLImage(OcrCommonRecModelImpl.java:458)
at cn.smartjavaai.ocr.model.common.recognize.OcrCommonRecModelImpl.recognize(OcrCommonRecModelImpl.java:128)
at com.ljd.ai.service.OcrModelProvider.recognize(OcrModelProvider.java:81)
at com.ljd.ai.service.impl.OcrRecognizeImpl.recognizeAndSave(OcrRecognizeImpl.java:49)
at com.ljd.task.AsyncTaskConsumer.lambda$consumeOcrTask$1(AsyncTaskConsumer.java:134)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: org.opencv.core.CvException: cv::Exception: OpenCV(4.9.0) /home/runner/work/opencv/opencv/opencv-4.9.0/modules/core/src/matrix.cpp:808: error: (-215:Assertion failed) 0 <= roi.x && 0 <= roi.width && roi.x + roi.width <= m.cols && 0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= m.rows in function 'Mat'
at org.opencv.core.Mat.n_submat(Native Method)
at org.opencv.core.Mat.submat(Mat.java:697)
at cn.smartjavaai.common.utils.OpenCVUtils.getSubImage(OpenCVUtils.java:730)
at cn.smartjavaai.ocr.utils.OcrUtils.transformAndCropToMat(OcrUtils.java:210)
at cn.smartjavaai.ocr.utils.OcrUtils.transformAndCrop(OcrUtils.java:176)
at cn.smartjavaai.ocr.model.common.recognize.OcrCommonRecModelImpl.batchAlign(OcrCommonRecModelImpl.java:153)
at cn.smartjavaai.ocr.model.common.recognize.OcrCommonRecModelImpl.batchRecognizeDJLImage(OcrCommonRecModelImpl.java:439)
... 5 common frames omitted
cvMat仍然与原图一样大,如果计算出的 img_crop_width 大于原图宽度,submat 就会越界。
希望可以解决优化
透视变换 + 裁剪
cn.smartjavaai.ocr.exception.OcrException: OCR检测错误
at cn.smartjavaai.ocr.model.common.recognize.OcrCommonRecModelImpl.batchRecognizeDJLImage(OcrCommonRecModelImpl.java:458)
at cn.smartjavaai.ocr.model.common.recognize.OcrCommonRecModelImpl.recognize(OcrCommonRecModelImpl.java:128)
at com.ljd.ai.service.OcrModelProvider.recognize(OcrModelProvider.java:81)
at com.ljd.ai.service.impl.OcrRecognizeImpl.recognizeAndSave(OcrRecognizeImpl.java:49)
at com.ljd.task.AsyncTaskConsumer.lambda$consumeOcrTask$1(AsyncTaskConsumer.java:134)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: org.opencv.core.CvException: cv::Exception: OpenCV(4.9.0) /home/runner/work/opencv/opencv/opencv-4.9.0/modules/core/src/matrix.cpp:808: error: (-215:Assertion failed) 0 <= roi.x && 0 <= roi.width && roi.x + roi.width <= m.cols && 0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= m.rows in function 'Mat'
cvMat仍然与原图一样大,如果计算出的 img_crop_width 大于原图宽度,submat 就会越界。
希望可以解决优化