牙叔教程 简单易懂javascript
在某个视频网站看到别的语言都有图片转字符, 那么autojs也应该有, 因此就作了这个教程java
Autojs版本: 9.0.4 Android版本: 8.0.0android
ui.layout(
<vertical> <text id="content" textSize="5sp" typeface="monospace"></text> </vertical>
);
复制代码
runtime.images.initOpenCvIfNeeded();
复制代码
importClass(org.opencv.core.CvType);
importClass(org.opencv.core.Scalar);
importClass(org.opencv.core.Point);
importClass(java.util.LinkedList);
importClass(org.opencv.imgproc.Imgproc);
importClass(org.opencv.imgcodecs.Imgcodecs);
importClass(org.opencv.core.Core);
importClass(org.opencv.core.Mat);
importClass(org.opencv.core.MatOfDMatch);
importClass(org.opencv.core.MatOfKeyPoint);
importClass(org.opencv.core.MatOfRect);
importClass(org.opencv.core.Size);
importClass(org.opencv.features2d.DescriptorMatcher);
importClass(org.opencv.features2d.Features2d);
importClass(android.graphics.Matrix);
importClass(org.opencv.android.Utils);
importClass(android.graphics.Bitmap);
importClass(org.opencv.videoio.VideoCapture);
importClass(org.opencv.videoio.Videoio);
复制代码
let filePath = "/sdcard/huaQiangMaiGua.mp4";
log(files.exists(filePath));
if (files.exists(filePath)) {
throw new Error("视频文件不存在, " + filePath);
}
复制代码
let cap = VideoCapture(filePath);
log(cap);
log(cap.isOpened());
复制代码
let frame = new Mat();
cap.read(frame);
let h = frame.rows();
let w = frame.cols();
log("w = " + w + ", h = " + h);
复制代码
let imgGray = frame.clone();
Imgproc.cvtColor(frame, imgGray, Imgproc.COLOR_BGR2GRAY);
复制代码
while (r) {
sleep(10);
Imgproc.cvtColor(frame, imgGray, Imgproc.COLOR_BGR2GRAY);
Imgproc.resize(imgGray, imgResize, size, 0, 0, Imgproc.INTER_AREA);
let content = mat2Str(imgResize, imgCharWidth, imgCharHeight);
ui.post(function () {
ui.content.setText(content);
});
r = cap.read(frame);
}
复制代码
events.on("exit", function () {
// 释放资源
cap.release();
frame.release();
imgGray.release();
imgResize.release();
imgAdaptiveThreshold.release();
});
复制代码
思路是最重要的, 其余的百度, bing, stackoverflow, 安卓文档, autojs文档, 最后才是群里问问 --- 牙叔教程markdown
部份内容来自网络 本教程仅用于学习, 禁止用于其余用途网络