Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

Ipp Visulization Task

Mspiz
New Contributor I
350 Views

Hi all,

My goal is to use ipplib on Mac OS X Sierra .

In parallel Studio 2018 there are different sample but I not understand the better pipeline for the visualization task.

  • First I tried ipp_blur_rotate_sample that come with application Cocoa for visualization. It work on command line but I have some problem to load project in Xcode .
  • After I tried ipp_resize_mt and ipp_thread  that work in a shell and Xcode Environment. In this example there is the source that let me think at. visualization task, but not work. This is the code:

       // Rendering

            if(!bNoWindow)

            {

                WindowDraw draw("Intel(R) IPP Resize example", WF_FIT_TO_IMAGE);

                if(draw.IsInitialized())

                {

                    printf("\nPress Space to cycle through stages:\n");

                    printf("1 - result image\n");

                    printf("2 - original image\n");

                    printf("\nClose window to exit.\n");

     

                    int  iIndex  = 0;

                    bool bRedraw = true;

                    while(!draw.IsClosed())

                    {

                        vm_time_sleep(10);

                        if(draw.CheckKey() == KK_SPACE)

                        {

                            iIndex = (iIndex+1)%2;

                            bRedraw = true;

                        }

                        if(draw.IsInvalidated())

                            bRedraw = true;

     

                        if(bRedraw)

                        {

                            if(iIndex == 0)

                                draw.DrawImage(&dstData);

                            else if(iIndex == 1)

                                draw.DrawImage(&srcData);

                            bRedraw = false;

                        }

                    }

                }    But I have no visualization or windows open or Error also if I force the if-condition at top.

I'm glad to understand what is the right way for the visualization of the result of some ipp operation on the image.

Thanks in advanced.

0 Kudos
5 Replies
Zhen_Z_Intel
Employee
350 Views

Hi carmine,

The functions for displaying image is defined in common folder, we uses OpenGL to read and write 2D graphics. The WindowDraw class is defined in base_renderer.h and implemented in base_renderer.cpp. You could replace to use other graphics support framework to draw img, actually Intel IPP only work for image processing, but no any support for image I/O. I am not very familiar with OpenGL drawing on cocoa view, you probably could follow some tutorial to work:

 OpenGL Programming Guide for Mac

Best regards,
Fiona

0 Kudos
Mspiz
New Contributor I
350 Views

Hi Fiona,

Thanks for reply.

I'll follow some tutorial for creating cocoa visualization app.

At this point I think the best starting point for visualization is ipp_blur_rotate_sample.

I'll keep you informed on this post. 

 

Best regards,

Carmine

 

 

 

 

 

0 Kudos
Mspiz
New Contributor I
350 Views

Could be better solution integrate IPP Library with OpenCV Library and use his window  manager ?

 

0 Kudos
Zhen_Z_Intel
Employee
350 Views

Hi Carmine,

You could use this sort of open source library which supports image I/O module and can be optimized with Intel IPP. There are two ways to use OpenCV with IPP, one is with special subset of Intel IPP functions for image processing and computer version which is known as IPP-ICV, the other way is with standalone Intel IPP library that should be installed separately. 

You probably could follow this article for OCV3:
Enabling IPP on OpenCV

Best regards,
Fiona

0 Kudos
Mspiz
New Contributor I
350 Views

 

Cool..Thanks for sharing!

I think this is more linear solution for use intel c++ compiler and parallel studio tools. 

However, if I had used opengl with cocoa I would have to handle the rendering pipeline on the GPU. In this case, it would not be possible to use Advisor or Vtune Amplifier to identify application bottlenecks as they do not address a Gpu pipeline survey but a memory and CPU survey.

Is the previous sentence correct ?

0 Kudos
Reply