SlideShare une entreprise Scribd logo
1  sur  9
Télécharger pour lire hors ligne
Session F1C2

Digital Image Processing with MATLAB Taught As an Advanced Computer
Application Course for Engineering Graduate Students
Jiecai Luo and James E. Cross
Electrical Engineering Department
Southern University, Baton Rouge, LA 70813

Abstract
The College of Engineering at Southern University Baton Rouge (SUBR) has a Master of
Engineering Program. Advanced Computer Application for Engineers (ELEN 530) is a core
course taught in this program. This is an interdisciplinary course being offered to students with
undergraduate degrees in Civil Engineering, Electrical Engineering, Electronic Engineering
Technology and Mechanical Engineering. . It was a challenge to choose material for this course
with students from these different backgrounds. After four years of experience, we found Digital
Image Processing with MATLAB to be an appropriate topic, a topic welcomed by the students.
Since images are matrix files, we have found that this course provides excellent material for the
writing and application of advanced algorithms to solve engineering problems. Many of the
algorithms involve statistical concepts, thus providing an excellent foundation for research. The
instructor of the course, two graduate students and two undergraduate students are presently
performing research on an image processing project sponsored by the Air Force Research
Laboratory.
1. Introduction
Image processing courses are offered in many engineering colleges, such courses being offered
at different levels. Such a course can provide students with a rich computing experience. There
are currently about 50 students in the Master of Engineering Program in the College of
Engineering at Southern University Baton Rouge. These students are from four different
disciplines: Civil Engineering, Electrical Engineering, Electronic Engineering Technology and
Mechanical Engineering. All students are required to take the core course, Advanced Computer
Application for Engineers (ELEN 530). It was a challenge to select suitable material for the
course with students from such a wide range of backgrounds. After four years of experimenting,
we found Digital Image Processing with MATLAB to be an excellent subject, one that was
welcomed by the students. As an outline for this course, it begins with a review of MATLAB
fundaments to include programming assignments. Imaging theory is introduced with some
Proceedings of the 2006 ASEE Gulf-Southwest Annual Conference
Southern University and A&M College
Copyright © 2006, American Society for Engineering Education
simple imaging algorithms. More in-depth imaging concepts are then introduced to include
practical exercises with digital image perception, image acquisition, enhancement, filtering,
restoration, and compression. After this foundation is laid, students are assigned projects to
demonstrate their competency in writing and executing meaningful algorithms. Digital Image
Processing is a popular research area. Imaging has a wide range of civilian, military and security
applications. Many image files, such as those collected by satellite, are very large.
Comprehensive imaging algorithms that can swiftly and efficiently process and retrieve
information from huge image data sets as the data accumulates is needed2,7. With the exposure
given to Image Processing in this class, as of date, three master students have chosen research
topics in Digital Image Processing as their master theses. The students gained an appreciation for
the wide range of Digital Image Processing applications. Several faculty members are now
performing research in this area and will be providing added research opportunities for both
graduate and undergraduate students. This paper presents the basic material covered in the ELEN
530 course. The plans are to introduce some of the fundamental material in the undergraduate
Engineering Use of Computer course. We hope that the approach to choosing material for this
interdisciplinary course will serve as an example for choosing material for other interdisciplinary
courses. This paper is organized as follows: It first gives the course over review, followed by
several course projects, and then some concluding remarks.
2. Course Over View
Advanced Computer Application for Engineers (ELEN 530) covers algorithm development, and
practical solutions to digital image perception, acquisition, enhancement, filtering, restoration,
and compression. The students gain an understanding of algorithm design, the use of
mathematical tools, and practical implementations of various digital image applications. The
students will learn how to use MATLAB programming software to implement digital image
applications. The prerequisites include basic data structures and their implementation, seniorlevel understanding of statistics, probability theory and stochastic processes, and senior-level
understanding of linear systems and transformations. Many students have the perception that this
pre-requisite material is difficult to comprehend and that the underlying theoretical tools are
counter-intuitive. They often have difficulty with the concepts of time and space complexity, as
well as with properties of advanced data structures. The lack of an intuitive understanding not
only makes the comprehension of the material more difficult but it also leads to less material
being retaining at the end of the course. In contrast, with image processing, having images to
manipulate makes algorithm design and execution more intuitive. In this course, students are
made aware of the interdisciplinary nature of Image Processing. For Civil Engineers, imaging is
widely used for mapping. For Mechanical Engineers, imaging is used to detect cracks in welds.
Electrical and Electronic Engineers provide support in a wide range of imaging applications, to
include industrial, medical, military, etc.

Proceedings of the 2006 ASEE Gulf-Southwest Annual Conference
Southern University and A&M College
Copyright © 2006, American Society for Engineering Education
3. Course Projects and Student Work
The course included several projects. Some of the typical projects are listed below. The project
description is given, followed by comments on the student work.
The first project familiarized the student with grey-tone image manipulation techniques
reducing the number of gray levels in an image. The image is shown as Figure 1, below. The
requirements were first to use MATLAB commands to read and display the image. Then, write a
MATLAB program to reduce the number of gray levels in the image from 256 to 2, in integer
powers of 2. The desired number of gray levels was to be a variable input to the program.
Comments on student work: Most students had no previous experience with images. The
students received a review of MATLAB programming techniques. This project accomplished the
goal of familiarizing the student with the first necessary step of using MATLAB, to read an
image file and to display the image. It familiarized the student with the various MATLAB image
formats and techniques of manipulating images. All students successfully completed the first
project and became more interested in the course.
The purpose of the second project was to introduce students to additional grey-tone image
manipulation techniques such as brightness, contrast adjustment, gamma correction, and
histogram equalization. The MATLAB operations used were (a) Image negatives: (b) Histogram
Equalization; and (c) Power-law transformations at c=1, gamma =0.2 and c=1, gamma=5.

