Beruflich Dokumente
Kultur Dokumente
Group Members:
Majoring
Lecture
No. Name Student ID (CE/EE/LE/MCE/
Section
ME/NE/OPE/TE)
1.
2.
Interpreting the visual world is one of those things thats so easy for humans were hardly even
conscious were doing it. When we see something, whether its car, or a tree, or our grandma, we
dont (usually) have to consciously study it before we can tell what it is. For a computer, however,
identifying a human being at all (as opposed to a dog or a chair or a clock, let alone your
grandmother) represents an amazingly difficult problem. From https://www.upwork.com/
In view of this, one of the requirement in image recognition is to identify boundaries of object in
an image before the object can be recognized. In this assignment, you are required to write a C
program to create a simple black and white text image as shown in Figure 1(b). The program will
then read the text image into an array and perform edge detection on the text image. The output
will be the text image with the edge of the inner square detected as shown in Figure 2(b).
60 pixels
In text file
40 pixels
In text file
(b) Black and white image with edge (b) Output - Black and white text image. The
edge is represented by white line (255)
Group Members:
Task assigned
Majoring
No. Name Student ID (CE/EE/LE/MCE/
ME/NE/OPE/TE)
1.
2.
Appendix 1
A. General instructions
6. For Section 3, you can use screen capture to copy the program output and paste it in your report.
Explain and discuss the output in your report.
B. Submission
1. Each group should have the cover page provided in Appendix 1A.
2. You must submit the hardcopy of the report. (Each student submit a report)
3. Submission deadline: 15-Sept-2017, before 4.30pm.
4. No late submissions. Any late submission will automatically receive 0 marks for all group
members.
5. Submit the HARDCOPY report to Dr. Hezerul Abdul Karim (BR2032) or my pegion
hole.
C. Assessment
Section 2: (60%)
Section 3: (15%)
WARNING!!!
Do not copy from others, and do not allow to be copied either. ZERO mark will be given to
all involved wherever plagiarism is detected!
Appendix 2 - Convolution
Convolution is a simple mathematical operation which is fundamental to many common image processing
operators. Convolution provides a way of `multiplying together' two arrays of numbers, generally of
different sizes, but of the same dimensionality, to produce a third array of numbers of the same
dimensionality. This can be used in image processing to implement operators whose output pixel values are
simple linear combinations of certain input pixel values.
In an image processing context, one of the input arrays is normally just a graylevel image. The second array
is usually much smaller, and is also two-dimensional (although it may be just a single pixel thick), and is
known as the kernel or mask. Figure A1 shows an example image and mask that we will use to illustrate
convolution.
I10 I11 I12 I13 I14 O10 O11 O12 O13 O14
I15 I16 I17 I18 I19 M1 M2 M3 O15 O16 O17 O18 O19
I20 I21 I22 I23 I24 Convolve M4 M5 M6 O20 O21 O22 O23 O24
I25 I26 I27 I28 I29 M7 M8 M9 O25 O26 O27 O28 O29
I30 I31 I32 I33 I34 O30 O31 O32 O33 O34
Mask Output image
Input image
Figure A1 - Process of convolution image
The convolution is performed by sliding the mask over the image, generally starting at the top left corner,
so as to move the mask through all the positions where the mask fits entirely within the boundaries of the
image. (Note that implementations differ in what they do at the edges of images.) Each mask position
corresponds to a single output pixel, the value of which is calculated by multiplying together the mask value
and the underlying image pixel value for each of the cell in the mask, and then adding all these numbers
together.
For simplicity, the border of image is ignored in the convolution. So, in the example, the value of output
pixel, for example O16 and O17 will be given by:
O16 = I10M1 + I11M2 + I12M3 + I15M4 + I16M5 + I17M6 + I20M7 + I21M8 + I22M9
O17 = I11M1 + I12M2 + I13M3 + I16M4 + I17M5 + I18M6 + I21M7 + I22M8 + I23M9
For more information, please refer to Chapter 5 (Basic Edge Detection) of the Image Processing book that
can be downloaded from MMLS. Specifically, refer to page 436 for the source code on convolution.