C++ with OpenCV to 3D track with 2 cameras - C++ OpenCV image processing
Personal application Job description: I'm a mechanical engineer who wants to track and gather data about the 3D path of baseball hits on my son's little league team. For every hit I want to determine the ball's realworld 3D location for each frame that the ball's still in view of both cameras. I'll be able to mount two cameras at the field for each game and will have time to calibrate them before the teams warm up on the field. WHAT I'VE DONE 1. I've purchased two webcams. They're very cheap () and are just to verify I can write code to do this before I buy better cameras. 2. I've written a C++ program using OpenCV2.3.1 on my Win7 PC, BaseballTracker, that can do some calibrations and can locate objects in 2D on each camera. I'm unable to get the program to do its most important job: identitying the 3D location of an object both cameras can see. In the list below 1-3 are functions that work (I believe) and item 4, identifying an object's 3D location, doesn't work. The deliverable is rewriting 4 or more from scratch or getting mine to work. FUNCTIONS in BaseballTracker in C++ using OpenCV: 1. CalibOneCam() {22 in the program} Intent: 2D calibrate a fixed camera with a fixed focal length Status: works (?) The undistorted image produced is not quite a rectangle. I'm not sure if this is a code problem or because I'm using such cheap webcams now. 2. CalibPair() {33 in the program} Intent: stereo calibrate two fixed and individually calibrated cameras that's FOV's overlap Status: works(?) The rms error is never less than 1.0. Just like CalibOneCam()'s error, I don't know if the cause is a code problem or cheap hardware 3. FindIPs() {44 in the program} Intent: Locate an object's 2D position in the image (IPs) from two cameras calibrated in stereo Status: works Assuming 1-3 are correct I can't do number 4. 4. CalcOP() {55 in the program} Intent: Calculate an object's 3D position knowing it's 2D locations in two stereo calibrated cameras Status: !!!!!!!!!!!!! DOESN'T WORK !!!!!!!!!!!!! Attempt: I've used initUndistortRectifyMap to create two maps for each camera but I'm not able to use those maps to adjust the 2D positions of an object on each camera so they are rectified and undistorted. Failure: The program usually fails at an Assert in mat.hpp. This morning it failed at new.cpp then subsequent debugs failed at system.cpp, xstring, tidtable.c. A C++ program (adjustments to mine or from scratch) that can identify the 3D position of an object using free code, like OpenCV, is the deliverable. Type of application development required: New Application Integration requirements: Standalone Application Purpose or functionality of application: A C++ program (adjustments to mine or from scratch) that can dentify the 3D position of an object using free code, like OpenCV, is the deliverable. Platform(s) desired for application: Windows Graphical User Interface requirements: Not Sure Application to run over network: Yes Additional details: Network capabilities will be to put the data online so other parents can access information about their son's hits Desired Skills: C++ OpenCV image processing Keywords: Software Application, OpenCV, processing, image, C++
| Expired |
Dareen El Bakri
Admin Support Specialist
View profile
Betty Favor
Blog & Content Writer
View profile
Ana Hartman
Creative Writer
View profile
Jeanette Hayden
Data Entry Specialist
View profile
More c\+\+ opencv image processing projects
View AllRelated projects
Search for freelance jobscan’t wait for more clients
and advertising. Thank you."