|
|
@@ -2,6 +2,7 @@ package com.izouma.awesomeadmin.util;
|
|
|
|
|
|
import com.izouma.awesomeadmin.service.OSSFileService;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.bytedeco.javacpp.indexer.UByteArrayIndexer;
|
|
|
import org.bytedeco.javacpp.indexer.UByteRawIndexer;
|
|
|
import org.bytedeco.javacpp.tesseract;
|
|
|
import org.bytedeco.javacv.FFmpegFrameGrabber;
|
|
|
@@ -132,11 +133,14 @@ public class VideoProcessToolNew {
|
|
|
}
|
|
|
|
|
|
public String extractGameTime(Mat src) {
|
|
|
- imwrite("/tmp/time.jpg", src);
|
|
|
+ Mat out = new Mat();
|
|
|
+ bilateralFilter(src, out, 15, 15 * 2, 15 / 2f);
|
|
|
+
|
|
|
+ imwrite("/tmp/time.jpg", out);
|
|
|
String result = null;
|
|
|
int m = src.rows();
|
|
|
int n = src.cols();
|
|
|
- Mat roi = new Mat(src, new Range((int) (m * 0.5), (int) (m * 0.8)), new Range((int) (n * 0.5), n));
|
|
|
+ Mat roi = new Mat(out, new Range((int) (m * 0.5), (int) (m * 0.8)), new Range((int) (n * 0.5), n));
|
|
|
Mat filtered = timeFilter(roi);
|
|
|
imwrite("/tmp/time_filtered.jpg", filtered);
|
|
|
Mat gray = new Mat();
|
|
|
@@ -156,6 +160,8 @@ public class VideoProcessToolNew {
|
|
|
Rect rect = rects.get(i);
|
|
|
if (i < 5) {
|
|
|
Mat txtImg = new Mat(filtered, new Range(rect.y(), rect.y() + rect.height()), new Range(rect.x(), rect.x() + rect.width()));
|
|
|
+ resize(txtImg, txtImg, new Size(0, 0), 3, 3, INTER_LINEAR);
|
|
|
+
|
|
|
String str = doOCR(txtImg);
|
|
|
txtImg.release();
|
|
|
System.out.println(str);
|
|
|
@@ -204,7 +210,7 @@ public class VideoProcessToolNew {
|
|
|
}
|
|
|
|
|
|
public Mat timeFilter(Mat src) {
|
|
|
- return bgrFilter(src, 36, 183, 230);
|
|
|
+ return bgrFilter(src, 40, 183, 210);
|
|
|
}
|
|
|
|
|
|
private String doOCR(Mat img) {
|