Posts by kevinh

    Dear Pier,

    Sorry for the late reply. You can see an example for the usage of the fft operator in the example under:

    Processing/Advanced/FastFourierTransform

    Sadly, the fft operator only performs a one dimensional fft as you mentioned before.

    If your customer wants to perform it first on the rows, and after this one the colums, my fastest shot would be to try to transpose the image in a second step.

    I will investigate this further and will come back when I new information for you.


    Regards

    Kevin

    Hi Bingan,

    You can find a description on what to adjust in the text-box in the design.

    Furthermore: If you downscale your subimage with the object you try to find, you may need to also downsample your input image so that the relationship between the object in the image, and in the subimage stays the same.

    Note that there are some more things to do then to just use the pixel value, however they are all documented in the text box in the design.

    Greetings,

    Kevin

    Hi Bingan,

    Sorry for the confusion. The error message comes from the upcoming Opreator "SelectComponent". This in the example because an RGB Camera was used.

    Since you already have a gray camera you should be able to simply delete the "SelectComponent" Operator and combine the 12x12 FIRkernelNxM Operator with the NCC H-Box

    Greetings

    kevin

    Hi Bingnan,

    You can use the Operator "SplitComponents" to divide the input image in its three componets (R,G,B) and then compute the filter on each one. To combine the results together again to one RGB Image use the operator "MergeComponents"

    Greetings

    Kevin

    Dear Bingnan,

    Thank you for your question.

    When using FIR kernel one has to be careful not to use too large Kernels, since this will increase the used FPGA ressources by a lot. Therefore, it is important to know how large your sub-image will be?

    If it is 12x12 Pixel (or somewhere in that region) you can convert your image file to a text file and load it in the FirOperator by clicking on Coefficents -> File.

    Inside the example directory you can find a NCC.m script that shows you how to convert a tif file into the apropriate textformat (basically writing one pixel per line)

    If your subimage is vastly larger than that more advanced techniques must be used, e.g. cutting the image in tiles by using the ImageBufferMultiROI or downscaling your subimage.

    Greetings,

    Kevin

    Hello,

    I have a design that needs to be tested with various input images. I found out that I can load various amount of images in a Simulation Source and then have the resutls per image when increasing the processing cycles in the Simulation.

    Now I want to save all images that were produces during the Simulation for further testing, however I could not find such functionality. Is it possible to achieve this without using some kind of tcl scripting?

    Thank you for your help

    Hello,

    Thank you both very much for your input.

    Two questions remain at the moment:

    1) If the image would be split up in tiles, and each branch should compute a different tile the input for the remove image can either be obtained by a LUT like now - or by a modulo count with the divisor set 5 followed by an Is_NotEqual, e.g.:

    pasted-from-clipboard.png


    What would be best practice?


    2) Can a speed up be achieved by splitting up an image into several ImageBufferMultiROIs?

    Best regards,

    Kevin

    Hello,

    I am trying to implement several (6) ImageBufferMultiRois into my Design.

    However, I am limited to 4 - since I cannot enter a higher Resource Index than 3 in the Device-Resource Tab.


    Is there any way to get 6 different ImageBufferMultiRoIs into my Design with my current Hardware ( microEnable 5 marathon VCLx ) ?

    A simplistic design is attached to showcase my issue

    Thank you for your help,

    Kevin

    Files

    Hello,

    I am fairly new to VA and was wondering how to work with floating constants that I need in my computation.

    A very simple task could be

    I1 = I0 + b


    where b could be a floating value between -1 and 1.

    I could not enter the floating number into the CONST operator, and neither could I find an appropiate operator for using float values.
    Thus, I thought about some implementation techniques, mainly quantizing the value before in an appopiate bitwidth to utilize fractional bits, then multiplying it, so I can use an integer in the CONST operator, and adapt my formula accordingly so it would look something like this:

    I1 = 128*I0 + 128*bquantized


    Since this is the the first thing which came into my mind I guess that there might be better ways to use point numbers.

    Of course this is just a very simple example, will the techniques differ when I have constant matrix filled with floats? or a LUT ?


    I am hoping to get some feedback and insights on how to work with floating numbers in VA this way and maybe help others facing the same problem.
    I was not able to find any appropiate entry here, if there is one please let me know :)

    Greetings,

    Kevin