今日需要把python上的一个图像处理方法迁移到JavaScript,由于用到了Opencv,因此了解了一下Opencv.js
如果不想自己编译,这里可以下载Opencv.js : https://docs.opencv.org/master/opencv.js ,要特定版本可以把master换成版本号,例如 https://docs.opencv.org/4.0.1/opencv.js
官网的opencv.js文档地址:https://docs.opencv.org/4.2.0/d5/d10/tutorial_js_root.html
其中api是按功能类别分的,查起来不是很方便,因此找到了编译opencv.js时./opencv/platforms/js/opencv_js.config.py,其中有opencv.js的api白名单:
# Classes and methods whitelist
core = {'': ['absdiff', 'add', 'addWeighted', 'bitwise_and', 'bitwise_not', 'bitwise_or', 'bitwise_xor', 'cartToPolar',\
'compare', 'convertScaleAbs', 'copyMakeBorder', 'countNonZero', 'determinant', 'dft', 'divide', 'eigen', \
'exp', 'flip', 'getOptimalDFTSize','gemm', 'hconcat', 'inRange', 'invert', 'kmeans', 'log', 'magnitude', \
'max', 'mean', 'meanStdDev', 'merge', 'min', 'minMaxLoc', 'mixChannels', 'multiply', 'norm', 'normalize', \
'perspectiveTransform', 'polarToCart', 'pow', 'randn', 'randu', 'reduce', 'repeat', 'rotate', 'setIdentity', 'setRNGSeed', \
'solve', 'solvePoly', 'split', 'sqrt', 'subtract', 'trace', 'transform', 'transpose', 'vconcat'],
'Algorithm': []}
imgproc = {'': ['Canny', 'GaussianBlur', 'Laplacian', 'HoughLines', 'HoughLinesP', 'HoughCircles', 'Scharr','Sobel', \
'adaptiveThreshold','approxPolyDP','arcLength','bilateralFilter','blur','boundingR