RoboRealm Machine Vision

Geschlossen Veröffentlicht Jun 28, 2007 Bezahlt bei Lieferung
Geschlossen Bezahlt bei Lieferung

RoboRealm is a machine vision desktop application focused on providing image processing capabilities for robotic projects. We are looking for two individuals that will help us create new modules for RoboRealm over the next couple of months on a per module basis. [url removed, login to view] These new modules will focus on some basic image processing capabilities and require significant GUI experience with Win32 dialogs. You will need to be comfortable with C/C++ coding, Win32 dialogs, custom GUI elements, and image processing fundamentals. Experience with program optimization and writing fast C/C++ routines is a plus. The first module under bid: Purpose: The need to know where the two largest edges are along a line on an image. The user should be provided with a GUI interface to move a line somewhere within a rectangular image area and specify the top X edges to detect above a certain threshold. Example: For example, the included image indicates a red line that the user specified and the largest two edges found along that line. Note that despite the line being horizontal in this example the user can move the line in any direction/orientation. Requirements: * You will be writing this as a RoboRealm Extension. This means you will be creating a dll file that is loaded during runtime by RoboRealm. You will have to download RoboRealm and modify the [url removed, login to view] file to include your new dll module. Download the Extensions source at [url removed, login to view] Included in that package in the DLL folder is an example source code module for the module SwapColor that shows how this dll can be created. Ignore the other folders that contain examples of extensions in other languages.

## Deliverables

That package contains all the source files for SwapColor that are used to compile that dll. On changing the source and recompiling, move the compiled dll to the RoboRealm folder and re-run RoboRealm. You will find that dll appears in the Extensions subtree (last item is SwapColor). * The initial GUI can specify a default line which the user can then move. It is not necessary for the user to actually "draw" the line as moving an existing line to the desired location is preferred. * The image within the GUI should show the current line selection. * The line endpoints should be draggable as in the Affine module to allow the line to be moved. * The line should have colored endpoints identified (as in the Affine module) with labels on the corresponding text boxes. * No external package should be used to implement this interface. This includes any GUI, line drawing or image processing package other than the utilities provided. The source code for an example line drawing routine is included and can be utilized to determine the path of analysis for the edge detection. * The GUI should include an image within the interface (see http://localhost/help/[url removed, login to view] for a similar interface). * The center of the line should be indicated by a square box (as is done with the endpoints). * Clicking on the center of the line (indicated by a small square) will move the entire line by translation (x,y mouse changes). * The GUI should include text boxes for the line coordinates (xstart, ystart, xend, yend) * The text boxes should be accompanied by scroll arrows that when pressed will increment and decrement the value as appropriate. * When the user updates any number or selection in the GUI the change should become immediately apparent. This is accomplished by issuing an UpdateData(TRUE) or an UpdateImage() on each GUI UI change. * When the user updates any number or selection the line on the GUI image should update. I.e. if the user types in a new xstart coordinate the line displayed should immediate update its start origin. Similar, when the line color is changed the line should immediately change its color. * The GUI should include a entry area for the maximum number of edges to detect. * The GUI should include a threshold below which all edges will be ignored. * The application should indicate the detected edges by placing a full square at the detected location. (endpoints, center are empty squares). * The GUI application should save and load the needed information using the GetInt("variable_name") SetInt("variable_name") routines defined in [url removed, login to view] * The user can select what color the line and shapes should appear as. The available colors are black, blue, green, orange, purple, red, white, yellow and appear as a user selected dropdown. See http://localhost/help/[url removed, login to view] as an example. * The user should be able to set an isolation size number that will prevent many edges from being identified that are close to each other. Due to noisy image maximal edges can be separated by a single pixel which if not detected can lead to many edges in close proximity. * The edge intensity is determined by summing the difference of a single pixel and its eight neighbors. Please request more information if you are not familiar with this edge detection algorithm. Algorithm: Using the user parameters you will traverse the image based on the line start and stop points along which you will calculate the edge magnitude at each pixel point. Depending on if the current maximal is maximal for the entire isolation range (i.e. it is maximal for the previous X pixels and for the next X pixels) that the edge becomes a final candidate for identification. Once all candidates are identified the top Y edges depending on the user selection is then identified by drawing a colored square at that location. Please note that you are working in addition to an existing development team. If you have any questions or problems with the implementation please contact us. You will be communicating with software developers that have been working with the application for more than 2 years. ************** 1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).

* * *This broadcast message was sent to all bidders on Monday Jul 2, 2007 2:37:45 AM:

Thanks for all your messages. We have updated the project description to include the first module we are looking to develop. Please review the new requirements and indicate approximate cost and time (in weeks) for this project. Let us know if you have any questions about the new module. Thanks! STeven.

## Platform

Windows 2000, Windows XP, Vista

Ingenieurwesen Microsoft MySQL PHP Softwarearchitektur Testen von Software Windows Desktop

Projekt-ID: #3077770

Über das Projekt

7 Vorschläge Remote Projekt Aktiv Jul 19, 2007

7 Freelancer bieten im Durchschnitt $425 für diesen Job

alehUK

See private message.

$425 USD in 14 Tagen
(15 Bewertungen)
5.8
felixrii

See private message.

$425 USD in 14 Tagen
(19 Bewertungen)
4.8
cppxprtvw

See private message.

$425 USD in 14 Tagen
(13 Bewertungen)
4.6
usmanriaz

See private message.

$425 USD in 14 Tagen
(7 Bewertungen)
4.4
khalilmik

See private message.

$425 USD in 14 Tagen
(2 Bewertungen)
4.1
d0pa

See private message.

$425 USD in 14 Tagen
(2 Bewertungen)
2.4
sandeepgupta26

See private message.

$425 USD in 14 Tagen
(0 Bewertungen)
0.0