Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Angular service for implementing the OpenCV library in angular based applications
NgxOpenCV is a lightweight angular service for integrating OpenCV.js WASM in Angular 2+ applications.
OpenCV on WASM offers near-native performance in web-based applications;
The service loads the library in the angular zone, thus enabling better control over it's state.
Note that there are a few extra steps required to configure the component other than installing the package from npm.
View a live demo of an implementation of this library in another project - here
install the package via npm
npm install ngx-opencv --save
copy the opencv.js files to your assets folder (or any other folder). you can build the files yourself (instructions on the OpenCV site), or download them from this package's repository. both opencv.js & opencv_js.wasm need to placed in the same folder.
import the module to your app.module
. you'll need to configure the location of the open cv files.
import {OpenCVConfig} from 'ngx-document-scanner';
import {NgxOpencv} from 'ngx-opencv';
// set the location of the OpenCV files
const openCVConfig: OpenCVConfig = {
openCVDirPath: '/assets/opencv'
};
@NgModule({ imports: [
NgxOpenCVModule.forRoot(openCVConfig)
],
bootstrap: [AppComponent]
})
export class AppModule { }
You'll need to set 'cv' as a global variable, or on the component level:
declare var cv: any;
this is very important to avoid TypeScript errors.
Inject NgxOpenCVService to the constructor of your component / service etc. and subscribe to the cvState observable.
constructor(private ngxOpenCv: NgxOpenCVService) {
// subscribe to status of OpenCV module
this.ngxOpenCv.cvState.subscribe(
(cvState: OpenCVState) => {
// do something with the state string
this.cvState = cvState.state;
if (cvState.error) {
// handle errors
} else if (cvState.loading) {
// e.g. show loading indicator
} else if (cvState.ready) {
// do image processing stuff
}
});
}
Note that loading and parsing of the OpenCV library is done synchronously, and might take some time while blocking execution of other processes, depending on client's device. Therefore it's recommended to bind a loading indicator to the state observable.
The observable emits an OpenCVState
object when changes occur, with the following properties:
property | type | description |
---|---|---|
loading | boolean | true when loading of the opencv lib. is initiated, until it's completion callback is fires or the listener pick up an error |
error | boolean | true when an error is picked up by the listener |
ready | boolean | true when loading and parsing was copleted |
state | string | indicates the current state of the module as a string |
You can configure the service with the OpenCVConfig object
import {OpenCvConfig} from 'ngx-document-scanner';
property | type | description |
---|---|---|
openCVDirPath | string | path to the directory containing the OpenCV files, in the form of '/path/to/[opencv directory]' . directory must contain opencv.js & opencv_js.wasm . |
runOnOpenCVInit | Function | additional callback that will run when OpenCv has finished loading and parsing. callback runs in the angular zone in the context of the service. |
FAQs
Angular service for implementing the OpenCV library in angular based applications
We found that ngx-opencv demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.