Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

DMIP kernel

Kishor_D_
New Contributor I
683 Views
How can we use DMIP Kernels in functional level implementation? For example in functional level implementation of sobel operation we require kernel to get multiplied with the source image. When we are trying to link the kernel with the source image it is not happening since it is not a base node type. Is it the right way or we should implement only with the symbolic level implementation?
0 Kudos
3 Replies
Naveen_G_Intel
Employee
683 Views

Hi,

If you refer to article on Deferred Mode Image Processing Framework, it shows how to implement IPP based Sobel edge detector code and how top implement same using DMIP.

Also in the 2nd code snippet(added below), you can see how to add source image in to DMIP and link with kernel.

[bash]
1.	Image Src(pSrcImg, Ipp8u, IppC3); // Source image in DMIP format 
2.	Image Dst(pDstImg, Ipp8u, IppC1); // Destination image in DMIP format 
3.	 
4.	Kernel Kh(idmFilterSobelHoriz,ippMskSize3x3,ipp8u,ipp16s); // Dx operator 
5.	Kernel Kv(idmFilterSobelVert,ippMskSize3x3,ipp8u,ipp16s); // Dy operator 
6.	 
7.	Graph O = ToGray(Src); // To get detected as common expression. 
8.	 
9.	// Compile end execute task 
10.	Dst = To8u(Abs(O*Kh)+ Abs(O*Kv)); 
[/bash]


Regards,

Naveen Gv

0 Kudos
Kishor_D_
New Contributor I
683 Views
Naveen,
Above code is working fine.
We also implemented the same using DMIP functional level. We used FilterNode and initialized this node with Kernels.

// Define Horizantal and vertical Kernels
Kernel KH(idmFilterSobelHoriz);
Kernel KV(idmFilterSobelVert);

// Initialize Filter nodes with respective kernels
FilterNode *nd1=new FilterNode();
nd1->Init(&KH);
FilterNode *nd2=new FilterNode();
nd2->Init(&KV);

Regards,
Kishor.
0 Kudos
Naveen_G_Intel
Employee
683 Views

Thanks for sharing info.

Regards,

Naveen Gv

0 Kudos
Reply