How to create filter using openvx/opencv ?

Hello All,
I am a newbie in Jetson I am learning openvx and also opencv. In my project I want to create a filter called Savitzky Golay since it is not available in either of them. So , can anyone please help me in How to create a filter in any of these language ?

Hi,

Guess that Savitzky Golay is a custom-kernel filter. Please correct me if I’m wrong.

For custom-kernel, you can assign the filter value by your own. And then pass the custom-kernel with standard filtering API.
Here is a tutorial for your reference:
http://docs.opencv.org/2.4/doc/tutorials/imgproc/imgtrans/filter_2d/filter_2d.html

Thanks.

Yes, it is a custom filter but a polynomial filter

Hi,

You can assign the filter value first and then call the custom-kernel filtering API.
Please check the link mentioned in comment #2.

In the link you suggested is related to creating a kernel first, but savitzky filter doesn’t has kernel it works on polynomial

Hi,

We are not familiar with Savitzky Golay filter.
Guess that there is a discretized approximation for the polynomial filter.
So, please decide the polynomial filter coefficients first, and the call the custom kernel API.

Another WAR is to write a simple CUDA code for this.

Thanx Assta It works.

Hi aasta,
Since I have completed it in Opencv can you please tell me for Openvx too ? How to create kernels is openvx ?

Hi,

Please check custom convolution function.
Information can be found at VisionWorks document:
/usr/share/visionworks/docs

VisionWorks API
Khronos OpenVX 1.1 API
OpenVX API Modules
Vision Functions
Custom Convolution