Modern JavaScript is fast, fast enough to do real time image processing. JSFeat is a JavaScript library that implements some advanced image processing and the demos prove it does it in real time.
JSFeat is an open source library (MIT License) that you can download and use in almost any browser. If you want to try out the demos however, you will need a machine equipped with a web cam and a browser that supports WebRTC. At the moment this limits the demos to the latest version of Chrome running on the desktop. Chrome for Android, Firefox and IE don't yet support enough of the WebRTC API. However, you can use the JavaScript routines within almost any modern browser but you will have to find an alternative way to get images to process. If you don't use Chrome it is worth downloading a copy to see the demos in action - they are very convincing.
What is even more impressive is that JSFeat doesn't just implement the simple image processing you find in other libraries - it also does some cutting-edge object tracking and detection.
The basic operations that have demos are:
- Basic image processing methods (grayscale, derivatives, box-blur, resample, etc.)
- grayscale
- box blur
- gaussian blur
- equalize histogram
The more advanced operations are:
- canny edges
- Fast Corners feature detector
- Lucas-Kanade optical flow
- HAAR object detector
- BBF object detector
The all of these work in realtime from a web cam.
The Lucas-Kanade optical flow method is a very basic form of object tracker and in this demonstration it works well. All you have to do is click on a point that defines an area you would like to track and the point stays put as the image moves. Occasionally the image movement is too great and the point will lose the track. This is the basis of more advanced object trackers such as Predetor. All of the others are worth trying out, but the two object detectors customized as face detectors are particularly impressive.
Canny Edge Detection
Another really good thing about JSFeat is that its documentation is very good - way better than anything you would normally find in an open source project. It is all the work of one programmer, Eugene Zatepyakin, aka inspirit.
What does this mean for the future of what can be done in the browser?
As long as the other browsers catch up with Chrome and implement WebRTC fully, we should be able to have some interesting AI image processing applications live and without the need to offload the processing to a server. The JSFeat implementations would make a good starting point for a lot of interesting and adventurous web apps.
Alien FaceHugger v Predator - Face Tracking Hots Up
Free Library Converts 2D Image to 3D
Militarizing Your Backyard with Python and AI
Comments
or email your comment to: comments@i-programmer.info
To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin, or sign up for our weekly newsletter.
Visual Studio Adds Planning Mode To Copilot
11/11/2025
Microsoft has added an AI-powered planning mode to Visual Studio as part of GitHub Copilot's Agent mode. The feature is available in public preview as part of Visual Studio 2022 version 17.14.
Google AI Studio Does Angular
27/10/2025
Google's AI Studio can now generate Angular applications. Add the Web Codegen Scorer tool on top and you get a pretty solid Angular development platform.
- Anthropic's Prompt Engineering Tutorial
- Memgraph Adds AI Graph Toolkit
- GitHub Copilot CLI And Spaces In Preview
- OpenCode - The Claude Code Alternative
- Julia 1.12 Adds Trim Feature
- Windows XP Crocs Now On Sale
- Google Tunix Hack Hackathon Now Open
- AI Improves Devs Skills, Enhances Their Roles
- InfluxDB 3.6 Released With AI Capabilities
- PyTorch Team Introduces Cluster Programming
- Eclipse Foundation Adds Agentic Functionality To Eclipse LMOS
- Cursor 2 Enables Multi-Agent Working
- Linkerd Adds MCP Support