// 使用 OpenCV.js 进行图像处理的示例代码
// 确保 OpenCV.js 已加载完成
function onOpenCvReady() {
console.log('OpenCV.js is ready');
// 创建一个 canvas 元素用于显示图像
const canvas = document.createElement('canvas');
canvas.width = 640;
canvas.height = 480;
document.body.appendChild(canvas);
const ctx = canvas.getContext('2d');
// 加载一张图片
const img = new Image();
img.src = 'path_to_your_image.jpg'; // 替换为你的图片路径
img.onload = () => {
// 将图片绘制到 canvas 上
ctx.drawImage(img, 0, 0);
// 将 canvas 内容转换为 OpenCV 的 Mat 对象
const mat = cv.imread(canvas);
// 转换为灰度图像
const grayMat = new cv.Mat();
cv.cvtColor(mat, grayMat, cv.COLOR_RGBA2GRAY);
// 应用高斯模糊
const blurredMat = new cv.Mat();
cv.GaussianBlur(grayMat, blurredMat, new cv.Size(7, 7), 0);
// 边缘检测 (Canny)
const edgesMat = new cv.Mat();
cv.Canny(blurredMat, edgesMat, 50, 150);
// 将结果绘制回 canvas
cv.imshow(canvas, edgesMat);
// 释放内存
mat.delete();
grayMat.delete();
blurredMat.delete();
edgesMat.delete();
};
}
// 检查 OpenCV.js 是否已加载
if (typeof cv !== 'undefined') {
onOpenCvReady();
} else {
document.addEventListener('load', onOpenCvReady);
}
onOpenCvReady
函数来处理后续逻辑。<canvas>
元素用于显示图像。<img>
标签加载一张图片,并在图片加载完成后进行处理。cv.imread
将 canvas 内容转换为 OpenCV 的 Mat
对象。Mat
对象以避免内存泄漏。请根据实际情况替换 path_to_your_image.jpg
为你自己的图片路径。
上一篇:js unicode转码
下一篇:js map循环遍历
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站