Figure 1: Lena image for project 1& 2
Comments on student work: This project emphasized several basic theories taught in image
processing. The students we excited to see how they could make changes in images. They were
especially excited to see that MATLAB had the capability of improving the appearance of an
image.
The mid-term project was to integrate several theoretical concepts to make improvements to the
“bad” image of Figure 2. The student had the liberty to choose an image enhancement
transformation. The MATLAB transformation was to change the dark area (below the red lines)
so that more information on the image would be revealed, while at the same time keeping the
area above the red lines unchanged.
Proceedings of the 2006 ASEE Gulf-Southwest Annual Conference
Southern University and A&M College
Copyright © 2006, American Society for Engineering Education
Figure 2: Image for mid term project
Comments on student work: The midterm project provided an opportunity for students to
demonstrate their algorithm design capability by making improvements on a real “bad” or faulty
image. The design process included the student selecting from a number of different possible
methods. Several students had good solutions. Two such examples will be given.
% ELEN530_midterm student one’s MATLAB code

% ELEN530_midterm student two’s MATLAB code
clear;

clear;
I = imread('T:My Documentsother coursesFall 2005ELEN
530_f05Elen530_midterm.jpg');
imview(I)

clc %Clear memory
clear %Clear screen
%--------------------------------------------------------------------------

gamma=0.5
L=im2double(I);
N_1=L;
N_2=L;

datay = [468 524 398 613 785 785 468];
datax = [0 125 356 681 776 0 0];
%--------------------------------------------------------------------------

n_x=length(L(:,1));
n_y=length(L(1,:));
for j=1:1:125;
for i=floor((524-468)*(j-1)/(125-1)+468):1:n_x;
N_1(i,j)=(L(i,j))^gamma;
end;
end;
for j=126:1:356;
for i=floor((398-525)*(j-126)/(356-126)+525):1:n_x;
N_1(i,j)=(L(i,j))^gamma;
end;
end;
for j=357:1:681;
for i=floor((613-399)*(j-357)/(681-357)+399):1:n_x;
N_1(i,j)=(L(i,j))^gamma;
end;

I = imread('T:My Documentsother coursesFall 2005ELEN
530_f05Elen530_midterm.jpg');
%I=imread('Berkeley.jpg');
figure;
imshow(I);
hold on;
u = plot(datax,datay, 'r','LineWidth',1); %add the boundary lines to
it.
%-------------------------------------------------------------------------immatrix = I;
L = 255; %Maximum number of gray-levels.
[n,m] = size(immatrix); %Get dimensions of image matrix
imd =im2double(immatrix); % Make image matrix a double
matrix

Proceedings of the 2006 ASEE Gulf-Southwest Annual Conference
Southern University and A&M College
Copyright © 2006, American Society for Engineering Education
end;

I_he=histeq(imd);

for j=682:1:776;
for i=floor((781-614)*(j-682)/(776-682)+614):1:n_x;
N_1(i,j)=(L(i,j))^gamma;
end;
end;

g = roipoly(I,datax,datay); %Distinguish inner from outer
boundary
g = im2double(g);

figure, imshow(N_1)
hold;
x=[1 125 368 681 776]';y=[468 524 398 613 781];
plot(x,y,'r')

I_0=immultiply(I_he,g);
%This is for logical operation on matrices
gw=imcomplement(g);
%-------------------------------------------------------------------------I_1=immultiply(imd,gw);

for j=1:1:600;
for i=400:1:n_x;
N_2(i,j)=(L(i,j))^gamma;
end;
end;
imview(N_2)

H=imadd(I_0,I_1);
%-------------------------------------------------------------------------imview(H);
imshow(H);
u = plot(datax,datay, 'r','LineWidth',1);

The aim of project number four was to filter the noise from corrupted images. Two corrupted
images are shown in Figure 3. The first image is corrupted by Gaussian noise and second image
is corrupted by salt & pepper noise. The students were to choose methods from the textbook to
filter the noises in the images.

Proceedings of the 2006 ASEE Gulf-Southwest Annual Conference
Southern University and A&M College
Copyright © 2006, American Society for Engineering Education
Figure 3a: Images for project 4. The left image is corrupted by Gaussian noise. The right image
is corrupted by Salt & Pepper noise.
Comments on student work: This project required that the students understand the functions of
different type of filters for image processing and to use the best type of filter to smooth the noise.
The image on the left was corrupted by Gaussian noise and a mean filter was used. A median
filter was used for the image on the right which was corrupted by Salt & Pepper noise. The result
of one student’s work is shown below.

Figure 3b: The result of one student’s work for project four.
In the final project, there were three groups of images: light images, dark images and other
images with noise. The 11 images used are shown in Figure 4. Students were required to take at
least one image from each group to do the project. They were to select suitable MATLAB color
image transformations and write algorithms to produce improved images.

Proceedings of the 2006 ASEE Gulf-Southwest Annual Conference
Southern University and A&M College
Copyright © 2006, American Society for Engineering Education
Figure 4: Images for the final projects. The first row shows four dark images. The second row
shows three light images. The last row shows four other noisy images.
Comments on student work: This final project accomplished the goals of checking students’
understand of image processing theories and developing and implementing MATLAB algorithms
for typical imaging problems. The students worked in groups and acquired programming skills
crucial in advanced computer applications. Furthermore, the students learned to combine several
algorithms and data structures for designing efficient applications.
The selection of assignments for the course was designed for the students to gain competency in
MATLAB programming. The students were required to submit reports with performance graphs
and answers to related questions. The reports included empirical results and a comparison of the
observed program running time with the expected asymptotic behavior. In addition, the students
wrote summaries of their project experiences, indicating the most difficult part of the
assignments.

Proceedings of the 2006 ASEE Gulf-Southwest Annual Conference
Southern University and A&M College
Copyright © 2006, American Society for Engineering Education
4. Conclusions
We have described a series of assignments used to teach Image Processing as the basic for our
Advanced Computer Application for Engineers course. Since visual data are now an integral part
of many computer applications, image manipulation is likely to become an important skill for
engineers. Most students enjoyed the hands-on style of learning and enjoyed their experience
with visual data. The course accomplished its objective of providing the students the
computational skills needed for research. It especially provided the fundamental skills to perform
research in the area of Image Processing. The authors of this paper are presently performing
research for the Air Force Research Laboratory involving the recognition of images in the
presents of interferences such as fog and other obstructions. Several students are performing
research on this project.

References
1.

2.

3.

4.

5.

6.
7.

Jiecai Luo and Kenneth W. Tobin, “A novel method based combined color features for large-scale spatial
image data retrieval,” 37th Southeastern Symposium on System Theory (SSST), 2005, Tuskegee University,
Alabama.
Jiecai Luo, “Automated Image Retrieval Based Large-scale Spatial Data Management and Analysis” 2003
Technique Report, Oak Ridge Institute for Science and Education and Image Science & Machine Vision
Group at ORNL, ORNL/ORAU HBCU and MEI Summer Faculty Research Program
Jiecai Luo, “Content-Based (Unsupervised) Image Segmentation for Large-scale Spatial Images (with
MATLAB ),” 2004 Technique Report, Oak Ridge Institute for Science and Education and Image Science &
Machine Vision Group at ORNL, Faculty and Student Teams (FaST) Summer Program.
Zhengmao Ye, Jiecai Luo, Pradeep Bhattacharya, Hamid Majlesein, "Processing of Slow Motion Images
Out Of Underwater, Ground and Aerial Vehicles", Proceedings of 2005 IEEE Canadian Conference on
Electrical and Computer Engineering (CCECE05) (To Appear).
Zhengmao Ye, "Artificial-Intelligence Approach for Biomedical Sample Characterization Using Raman
Spectroscopy", IEEE Transactions on Automation Science and Engineering, PP.67-73, Vol.2, Issue 1, Jan.
2005.
B. B. Maxwell, “Teaching computer vision to computer scientists: issues and a comparative textbook
review," Int. J. Pattern Recognition and Artificial Intelligence 12, 8 (1998) 1035{1051.
Eugene Fink and Michael Heath, “Image-processing projects for and algorithms courses,” International
Journal of Pattern recognition and artificial Intelligence Vol. 15, No. 5 (2001) 859 – 868.

Jiecai Luo
Dr. Luo currently serves as Assistant Professor of Electrical Engineering at Southern University Baton Rouge.
His research interest includes Signal and Image Processing, Artificial-Intelligence, and Optimum Control
Systems. Email: jluo@engr.subr.edu

Proceedings of the 2006 ASEE Gulf-Southwest Annual Conference
Southern University and A&M College
Copyright © 2006, American Society for Engineering Education
James E. Cross
Dr. Cross is an Associate Professor of Electrical Engineering at Southern University Baton Rouge. His interest
includes Signal and Image Processing, Microprocessors, High Speed Computing, and Digital Signal Processors.
Email: cross4153@aol.com.

This material is based on the research sponsored by the Air Force Research Laboratory under agreement number
FA8650-05-1-6645. The U.S. Government is authorized to reproduce and distribute reprints for Governmental
purposes notwithstanding any copyright notation thereon.
The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily
representing the official policies or endorsements, either expressed or implied, of the Air Force Research Laboratory
or the U. S. Government.

Proceedings of the 2006 ASEE Gulf-Southwest Annual Conference
Southern University and A&M College
Copyright © 2006, American Society for Engineering Education

Contenu connexe

Tendances

Implementing #CSforAll in Your District, TASA Midwinter Jan 2017
Implementing #CSforAll in Your District, TASA Midwinter Jan 2017Implementing #CSforAll in Your District, TASA Midwinter Jan 2017
Implementing #CSforAll in Your District, TASA Midwinter Jan 2017Hal Speed
 
Ece syllabus 2017 regulation
Ece syllabus 2017 regulationEce syllabus 2017 regulation
Ece syllabus 2017 regulationGtec Ece
 
Development of Computer Aided Learning Software for Use in Electric Circuit A...
Development of Computer Aided Learning Software for Use in Electric Circuit A...Development of Computer Aided Learning Software for Use in Electric Circuit A...
Development of Computer Aided Learning Software for Use in Electric Circuit A...drboon
 
Fyup electronic science
Fyup electronic scienceFyup electronic science
Fyup electronic scienceDKBasu
 
Master Studiengang FH Salzburg: Applied Image and Signal Processing
Master Studiengang FH Salzburg: Applied Image and Signal ProcessingMaster Studiengang FH Salzburg: Applied Image and Signal Processing
Master Studiengang FH Salzburg: Applied Image and Signal ProcessingFachhochschule Salzburg
 
Making Sense of Computer Science Requirements Texas STEM Jan 2017
Making Sense of Computer Science Requirements Texas STEM Jan 2017Making Sense of Computer Science Requirements Texas STEM Jan 2017
Making Sense of Computer Science Requirements Texas STEM Jan 2017Hal Speed
 
Improved Presentation and Facade Layer Operations for Software Engineering Pr...
Improved Presentation and Facade Layer Operations for Software Engineering Pr...Improved Presentation and Facade Layer Operations for Software Engineering Pr...
Improved Presentation and Facade Layer Operations for Software Engineering Pr...Dr. Amarjeet Singh
 
AN IMPROVED OPERATIONAL AMPLIFIER ILAB WITH A MORE REALISTIC LOOKING INTERFACE
AN IMPROVED OPERATIONAL AMPLIFIER ILAB WITH A MORE REALISTIC LOOKING INTERFACEAN IMPROVED OPERATIONAL AMPLIFIER ILAB WITH A MORE REALISTIC LOOKING INTERFACE
AN IMPROVED OPERATIONAL AMPLIFIER ILAB WITH A MORE REALISTIC LOOKING INTERFACEBabatunde Ishola
 
REMOTE REALISTIC INTERFACE EXPERIMENTATION USING THE EMONA DATEX BOARD
REMOTE REALISTIC INTERFACE EXPERIMENTATION USING THE EMONA DATEX BOARDREMOTE REALISTIC INTERFACE EXPERIMENTATION USING THE EMONA DATEX BOARD
REMOTE REALISTIC INTERFACE EXPERIMENTATION USING THE EMONA DATEX BOARDBabatunde Ishola
 
Computer Science Imperative
Computer Science ImperativeComputer Science Imperative
Computer Science ImperativeHal Speed
 
Making Sense of Texas Computer Science Requirements
Making Sense of Texas Computer Science RequirementsMaking Sense of Texas Computer Science Requirements
Making Sense of Texas Computer Science RequirementsHal Speed
 
Introduction to Programming
Introduction to ProgrammingIntroduction to Programming
Introduction to ProgrammingALI RAZA
 
Guia 2-examen-de-ingles
Guia 2-examen-de-inglesGuia 2-examen-de-ingles
Guia 2-examen-de-inglesLiz Castro B
 
Project based microcontroller
Project based microcontrollerProject based microcontroller
Project based microcontrollerijesajournal
 
GCSE year 9 options evening
GCSE year 9 options eveningGCSE year 9 options evening
GCSE year 9 options eveningbsharland
 

Tendances (17)

Implementing #CSforAll in Your District, TASA Midwinter Jan 2017
Implementing #CSforAll in Your District, TASA Midwinter Jan 2017Implementing #CSforAll in Your District, TASA Midwinter Jan 2017
Implementing #CSforAll in Your District, TASA Midwinter Jan 2017
 
Ece syllabus 2017 regulation
Ece syllabus 2017 regulationEce syllabus 2017 regulation
Ece syllabus 2017 regulation
 
Development of Computer Aided Learning Software for Use in Electric Circuit A...
Development of Computer Aided Learning Software for Use in Electric Circuit A...Development of Computer Aided Learning Software for Use in Electric Circuit A...
Development of Computer Aided Learning Software for Use in Electric Circuit A...
 
2017 ece
2017 ece2017 ece
2017 ece
 
Fyup electronic science
Fyup electronic scienceFyup electronic science
Fyup electronic science
 
03. B.E. ECE final.pdf
03. B.E. ECE final.pdf03. B.E. ECE final.pdf
03. B.E. ECE final.pdf
 
Master Studiengang FH Salzburg: Applied Image and Signal Processing
Master Studiengang FH Salzburg: Applied Image and Signal ProcessingMaster Studiengang FH Salzburg: Applied Image and Signal Processing
Master Studiengang FH Salzburg: Applied Image and Signal Processing
 
Making Sense of Computer Science Requirements Texas STEM Jan 2017
Making Sense of Computer Science Requirements Texas STEM Jan 2017Making Sense of Computer Science Requirements Texas STEM Jan 2017
Making Sense of Computer Science Requirements Texas STEM Jan 2017
 
Improved Presentation and Facade Layer Operations for Software Engineering Pr...
Improved Presentation and Facade Layer Operations for Software Engineering Pr...Improved Presentation and Facade Layer Operations for Software Engineering Pr...
Improved Presentation and Facade Layer Operations for Software Engineering Pr...
 
AN IMPROVED OPERATIONAL AMPLIFIER ILAB WITH A MORE REALISTIC LOOKING INTERFACE
AN IMPROVED OPERATIONAL AMPLIFIER ILAB WITH A MORE REALISTIC LOOKING INTERFACEAN IMPROVED OPERATIONAL AMPLIFIER ILAB WITH A MORE REALISTIC LOOKING INTERFACE
AN IMPROVED OPERATIONAL AMPLIFIER ILAB WITH A MORE REALISTIC LOOKING INTERFACE
 
REMOTE REALISTIC INTERFACE EXPERIMENTATION USING THE EMONA DATEX BOARD
REMOTE REALISTIC INTERFACE EXPERIMENTATION USING THE EMONA DATEX BOARDREMOTE REALISTIC INTERFACE EXPERIMENTATION USING THE EMONA DATEX BOARD
REMOTE REALISTIC INTERFACE EXPERIMENTATION USING THE EMONA DATEX BOARD
 
Computer Science Imperative
Computer Science ImperativeComputer Science Imperative
Computer Science Imperative
 
Making Sense of Texas Computer Science Requirements
Making Sense of Texas Computer Science RequirementsMaking Sense of Texas Computer Science Requirements
Making Sense of Texas Computer Science Requirements
 
Introduction to Programming
Introduction to ProgrammingIntroduction to Programming
Introduction to Programming
 
Guia 2-examen-de-ingles
Guia 2-examen-de-inglesGuia 2-examen-de-ingles
Guia 2-examen-de-ingles
 
Project based microcontroller
Project based microcontrollerProject based microcontroller
Project based microcontroller
 
GCSE year 9 options evening
GCSE year 9 options eveningGCSE year 9 options evening
GCSE year 9 options evening
 

En vedette

Tracking my face with matlab
Tracking my face with matlabTracking my face with matlab
Tracking my face with matlabGaspard Ggas
 
Image processing ieee-projects-ocularsystems.in-
Image processing ieee-projects-ocularsystems.in-Image processing ieee-projects-ocularsystems.in-
Image processing ieee-projects-ocularsystems.in-Ocular Systems
 
DOUBLE-TIP ARTEFACT REMOVAL FROM ATOMIC FORCE MICROSCOPY IMAGES
DOUBLE-TIP ARTEFACT REMOVAL FROM ATOMIC FORCE  MICROSCOPY IMAGESDOUBLE-TIP ARTEFACT REMOVAL FROM ATOMIC FORCE  MICROSCOPY IMAGES
DOUBLE-TIP ARTEFACT REMOVAL FROM ATOMIC FORCE MICROSCOPY IMAGESNexgen Technology
 
Fingerprint combination for privacy protection
Fingerprint combination for privacy protectionFingerprint combination for privacy protection
Fingerprint combination for privacy protectionMigrant Systems
 
Automated Fingerprint Identification Systems
Automated Fingerprint Identification SystemsAutomated Fingerprint Identification Systems
Automated Fingerprint Identification SystemsRmcauley
 
Digital image processing using matlab: filters (detail)
Digital image processing using matlab: filters (detail)Digital image processing using matlab: filters (detail)
Digital image processing using matlab: filters (detail)thanh nguyen
 
Report finger print
Report finger printReport finger print
Report finger printEshaan Verma
 
Atomic force microscopy(afm)
Atomic force microscopy(afm) Atomic force microscopy(afm)
Atomic force microscopy(afm) vishal gupta
 
Final Project Report on Image processing based intelligent traffic control sy...
Final Project Report on Image processing based intelligent traffic control sy...Final Project Report on Image processing based intelligent traffic control sy...
Final Project Report on Image processing based intelligent traffic control sy...Louise Antonio
 

En vedette (9)

Tracking my face with matlab
Tracking my face with matlabTracking my face with matlab
Tracking my face with matlab
 
Image processing ieee-projects-ocularsystems.in-
Image processing ieee-projects-ocularsystems.in-Image processing ieee-projects-ocularsystems.in-
Image processing ieee-projects-ocularsystems.in-
 
DOUBLE-TIP ARTEFACT REMOVAL FROM ATOMIC FORCE MICROSCOPY IMAGES
DOUBLE-TIP ARTEFACT REMOVAL FROM ATOMIC FORCE  MICROSCOPY IMAGESDOUBLE-TIP ARTEFACT REMOVAL FROM ATOMIC FORCE  MICROSCOPY IMAGES
DOUBLE-TIP ARTEFACT REMOVAL FROM ATOMIC FORCE MICROSCOPY IMAGES
 
Fingerprint combination for privacy protection
Fingerprint combination for privacy protectionFingerprint combination for privacy protection
Fingerprint combination for privacy protection
 
Automated Fingerprint Identification Systems
Automated Fingerprint Identification SystemsAutomated Fingerprint Identification Systems
Automated Fingerprint Identification Systems
 
Digital image processing using matlab: filters (detail)
Digital image processing using matlab: filters (detail)Digital image processing using matlab: filters (detail)
Digital image processing using matlab: filters (detail)
 
Report finger print
Report finger printReport finger print
Report finger print
 
Atomic force microscopy(afm)
Atomic force microscopy(afm) Atomic force microscopy(afm)
Atomic force microscopy(afm)
 
Final Project Report on Image processing based intelligent traffic control sy...
Final Project Report on Image processing based intelligent traffic control sy...Final Project Report on Image processing based intelligent traffic control sy...
Final Project Report on Image processing based intelligent traffic control sy...
 

Similaire à An interdisciplinary course_in_digital_image_processing

A Programming Course Including C And Matlab For Mechanical Engineering Students
A Programming Course Including C  And Matlab For Mechanical Engineering StudentsA Programming Course Including C  And Matlab For Mechanical Engineering Students
A Programming Course Including C And Matlab For Mechanical Engineering StudentsApril Knyff
 
Icee2013 paper suzaimah_camera ready (2)
Icee2013 paper suzaimah_camera ready (2)Icee2013 paper suzaimah_camera ready (2)
Icee2013 paper suzaimah_camera ready (2)Suzaimah Ramli
 
Maplesim poster
Maplesim posterMaplesim poster
Maplesim posterhrishishah
 
CS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdf
CS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdfCS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdf
CS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdfTitoMido1
 
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNING
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNINGHANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNING
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNINGIRJET Journal
 
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNING
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNINGHANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNING
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNINGIRJET Journal
 
CS0: A Project Based, Active Learning Course
CS0: A Project Based, Active Learning CourseCS0: A Project Based, Active Learning Course
CS0: A Project Based, Active Learning Coursedrboon
 
IRJET- Introduction of Programming Skills in Peer Tutoring Programme for ...
IRJET-  	  Introduction of Programming Skills in Peer Tutoring Programme for ...IRJET-  	  Introduction of Programming Skills in Peer Tutoring Programme for ...
IRJET- Introduction of Programming Skills in Peer Tutoring Programme for ...IRJET Journal
 
Face Detection Using MATLAB (SUD)
Face Detection Using MATLAB (SUD)Face Detection Using MATLAB (SUD)
Face Detection Using MATLAB (SUD)Sudhanshu Saxena
 
The application of computer aided learning to learn basic concepts of branchi...
The application of computer aided learning to learn basic concepts of branchi...The application of computer aided learning to learn basic concepts of branchi...
The application of computer aided learning to learn basic concepts of branchi...ijma
 
IMAGE CONTENT DESCRIPTION USING LSTM APPROACH
IMAGE CONTENT DESCRIPTION USING LSTM APPROACHIMAGE CONTENT DESCRIPTION USING LSTM APPROACH
IMAGE CONTENT DESCRIPTION USING LSTM APPROACHcsandit
 
Computational Aptitude of Handheld Calculator
Computational Aptitude of Handheld CalculatorComputational Aptitude of Handheld Calculator
Computational Aptitude of Handheld Calculatormathsmasters
 
2015_CTI_IS-Internet-Development_Module-Description_Final
2015_CTI_IS-Internet-Development_Module-Description_Final2015_CTI_IS-Internet-Development_Module-Description_Final
2015_CTI_IS-Internet-Development_Module-Description_FinalMoses75
 

Similaire à An interdisciplinary course_in_digital_image_processing (20)

Liu11-3.pdf
Liu11-3.pdfLiu11-3.pdf
Liu11-3.pdf
 
A Programming Course Including C And Matlab For Mechanical Engineering Students
A Programming Course Including C  And Matlab For Mechanical Engineering StudentsA Programming Course Including C  And Matlab For Mechanical Engineering Students
A Programming Course Including C And Matlab For Mechanical Engineering Students
 
Icee2013 paper suzaimah_camera ready (2)
Icee2013 paper suzaimah_camera ready (2)Icee2013 paper suzaimah_camera ready (2)
Icee2013 paper suzaimah_camera ready (2)
 
BE-DIP-Lab-Manual.pdf
BE-DIP-Lab-Manual.pdfBE-DIP-Lab-Manual.pdf
BE-DIP-Lab-Manual.pdf
 
ShawnLinerRET2013
ShawnLinerRET2013ShawnLinerRET2013
ShawnLinerRET2013
 
Maplesim poster
Maplesim posterMaplesim poster
Maplesim poster
 
CS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdf
CS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdfCS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdf
CS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdf
 
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNING
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNINGHANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNING
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNING
 
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNING
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNINGHANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNING
HANDWRITTEN DIGIT RECOGNITION USING MACHINE LEARNING
 
CS0: A Project Based, Active Learning Course
CS0: A Project Based, Active Learning CourseCS0: A Project Based, Active Learning Course
CS0: A Project Based, Active Learning Course
 
Iccie2012 siti rosminah
Iccie2012 siti rosminahIccie2012 siti rosminah
Iccie2012 siti rosminah
 
IRJET- Introduction of Programming Skills in Peer Tutoring Programme for ...
IRJET-  	  Introduction of Programming Skills in Peer Tutoring Programme for ...IRJET-  	  Introduction of Programming Skills in Peer Tutoring Programme for ...
IRJET- Introduction of Programming Skills in Peer Tutoring Programme for ...
 
Aakiel abernathy resume
Aakiel abernathy resumeAakiel abernathy resume
Aakiel abernathy resume
 
Face Detection Using MATLAB (SUD)
Face Detection Using MATLAB (SUD)Face Detection Using MATLAB (SUD)
Face Detection Using MATLAB (SUD)
 
F343236
F343236F343236
F343236
 
Ip vi sem-vsj final
Ip vi sem-vsj finalIp vi sem-vsj final
Ip vi sem-vsj final
 
The application of computer aided learning to learn basic concepts of branchi...
The application of computer aided learning to learn basic concepts of branchi...The application of computer aided learning to learn basic concepts of branchi...
The application of computer aided learning to learn basic concepts of branchi...
 
IMAGE CONTENT DESCRIPTION USING LSTM APPROACH
IMAGE CONTENT DESCRIPTION USING LSTM APPROACHIMAGE CONTENT DESCRIPTION USING LSTM APPROACH
IMAGE CONTENT DESCRIPTION USING LSTM APPROACH
 
Computational Aptitude of Handheld Calculator
Computational Aptitude of Handheld CalculatorComputational Aptitude of Handheld Calculator
Computational Aptitude of Handheld Calculator
 
2015_CTI_IS-Internet-Development_Module-Description_Final
2015_CTI_IS-Internet-Development_Module-Description_Final2015_CTI_IS-Internet-Development_Module-Description_Final
2015_CTI_IS-Internet-Development_Module-Description_Final
 

Plus de Syed Muhammad Hammad

Plus de Syed Muhammad Hammad (15)

Software Project Management lecture 12
Software Project Management lecture 12Software Project Management lecture 12
Software Project Management lecture 12
 
Software Project Management lecture 10
Software Project Management lecture 10Software Project Management lecture 10
Software Project Management lecture 10
 
Software Project Management lecture 9
Software Project Management lecture 9Software Project Management lecture 9
Software Project Management lecture 9
 
Software Project Management lecture 8
Software Project Management lecture 8Software Project Management lecture 8
Software Project Management lecture 8
 
Software Project Management lecture 7
Software Project Management lecture 7Software Project Management lecture 7
Software Project Management lecture 7
 
Software Project Mangmement (Lecture 5)
Software Project Mangmement (Lecture 5)Software Project Mangmement (Lecture 5)
Software Project Mangmement (Lecture 5)
 
Software Project Management (lecture 4)
Software Project Management (lecture 4)Software Project Management (lecture 4)
Software Project Management (lecture 4)
 
Software Project Management (lecture 3)
Software Project Management (lecture 3)Software Project Management (lecture 3)
Software Project Management (lecture 3)
 
Software Project Management (lecture 2)
Software Project Management (lecture 2)Software Project Management (lecture 2)
Software Project Management (lecture 2)
 
Software Project Management( lecture 1)
Software Project Management( lecture 1)Software Project Management( lecture 1)
Software Project Management( lecture 1)
 
Scm
ScmScm
Scm
 
Java easy learning
Java easy  learningJava easy  learning
Java easy learning
 
Image Segmentation
 Image Segmentation Image Segmentation
Image Segmentation
 
Image processing tatorial
Image processing tatorialImage processing tatorial
Image processing tatorial
 
Mat-lab image processing tatorial
Mat-lab  image processing tatorialMat-lab  image processing tatorial
Mat-lab image processing tatorial
 

Dernier

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Dernier (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

An interdisciplinary course_in_digital_image_processing

  • 1. Session F1C2 Digital Image Processing with MATLAB Taught As an Advanced Computer Application Course for Engineering Graduate Students Jiecai Luo and James E. Cross Electrical Engineering Department Southern University, Baton Rouge, LA 70813 Abstract The College of Engineering at Southern University Baton Rouge (SUBR) has a Master of Engineering Program. Advanced Computer Application for Engineers (ELEN 530) is a core course taught in this program. This is an interdisciplinary course being offered to students with undergraduate degrees in Civil Engineering, Electrical Engineering, Electronic Engineering Technology and Mechanical Engineering. . It was a challenge to choose material for this course with students from these different backgrounds. After four years of experience, we found Digital Image Processing with MATLAB to be an appropriate topic, a topic welcomed by the students. Since images are matrix files, we have found that this course provides excellent material for the writing and application of advanced algorithms to solve engineering problems. Many of the algorithms involve statistical concepts, thus providing an excellent foundation for research. The instructor of the course, two graduate students and two undergraduate students are presently performing research on an image processing project sponsored by the Air Force Research Laboratory. 1. Introduction Image processing courses are offered in many engineering colleges, such courses being offered at different levels. Such a course can provide students with a rich computing experience. There are currently about 50 students in the Master of Engineering Program in the College of Engineering at Southern University Baton Rouge. These students are from four different disciplines: Civil Engineering, Electrical Engineering, Electronic Engineering Technology and Mechanical Engineering. All students are required to take the core course, Advanced Computer Application for Engineers (ELEN 530). It was a challenge to select suitable material for the course with students from such a wide range of backgrounds. After four years of experimenting, we found Digital Image Processing with MATLAB to be an excellent subject, one that was welcomed by the students. As an outline for this course, it begins with a review of MATLAB fundaments to include programming assignments. Imaging theory is introduced with some Proceedings of the 2006 ASEE Gulf-Southwest Annual Conference Southern University and A&M College Copyright © 2006, American Society for Engineering Education
  • 2. simple imaging algorithms. More in-depth imaging concepts are then introduced to include practical exercises with digital image perception, image acquisition, enhancement, filtering, restoration, and compression. After this foundation is laid, students are assigned projects to demonstrate their competency in writing and executing meaningful algorithms. Digital Image Processing is a popular research area. Imaging has a wide range of civilian, military and security applications. Many image files, such as those collected by satellite, are very large. Comprehensive imaging algorithms that can swiftly and efficiently process and retrieve information from huge image data sets as the data accumulates is needed2,7. With the exposure given to Image Processing in this class, as of date, three master students have chosen research topics in Digital Image Processing as their master theses. The students gained an appreciation for the wide range of Digital Image Processing applications. Several faculty members are now performing research in this area and will be providing added research opportunities for both graduate and undergraduate students. This paper presents the basic material covered in the ELEN 530 course. The plans are to introduce some of the fundamental material in the undergraduate Engineering Use of Computer course. We hope that the approach to choosing material for this interdisciplinary course will serve as an example for choosing material for other interdisciplinary courses. This paper is organized as follows: It first gives the course over review, followed by several course projects, and then some concluding remarks. 2. Course Over View Advanced Computer Application for Engineers (ELEN 530) covers algorithm development, and practical solutions to digital image perception, acquisition, enhancement, filtering, restoration, and compression. The students gain an understanding of algorithm design, the use of mathematical tools, and practical implementations of various digital image applications. The students will learn how to use MATLAB programming software to implement digital image applications. The prerequisites include basic data structures and their implementation, seniorlevel understanding of statistics, probability theory and stochastic processes, and senior-level understanding of linear systems and transformations. Many students have the perception that this pre-requisite material is difficult to comprehend and that the underlying theoretical tools are counter-intuitive. They often have difficulty with the concepts of time and space complexity, as well as with properties of advanced data structures. The lack of an intuitive understanding not only makes the comprehension of the material more difficult but it also leads to less material being retaining at the end of the course. In contrast, with image processing, having images to manipulate makes algorithm design and execution more intuitive. In this course, students are made aware of the interdisciplinary nature of Image Processing. For Civil Engineers, imaging is widely used for mapping. For Mechanical Engineers, imaging is used to detect cracks in welds. Electrical and Electronic Engineers provide support in a wide range of imaging applications, to include industrial, medical, military, etc. Proceedings of the 2006 ASEE Gulf-Southwest Annual Conference Southern University and A&M College Copyright © 2006, American Society for Engineering Education
  • 3. 3. Course Projects and Student Work The course included several projects. Some of the typical projects are listed below. The project description is given, followed by comments on the student work. The first project familiarized the student with grey-tone image manipulation techniques reducing the number of gray levels in an image. The image is shown as Figure 1, below. The requirements were first to use MATLAB commands to read and display the image. Then, write a MATLAB program to reduce the number of gray levels in the image from 256 to 2, in integer powers of 2. The desired number of gray levels was to be a variable input to the program. Comments on student work: Most students had no previous experience with images. The students received a review of MATLAB programming techniques. This project accomplished the goal of familiarizing the student with the first necessary step of using MATLAB, to read an image file and to display the image. It familiarized the student with the various MATLAB image formats and techniques of manipulating images. All students successfully completed the first project and became more interested in the course. The purpose of the second project was to introduce students to additional grey-tone image manipulation techniques such as brightness, contrast adjustment, gamma correction, and histogram equalization. The MATLAB operations used were (a) Image negatives: (b) Histogram Equalization; and (c) Power-law transformations at c=1, gamma =0.2 and c=1, gamma=5. Figure 1: Lena image for project 1& 2 Comments on student work: This project emphasized several basic theories taught in image processing. The students we excited to see how they could make changes in images. They were especially excited to see that MATLAB had the capability of improving the appearance of an image. The mid-term project was to integrate several theoretical concepts to make improvements to the “bad” image of Figure 2. The student had the liberty to choose an image enhancement transformation. The MATLAB transformation was to change the dark area (below the red lines) so that more information on the image would be revealed, while at the same time keeping the area above the red lines unchanged. Proceedings of the 2006 ASEE Gulf-Southwest Annual Conference Southern University and A&M College Copyright © 2006, American Society for Engineering Education
  • 4. Figure 2: Image for mid term project Comments on student work: The midterm project provided an opportunity for students to demonstrate their algorithm design capability by making improvements on a real “bad” or faulty image. The design process included the student selecting from a number of different possible methods. Several students had good solutions. Two such examples will be given. % ELEN530_midterm student one’s MATLAB code % ELEN530_midterm student two’s MATLAB code clear; clear; I = imread('T:My Documentsother coursesFall 2005ELEN 530_f05Elen530_midterm.jpg'); imview(I) clc %Clear memory clear %Clear screen %-------------------------------------------------------------------------- gamma=0.5 L=im2double(I); N_1=L; N_2=L; datay = [468 524 398 613 785 785 468]; datax = [0 125 356 681 776 0 0]; %-------------------------------------------------------------------------- n_x=length(L(:,1)); n_y=length(L(1,:)); for j=1:1:125; for i=floor((524-468)*(j-1)/(125-1)+468):1:n_x; N_1(i,j)=(L(i,j))^gamma; end; end; for j=126:1:356; for i=floor((398-525)*(j-126)/(356-126)+525):1:n_x; N_1(i,j)=(L(i,j))^gamma; end; end; for j=357:1:681; for i=floor((613-399)*(j-357)/(681-357)+399):1:n_x; N_1(i,j)=(L(i,j))^gamma; end; I = imread('T:My Documentsother coursesFall 2005ELEN 530_f05Elen530_midterm.jpg'); %I=imread('Berkeley.jpg'); figure; imshow(I); hold on; u = plot(datax,datay, 'r','LineWidth',1); %add the boundary lines to it. %-------------------------------------------------------------------------immatrix = I; L = 255; %Maximum number of gray-levels. [n,m] = size(immatrix); %Get dimensions of image matrix imd =im2double(immatrix); % Make image matrix a double matrix Proceedings of the 2006 ASEE Gulf-Southwest Annual Conference Southern University and A&M College Copyright © 2006, American Society for Engineering Education
  • 5. end; I_he=histeq(imd); for j=682:1:776; for i=floor((781-614)*(j-682)/(776-682)+614):1:n_x; N_1(i,j)=(L(i,j))^gamma; end; end; g = roipoly(I,datax,datay); %Distinguish inner from outer boundary g = im2double(g); figure, imshow(N_1) hold; x=[1 125 368 681 776]';y=[468 524 398 613 781]; plot(x,y,'r') I_0=immultiply(I_he,g); %This is for logical operation on matrices gw=imcomplement(g); %-------------------------------------------------------------------------I_1=immultiply(imd,gw); for j=1:1:600; for i=400:1:n_x; N_2(i,j)=(L(i,j))^gamma; end; end; imview(N_2) H=imadd(I_0,I_1); %-------------------------------------------------------------------------imview(H); imshow(H); u = plot(datax,datay, 'r','LineWidth',1); The aim of project number four was to filter the noise from corrupted images. Two corrupted images are shown in Figure 3. The first image is corrupted by Gaussian noise and second image is corrupted by salt & pepper noise. The students were to choose methods from the textbook to filter the noises in the images. Proceedings of the 2006 ASEE Gulf-Southwest Annual Conference Southern University and A&M College Copyright © 2006, American Society for Engineering Education
  • 6. Figure 3a: Images for project 4. The left image is corrupted by Gaussian noise. The right image is corrupted by Salt & Pepper noise. Comments on student work: This project required that the students understand the functions of different type of filters for image processing and to use the best type of filter to smooth the noise. The image on the left was corrupted by Gaussian noise and a mean filter was used. A median filter was used for the image on the right which was corrupted by Salt & Pepper noise. The result of one student’s work is shown below. Figure 3b: The result of one student’s work for project four. In the final project, there were three groups of images: light images, dark images and other images with noise. The 11 images used are shown in Figure 4. Students were required to take at least one image from each group to do the project. They were to select suitable MATLAB color image transformations and write algorithms to produce improved images. Proceedings of the 2006 ASEE Gulf-Southwest Annual Conference Southern University and A&M College Copyright © 2006, American Society for Engineering Education
  • 7. Figure 4: Images for the final projects. The first row shows four dark images. The second row shows three light images. The last row shows four other noisy images. Comments on student work: This final project accomplished the goals of checking students’ understand of image processing theories and developing and implementing MATLAB algorithms for typical imaging problems. The students worked in groups and acquired programming skills crucial in advanced computer applications. Furthermore, the students learned to combine several algorithms and data structures for designing efficient applications. The selection of assignments for the course was designed for the students to gain competency in MATLAB programming. The students were required to submit reports with performance graphs and answers to related questions. The reports included empirical results and a comparison of the observed program running time with the expected asymptotic behavior. In addition, the students wrote summaries of their project experiences, indicating the most difficult part of the assignments. Proceedings of the 2006 ASEE Gulf-Southwest Annual Conference Southern University and A&M College Copyright © 2006, American Society for Engineering Education
  • 8. 4. Conclusions We have described a series of assignments used to teach Image Processing as the basic for our Advanced Computer Application for Engineers course. Since visual data are now an integral part of many computer applications, image manipulation is likely to become an important skill for engineers. Most students enjoyed the hands-on style of learning and enjoyed their experience with visual data. The course accomplished its objective of providing the students the computational skills needed for research. It especially provided the fundamental skills to perform research in the area of Image Processing. The authors of this paper are presently performing research for the Air Force Research Laboratory involving the recognition of images in the presents of interferences such as fog and other obstructions. Several students are performing research on this project. References 1. 2. 3. 4. 5. 6. 7. Jiecai Luo and Kenneth W. Tobin, “A novel method based combined color features for large-scale spatial image data retrieval,” 37th Southeastern Symposium on System Theory (SSST), 2005, Tuskegee University, Alabama. Jiecai Luo, “Automated Image Retrieval Based Large-scale Spatial Data Management and Analysis” 2003 Technique Report, Oak Ridge Institute for Science and Education and Image Science & Machine Vision Group at ORNL, ORNL/ORAU HBCU and MEI Summer Faculty Research Program Jiecai Luo, “Content-Based (Unsupervised) Image Segmentation for Large-scale Spatial Images (with MATLAB ),” 2004 Technique Report, Oak Ridge Institute for Science and Education and Image Science & Machine Vision Group at ORNL, Faculty and Student Teams (FaST) Summer Program. Zhengmao Ye, Jiecai Luo, Pradeep Bhattacharya, Hamid Majlesein, "Processing of Slow Motion Images Out Of Underwater, Ground and Aerial Vehicles", Proceedings of 2005 IEEE Canadian Conference on Electrical and Computer Engineering (CCECE05) (To Appear). Zhengmao Ye, "Artificial-Intelligence Approach for Biomedical Sample Characterization Using Raman Spectroscopy", IEEE Transactions on Automation Science and Engineering, PP.67-73, Vol.2, Issue 1, Jan. 2005. B. B. Maxwell, “Teaching computer vision to computer scientists: issues and a comparative textbook review," Int. J. Pattern Recognition and Artificial Intelligence 12, 8 (1998) 1035{1051. Eugene Fink and Michael Heath, “Image-processing projects for and algorithms courses,” International Journal of Pattern recognition and artificial Intelligence Vol. 15, No. 5 (2001) 859 – 868. Jiecai Luo Dr. Luo currently serves as Assistant Professor of Electrical Engineering at Southern University Baton Rouge. His research interest includes Signal and Image Processing, Artificial-Intelligence, and Optimum Control Systems. Email: jluo@engr.subr.edu Proceedings of the 2006 ASEE Gulf-Southwest Annual Conference Southern University and A&M College Copyright © 2006, American Society for Engineering Education
  • 9. James E. Cross Dr. Cross is an Associate Professor of Electrical Engineering at Southern University Baton Rouge. His interest includes Signal and Image Processing, Microprocessors, High Speed Computing, and Digital Signal Processors. Email: cross4153@aol.com. This material is based on the research sponsored by the Air Force Research Laboratory under agreement number FA8650-05-1-6645. The U.S. Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright notation thereon. The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the Air Force Research Laboratory or the U. S. Government. Proceedings of the 2006 ASEE Gulf-Southwest Annual Conference Southern University and A&M College Copyright © 2006, American Society for Engineering Education