Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@stdmx/opencv4nodejs-prebuilt-install

Package Overview
Dependencies
Maintainers
0
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@stdmx/opencv4nodejs-prebuilt-install

Asynchronous OpenCV 4.x nodejs bindings with JavaScript and TypeScript API.

  • 4.1.218
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
0
Created
Source

opencv4nodejs-prebuilt-install

Tested Released Supported node versions Supported electron versions

Simple installation Opencv versions for node with pre-compiled bindings

Cross-platform!

Supports
  • Windows, Linux , MacOS
  • node 16,17,18,19,20,21,22
  • electron 8,9,10,11,12,13,14,15,16,17,18,19,22,23,24,25
  • currently arh x64 (possible M1, arm64 and others if were available hosts with the type of processes)

How to install

npm i opencv4nodejs-prebuilt-install

check supporting platforms and processes!

  • prebuilt in node_modules/opencv4nodejs-prebuilt-install/build

Quick Start with prebuild

const cv = require('opencv4nodejs-prebuilt-install');

With TypeScript

import * as cv from 'opencv4nodejs-prebuilt-install'

Local compiling

Set your own properties inside of package.json for opencv4nodejs up to 4.6.0 depends on necessary versions and flags

  "opencv4nodejs": {
    "autoBuildWithoutContrib": 1,
    "autoBuildOpencvVersion": "4.1.2",
    "autoBuildFlags": "-DBUILD_opencv_world=1 -DBUILD_LIST=core,highgui,videoio -DOPENCV_FORCE_3RDPARTY_BUILD=ON -DBUILD_PNG=ON -DBUILD_TIFF=ON -DBUILD_JASPER=ON -DBUILD_JPEG=ON -DBUILD_ZLIB=ON -DBUILD_OPENEXR=ON -DWITH_FFMPEG=OFF -DWITH_GSTREAMER=ON -DBUILD_USE_SYMLINKS=OFF -DWITH_VTK=OFF",
    "disableAutoBuild": 1
  },
  • Then for building opencv for current processor
npm run create_opencvlib

Result in folder osOpencvWorlds/*/*.tar

  • and then for building opencv for current node with have been prepared files for processor
npm run create_opencvnode_prebuild

Result in folder opencv/build/bin for windows or in opencv/build/lib for linux and darwin

Add bindings to native methods of opencv

Create fork of the repo and add necessary changes then create poll request to the repo and i will recreate libs

For example i was able to add method invert recently

  • added to core.cc
Nan::SetMethod(target, "invert", Invert);
Nan::SetMethod(target, "invertAsync", InvertAsync);

NAN_METHOD(Core::Invert) {
 FF::syncBinding<CoreBindings::Invert>("Core", "Invert", info);
}

NAN_METHOD(Core::InvertAsync) {
 FF::asyncBinding<CoreBindings::Invert>("Core", "Invert", info);
}
  • added to core.h
 static NAN_METHOD(Invert);
 static NAN_METHOD(InvertAsync);
  • added to coreBinding.h
 class Invert : public CvClassMethodBinding<Mat> {
 public:
  void createBinding(std::shared_ptr<FF::Value<cv::Mat>> self) {
         auto flags = opt<FF::IntConverter>("flags", 0);
   auto dst = ret<Mat::Converter>("dst");

   executeBinding = [=]() {
    cv::invert(self->ref(), dst->ref(), flags->ref());
   };
  };
 };
  • added to cv.d.ts
export function invert(mat: Mat, flags?: number): Mat;
export function invertAsync(mat: Mat, flags?: number): Promise<Mat>;

Keywords

FAQs

Package last updated on 11 Nov 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc