把圖片轉爲hsv 獲得Mat中各個通道的均值, 提取亮度通道的平均值javascript
console.time("導入類");
runtime.images.initOpenCvIfNeeded();
importClass(org.opencv.core.MatOfByte);
importClass(org.opencv.core.Scalar);
importClass(org.opencv.core.Point);
importClass(org.opencv.core.CvType);
importClass(java.util.List);
importClass(java.util.ArrayList);
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.DescriptorExtractor);
importClass(org.opencv.features2d.DescriptorMatcher);
importClass(org.opencv.features2d.FeatureDetector);
importClass(org.opencv.features2d.Features2d);
importClass(org.opencv.core.MatOfPoint2f);
importClass(org.opencv.core.MatOfPoint);
importClass(org.opencv.android.Utils);
console.timeEnd("導入類");
// 第一種寫法, 參數爲文件路徑
function getBrightnessHsv(imgPath) {
let hsv = new Mat();
let src = Imgcodecs.imread(imgPath);
Imgproc.cvtColor(src, hsv, Imgproc.COLOR_RGB2HSV);
let avg = Core.mean(hsv);
hsv.release();
src.release();
let result = avg.val[2];
log("the average brightness(HSV) is " + result);
}
getBrightnessHsv();
// 第二種寫法, 參數爲autojs的圖片
function getBrightnessHsv(img) {
let bitmap = img.getBitmap();
let src = new Mat();
Utils.bitmapToMat(bitmap, src);
let hsv = new Mat();
Imgproc.cvtColor(src, hsv, Imgproc.COLOR_RGB2HSV);
let avg = Core.mean(hsv);
hsv.release();
src.release();
bitmap.recycle();
let result = avg.val[2];
log("the average brightness(HSV) is " + result);
}
getBrightnessHsv();
複製代碼
部份內容來自網絡 本教程僅用於學習, 禁止用於其餘用途java