Image rotation – which seems trivial – has big implications in computer vision industry. The quality and even more so the speed at which a vision library can perform various types of rotation is vital to some industries. For example the rate at which a scanner can churn pages impacts greatly on its sales. That’s why Scantron, a global leader in scanning, uses CUVI for their line of products to self-align scanned documents at an insanely fast rate.

Image rotation can be of two broad types: cropping and non-cropping. Most image editing software uses cropping-based rotation (along with zoom) for image straighten purposes. Industries and data sensitive application, on the other hand, use non-cropping rotation.

CUVI is a simple to use C++ SDK that provides accelerated image processing and computer vision algorithms. To run CUVI on your machine, you’ll need an entry level understanding of C++ and NVIDIA GPU in your system. CUVI requires no or very little knowledge of programming skills yet provides sophisticated computer vision features ranging from medical, security, camera and research domains. Use CUVI to start building complex vision applications today!

Recently we have release version 1.6.0 which is available for download for free (for personal use) with nearly one hundred features including image filtering, transforms, geometric, color operations and computer vision. For any help and assistance, drop us an email at contact[at] In this article, I’ll be talking about some of the most sought-after features of CUVI. But first let’s go through how easy it is to use.

Nvidia releases CUDA toolkit version 10.2 on November 20th, 2019 with a bit surprise – it drops macOS support. According to the release notes, 10.2 will be the last version of the toolkit to support mac operating system while the next release will remove the support. Release notes published here says:


Comparison performed using CUDA toolkit version 9.1 and CUVI release 1.55 on an underlying core i3-6100, GTX 1080 system and benched with NVIDIA Nsight.

CUVI and NPP both have been in market for almost a decade now. NVIDIA’s own performance primitive library (NPP), which started as a CUDA-alternative to IPP, now has hundreds of functions over its decade long releases. These functions provide a quick way to prototype applications on massively parallel GPUs without much of a learning curve. CUVI (CUda Vision and Imaging) SDK, on the other hand, with its limited functionality, provides the most cutting edge computer vision solutions and offers production quality verticals for various domains.

In this post, I will be comparing one of CUVI’s most popular feature; debayer with its counterpart in NPP. It’s fair to mention that NPP’s debayer offers only bi-linear approach: “Missing pixel colors are generated using bi-linear interpolation with chroma correlation of generated green values“. This is the most basic approach to regenerate a colored image from CFA and is prone to artifacts at high feature regions. For a much better regeneration, CUVI offers the newer, much improved DFPD approach to debayering.

Earlier we demonstrated CUVI’s new underwater filter that works like a magic in clarifying and restoring the colors of underwater imagery. Today, I’m going to reveal what it does to underwater videos – most of which are shot using GoPro. You’ll find link to each of the original video to better compare the effectiveness of the filter:

GoPro on Hammerhead Fin

Original Video Link

This page is a showcase of our new underwater filter that removes haze and brings out the real colors to your underwater photography. All the results are generated from ‘Auto’ setting of the filter. Although Auto mode works on most of the images like magic, the filter is heavily parameter-ized to fine tune the results.


Apart from removing haze, it also enhances the colors of haze-less images and is so addicve that you start using it on every underwater photo by default. Feel free to comment your thoughts below and contact us if you’re interested in purchasing this feature.

We, humans have poor visibility in darkness and have always fantasized to have technology that enables us to see better in low light. When it comes to natural vision, our eyes are weak and any color captured by camera in its lower intensity appears black to us and hence the complete image is unrecognizable.

Today we present a feature of CUVI that enhances the low intensity colors in a dark photo taken from a general purpose mobile, CCTV or DSLR camera.


It was just another day at work for Brent, scanning the floor of the ocean off the coast of Florida, whose company Queens Jewels LLC owns “salvaging rights” to 1715 fleet, a group of 11 Spanish ships which sank somewhere off the shore of Florida.

And then Brent stuck gold, literally. He has unearthed jewels from one of the sunken ships, gold coins to be precise, which are worth over 1 million dollars in value.

Undersea imagery is awesome. It shows us the parallel world of creatures, coral reefs and whatnot which covers about 75% of our planet Earth. There are a plethora of cameras which record and stream underwater videos and images, ranging from analog cameras which are still widely used in commercial diving to HD and even 2K cameras streaming digital undersea video. However, water is different in the way it scatters light and visibility as a diver or an ROV goes further down. The visibility and the colors we see in undersea imagery are very sensitive to the depth as well as the equipment used. Most cameras do not have any “undersea filter” which can clean up your awesome scuba dive or in the case of commercial diving, you may miss visual details of important underwater infrastructure you were trying to inspect.

We heard and we responded. One dominant request we got from our users was to be able to quickly test out the library without setting it up first, since sometimes, they ran into issues due to machine incompatibility. Today, we announce the release of a live CUVI demo page where you can quickly try out most common functions of CUVI GPU Imaging SDK without downloading or installing anything.

This saves you hours you would have otherwise spent on installing and configuring CUVI to try out simple functions from our Color Operations module, for example.

The demo runs on a beefy virtual server on the Cloud with NVIDIA Grid K520 which is a pretty decent card to test performance of different CUVI functions. What you should note though, is that the performance on your own machine with a similar capability NVIDIA CUDA enabled card would be a bit more, since the demo runs on virtualized hardware, not dedicated bare metal silicon.