Design a c program that can extract object edges

Assignment Help Basic Computer Science
Reference no: EM131188520

OBJECTIVE

Design a C or C++ (ANSI standard) program that can extract object edges and detect the presence of straight lines.

BACKGROUND

Automated visual quality control and visual monitoring of industrial assembly lines are the application areas where computer vision has proven its efficiency. Vision systems can operate continuously and provide measurement of critical parameters such as position and orientation of objects, their shape, colour, etc. An obvious advantage of such systems is the possibility of controlling image acquisition process optimising illumination, position of cameras and background colour. As a result, images used for automated visual inspection have good quality in terms of contrast and SNR.

Your program shall include the following stages:

1. Rescale the image down by the factor of 2, to reduce computational complexity of the subsequent stages

2. Extract boundaries of objects using 3x3 gradient operators

3. Save the generated b/w image gradient.bmp

4. Detect the presence of straight lines and measure their orientation with the precision 3o

5. Extract boundaries of objects using binary morphology

6. Save the generated b/w image morphology.bmp

7. Detect the presence of straight lines and measure their orientation with the precision 3o

8. Compare performance and efficiency of both methods and reflect your observations, findings and conclusions in the report assignment2report.txt

DESIGN SPECIFICATION

You need to use OpenCV library to implement the solution.

It can be tested using asm2.bmp test image. Since information about colour is not required, it contains only 8bit/pix luminance component. The image size is 640x480.

Your program shall produce:

1. Two 8bit/pix black/white (b/w) images gradient.bmp and morphology.bmp ( size 320x240), which represent object boundaries obtained by two boundary extraction methods. The level of background should be set to 0 (black), while the pixels corresponding to boundaries are set to 255 (white).

Comments: You may try to apply a LPF before the gradient-based method to improve overall accuracy of edge detection. If needed, you can also apply binary morphological methods ( erosion, dilation, etc) to smooth boundaries obtained as a thresholded output of the gradient-based method.

Considering the second solution, before applying the morphological boundary detection method, you need to binarize the input image first. The test image provided has a very high contrast and therefore selection of a threshold is not very difficult. For asm2.bmp the threshold can be set around 90-100.

2. For each boundary detection method you need to printout parameters of all detected lines in the following format:

Line detection in a b/w image produced by gradient operators: Line 1 is detected. Orientation = ... degrees
Line 2 is detected. Orientation = ... degrees
or
No straight lines detected

Having implemented and tested the program, you should investigate some practical aspects of boundary extraction and straight-line detection. For example:

- You can compare accuracy and computational complexity of two boundary detection methods
- You can evaluate efficiency of edge detection with LPF pre-processing and without it
- You can measure computational complexity and execution time of Hough Transform
- You can analyze sensitivity of your system to noise by running the program with the second test image asm2n.bmp

Your observations, findings and conclusions must be summarized in the report assignment2report.txt

Attachment:- asm.rar

Verified Expert

In this assignment, a C++ program was developed to investigate the various Edge Detection and Shape Detection procedures in Image Processing using the OpenCV library. The 3x3 Sobel Derivative was found using OpenCV Sobel function and the morphological operations were used as the second method of edge detection. The lines were detected using the popular Hough Transform shape detection method by applying OpenCV HoughLines function.

Reference no: EM131188520

Questions Cloud

