Entire Forum This board This topic Members Entire Site
 Welcome, Guest. Please login or register.Did you miss your activation email? August 12, 2022, 12:26:27 12:26 1 Hour 1 Day 1 Week 1 Month Forever Login with username, password and session length
 Pages: [1]
 Author Topic: Recoding openCV C++ project in pure verilog  (Read 2071 times) 0 Members and 1 Guest are viewing this topic.
promach
Junior Member

Offline

Posts: 44

Thank You
-Given: 14
-Receive: 0

 « on: May 13, 2016, 06:30:51 18:30 »

I have a 3 month project to work with by hand-recoding openCV C++ project into pure RTL for FPGA usage.

I have a Xilinx Zynq FPGA and I have Vivado.

The code I am using are at https://github.com/Itseez/opencv/blob/master/modules/features2d/src/orb.cpp , https://github.com/Itseez/opencv/blob/master/modules/features2d/src/feature2d.cpp , and http://pastebin.com/N69WE89j  The full eclipse C++ project can be found in the attachment as well.

Anyone can advise on how to start working on this ? I have been told to scrutinise the code for any maths operations which I am doing now and I need to use the AXI interface and logicore IP for this, right ?

Thanks !
 Logged
promach
Junior Member

Offline

Posts: 44

Thank You
-Given: 14
-Receive: 0

 « Reply #1 on: May 14, 2016, 11:53:01 11:53 »

So, the focus here is to implement floating-point maths operation in FPGA ? Anyone can recommend good references for this ?

I searched online and found that equation (1) can be transformed into (2). But how ?

Pixel_ C = (int)(Pixel_A * alpha + Pixel_B * ( 1-alpha ));                ---> (1)
Pixel_ C = (Pixel_A * alpha + Pixel_B * ( 32-alpha ) + 16)>>5;     ---> (2)
 Logged
hate
Hero Member

Offline

Posts: 555

Thank You
-Given: 156
-Receive: 355

 « Reply #2 on: May 28, 2016, 01:41:18 01:41 »

I believe translating OpenCV code into RTL directly won't be any efficient. You need to implement your algorithms suitable to and taking advantage of an FPGA architecture. But maybe you need to do this for study purposes?

I searched online and found that equation (1) can be transformed into (2). But how ?

Pixel_ C = (int)(Pixel_A * alpha + Pixel_B * ( 1-alpha ));                ---> (1)
Pixel_ C = (Pixel_A * alpha + Pixel_B * ( 32-alpha ) + 16)>>5;     ---> (2)
This may be related to how OpenCV stores alpha data.
 Logged

Regards...
 Pages: [1]
Jump to:

 DISCLAIMERWE DONT HOST ANY ILLEGAL FILES ON THE SERVERUSE CONTACT US TO REPORT ILLEGAL FILESADMINISTRATORS CANNOT BE HELD RESPONSIBLE FOR USERS POSTS AND LINKS... Copyright © 2003-2999 Sonsivri.to ... | HarzeM Dilber MC