更新记录
1.0.3(2022-11-17) 下载此版本
兼容renderjs
1.0.2(2022-08-18) 下载此版本
编译只有图像处理模块的版本,解决wasm文件太大导致字节小程序无法上传的问题
1.0.1(2022-08-16) 下载此版本
适配字节小程序
查看更多平台兼容性
Vue2 | Vue3 |
---|---|
√ | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 3.1.0 app-vue | × | √ | × | × | 2.34.0 | × |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 |
---|---|---|---|
× | × | × | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
√ | √ | √ | √ | √ | √ | √ | √ | √ |
uniapp-opencv
介绍
基于opencv-ts对uni-app做了适配,目前支持H5、微信小程序、App,其中微信小程序适配参考了WeChat-MiniProgram-AR-WASM。
使用方法
import cv from '@/uni_modules/zj-opencv';
cv.then(async () => {
const src = await cv.imread('first');
const dst = new cv.Mat();
cv.cvtColor(src, dst, cv.COLOR_RGBA2GRAY, 0);
await cv.imshow('second', dst);
src.delete();
dst.delete();
});
具体可参考Demo
注意事项
- 由于uniapp中部分方法需要异步调用,原
imread
和imshow
方法改为了异步方法,返回的是Promise
对象,调用时需要在前面加await
或在then
里面执行后续操作。 imread
和imshow
方法暂时只支持传入canvas
的id
,注意不是canvas-id
。- Mat对象用完一定要调用
delete
方法,否则会造成OOM。 - 微信小程序中如果使用的不是2d的
canvas
,调试工具不支持canvasPutImageData
,需要在真机中预览。 - 在
Typescript
中使用时,如果引入的路径为绝对路径如@/uni_modules/zj-opencv
,需要修改tsconfig.json
文件。{ "compilerOptions": { ... "paths": { "@/*": [ "./src/*" ] } }, ... }
- 字节小程序在调试工具上运行会报错,需要在真机上预览
- 字节小程序不支持压缩过的wasm文件,由于上传的大小限制所以只编译了图像处理的模块