Shareholders are more apt to prefer high dividend payout : Shareholders are more apt to prefer a high dividend payout if the firm:
Take bet on the yield spread between two bonds : Assume that you wish to take a bet on the yield spread between two bonds: a 10-year corporate bond rated BB and a 10-year Treasury bond. Are you betting that rates are going to converge or diverge? Why? Which bond will you buy and which bond will you..
Important aspects of a good corporate : From an executive leadership perspective, write a summary on what would be considered the most important aspects of a good corporate culture.  As a manager what specific actions would you do to ensure these aspects are implemented in an organization ..
Compose a multimedia presentation : Compose a multimedia presentation of 6 to 8 slides about your wine products. This presentation should demonstrate cross-cultural competency so that your product can be as successful in this foreign country as it is in the United States
Design a c program that can extract object edges : Design a C or C++ (ANSI standard) program that can extract object edges and detect the presence of straight lines.
Calculate the fuel per g and per ml of mixture : an intimate mixture of Fe2O3 and Al is used in solid fuel rocket .calculate the fuel per g and per ml of mixture. del Hal2o3 =399 kcal , del H fe2o3 =199 kcal density of Fe2O3 and AL are 5.2 g /ml and 2.7 g /ml respectively
Explain the impact that unions have on the operations : Explain the impact that unions have on the operations of an organization and Describe the principle reasons labor/management relations are challenged and result in conflict.
Compute and evaluate the dividend yield ratio : The following account balances were selected from the records of TAC Corporation at the end of the fiscal year after all adjusting entries were completed: Common stock ($20 par value; 115,000 shares authorized, 43,000 shares issued, Compute and evalu..
Describe two people you know from two different cultures : Describe two people you know from two different cultures. Compare or contrast 5 characteristics the people have prompted by their cultures.

Reviews

mor1188520

9/11/2016 9:38:13 PM

The openCv libraries are machine dependent and has to be separately installed and configured in the machine for compilation. The openCV headers are used in the program.

len1188520

9/1/2016 1:23:56 AM

Submit your assignment before the due date. Follow the submission needs explained in the section SUBMISSION. You are allowed to submit up to three times before the due date. Only the latest submission will be marked and tested. Enquiries about the marks can only be made within a maximum of one week after the assignment results are published.

len1188520

9/1/2016 1:22:21 AM

C++ program that can extract object edges and detect the presence of straight lines - In this assignment you have to submit: - assignment2.c source file with appropriate comments - assignment2report.txt (doc, or pdf) report The report must provided a two page description of the implemented solution, its analysis regarding sensitivity to computational and noise complexity, your conclusions and observations, which show your understanding of the theoretical aspects of edge detection, line detection and their practical implementation.Do not add a separate header *.h file to your source code as it makes evaluation and marking of the assignment more complex.

Write a Review

Basic Computer Science Questions & Answers

  Identifies the cost of computer

identifies the cost of computer components to configure a computer system (including all peripheral devices where needed) for use in one of the following four situations:

  Input devices

Compare how the gestures data is generated and represented for interpretation in each of the following input devices. In your comparison, consider the data formats (radio waves, electrical signal, sound, etc.), device drivers, operating systems suppo..

  Cores on computer systems

Assignment : Cores on Computer Systems:  Differentiate between multiprocessor systems and many-core systems in terms of power efficiency, cost benefit analysis, instructions processing efficiency, and packaging form factors.

  Prepare an annual budget in an excel spreadsheet

Prepare working solutions in Excel that will manage the annual budget

  Write a research paper in relation to a software design

Research paper in relation to a Software Design related topic

  Describe the forest, domain, ou, and trust configuration

Describe the forest, domain, OU, and trust configuration for Bluesky. Include a chart or diagram of the current configuration. Currently Bluesky has a single domain and default OU structure.

  Construct a truth table for the boolean expression

Construct a truth table for the Boolean expressions ABC + A'B'C' ABC + AB'C' + A'B'C' A(BC' + B'C)

  Evaluate the cost of materials

Evaluate the cost of materials

  The marie simulator

Depending on how comfortable you are with using the MARIE simulator after reading

  What is the main advantage of using master pages

What is the main advantage of using master pages. Explain the purpose and advantage of using styles.

  Describe the three fundamental models of distributed systems

Explain the two approaches to packet delivery by the network layer in Distributed Systems. Describe the three fundamental models of Distributed Systems

  Distinguish between caching and buffering

Distinguish between caching and buffering The failure model defines the ways in which failure may occur in order to provide an understanding of the effects of failure. Give one type of failure with a brief description of the failure

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd