SlideShare a Scribd company logo
1 of 38
Chapter 1 Introduction
*   What is Computer Vision?
*   Applications
*   Relations with other fields
*   Resources
1.1 What is Computer Vision?

Computer vision is a field that includes methods
for acquiring, processing, analyzing, and
understanding one or more images from the real
world in order to produce and communicate
numerical or symbolic information to users or
other systems.

How to acquire images?
Why we need to process and analyze images?
Why we want the computer to understand the images?
1.2 Applications
Industrial inspection and quality control – detect
cracks in bottle
Reverse engineering – generate 3D object model
from images
Face/gesture recognition – security
Track and count humans – surveillance, human-
computer interaction
Track and count vehicles – road monitoring
Image database query – automatic image retrieval
Medical image analysis – assist diagnosis, surgery
1.3 Related disciplines
computer vision = machine vision = image understanding




  Computer               Image
   Vision              Processing




           noise filtering, edge detection, etc.
Many computer vision methods use and extend
  signal processing techniques
  Pattern recognition can be considered as part of
  computer vision
  Computer vision is, in some ways, the inverse
  of computer graphics.


                 CV                  CG




original image         3D model           synthetic image
1.4 To know more about Computer Vision

1.4.1 conference

• International Conference on Computer Vision
  (ICCV)
• International Conference on Computer Vision
  and Pattern Recognition (CVPR)
• European Conference on Computer Vision
  (ECCV)
1.4.2 journal
• International Journal of Computer Vision
• IEEE Transactions on Pattern Analysis and
  Machine Intelligence
• Computer Vision and Image Understanding
• Machine Vision and Applications

1.4.3 internet
• CVonline
  (http://homepages.inf.ed.ac.uk/rbf/CVonline)
• Numerical Recipes
  (http://apps.nrbook.com/empanel/index.html#)
1.5 Overview of MATLAB
1.5.1 The MATLAB environment

• when you start MATLAB, the command window
  will open with the prompt >>
• user can enter commands or data in the
  command window
• for each command typed in, you get the result
  immediately
• if you do not assign the result to a variable,
  MATLAB will assign it to ans
1.5.2 Assignment

• assign value(s) to variable name(s)

scalar variable
>> a = 4            >> a = 4, A = 6
a=                  a=
       4                  4        Separate
>>                  A=             multiple
                          6        commands by
>> a = 4;           >>             comma
>>
                   Case sensitive
No echo print
array
• a collection of values represented by one
   variable name
• one-dimensional array – vector
• two-dimensional array – matrix

>> a = [1 2 3 4 5]
a=
   1 2 3 4           5       Row vector
>>
>> a = [1;2;3;4;5]     >> a = [1 2 3 4 5]'
a=                     a=
   1                      1 Use single quote
   2                      2 as transpose
   3                      3 operator
   4                      4
   5                      5
>>                     >>

             Column vector
>> A = [1 2 3; 4 5 6; 7 8 9]     >> A = [1 2 3
A=                                      456
   1 2 3                                7 8 9]
   4 5 6                         A=
   7 8 9                            1 2 3
>>                                  4 5 6
                                    7 8 9
                                 >>

                               Press Enter key
                               to separate the rows
To access individual element:

>> a(3)
ans =
   3
>>
>> A(2,3)
ans =     Column index
   6 Row index
>>
colon operator
>> A(2,:)
ans =
   4 5 6
>>
Access the entire row
      increment (If it is omitted,
start          end the default value is 1)
>> t = 1:0.5:3
t=
  1.0000 1.5000     2.0000 2.5000 3.0000
>>
negative increment

>> t = 10:-1:5
t=
  10 9 8         7    6   5
>>

To extract part of the array:

>> t(2:4)
ans =
   9 8      7
>>
1.5.3 Mathematical operations

^     exponentiation             Highest priority
-     negation
*/    multiplication, division
     left division
+-    addition, subtraction      Lowest priority

• priority order can be overridden with parentheses
>> y = -4 ^ 2
y=
 -16
>>
>> y = (-4) ^ 2
y=
  16
>>
1.5.4 M-file

• M-file provides an alternative way of using
  MATLAB to perform numerical analysis
• starts with the word function
• can have input argument(s) and output(s)
• multiple inputs - separate by comma
• multiple outputs – separate by comma,
  enclose in square brackets
• it contains a series of statements
• the file is stored with an extension .m
function outvar = funcname(arglist)
% comments
statements
outvar = value;

outvar:           name of output variable
funcname:         name of function
arglist:          argument list
comments:         information for user
1.5.5 Structured programming

• simple M-file performs command sequentially,
  from the first statement to the last
• the program is highly restrictive
• real programs usually have non-sequential
  execution paths, which can be achieved via
  decisions and loops
decision
• the branching of execution flow based on a
  decision

if condition              if condition 1
       statements                group 1 statements
end                       elseif condition 2
                                 group 2 statements
if condition                     .
       group 1 statements        .
else                      else
       group 2 statements        else statements
end                       end
• one simple form of condition is a relational
  expression that compares two values

value 1 relation value 2

operator     relation
==           equal
~=           not equal
<            less than
>            greater than
<=           less than or equal to
>=           greater than or equal to
• logical operators can be used to test more
  than one logical condition
• there is priority order, use parentheses to
  override it

operator     meaning
~            not         Highest priority
&&           and
||           or           Lowest priority
loop
• the repetition of a group of statements

for index = start:step:finish
       statements
end
for i = 1:2:5
       disp(i)   Positive step
end
for i = 5:-2:1
       disp(i)   Negative step
end
for i = 1:5
       disp(i)   Default step = 1
end
while condition
      statements
end

i = 5;
while i > 0
       i = i – 1;
       disp(i)
end
Summary
♦ scope of Computer Vision

♦ application areas

♦ relations with other fields

♦ resources and development platform of
  computer vision

More Related Content

What's hot

04 control structures 1
04 control structures 104 control structures 1
04 control structures 1
Jomel Penalba
 

What's hot (16)

Functional Operations - Susan Potter
Functional Operations - Susan PotterFunctional Operations - Susan Potter
Functional Operations - Susan Potter
 
Control statements in java programmng
Control statements in java programmngControl statements in java programmng
Control statements in java programmng
 
Matlab-Data types and operators
Matlab-Data types and operatorsMatlab-Data types and operators
Matlab-Data types and operators
 
Operators in java
Operators in javaOperators in java
Operators in java
 
Matlab introduction
Matlab introductionMatlab introduction
Matlab introduction
 
Alg2 lesson 2.1
Alg2 lesson 2.1Alg2 lesson 2.1
Alg2 lesson 2.1
 
Matlab solved problems
Matlab solved problemsMatlab solved problems
Matlab solved problems
 
Linear Algebra and Matlab tutorial
Linear Algebra and Matlab tutorialLinear Algebra and Matlab tutorial
Linear Algebra and Matlab tutorial
 
Dsp lab _eec-652__vi_sem_18012013
Dsp lab _eec-652__vi_sem_18012013Dsp lab _eec-652__vi_sem_18012013
Dsp lab _eec-652__vi_sem_18012013
 
04 control structures 1
04 control structures 104 control structures 1
04 control structures 1
 
Sorting Algorithms
Sorting AlgorithmsSorting Algorithms
Sorting Algorithms
 
Palm m3 chapter1b
Palm m3 chapter1bPalm m3 chapter1b
Palm m3 chapter1b
 
Matlab Tutorial
Matlab TutorialMatlab Tutorial
Matlab Tutorial
 
Matlab lec1
Matlab lec1Matlab lec1
Matlab lec1
 
Lines and planes in space
Lines and planes in spaceLines and planes in space
Lines and planes in space
 
A complete introduction on matlab and matlab's projects
A complete introduction on matlab and matlab's projectsA complete introduction on matlab and matlab's projects
A complete introduction on matlab and matlab's projects
 

Similar to Lec1

ch02-primitive-data-definite-loops.ppt
ch02-primitive-data-definite-loops.pptch02-primitive-data-definite-loops.ppt
ch02-primitive-data-definite-loops.ppt
ghoitsun
 

Similar to Lec1 (20)

Mat lab
Mat labMat lab
Mat lab
 
Matlab-1.pptx
Matlab-1.pptxMatlab-1.pptx
Matlab-1.pptx
 
Mat lab workshop
Mat lab workshopMat lab workshop
Mat lab workshop
 
MATLAB Programming
MATLAB Programming MATLAB Programming
MATLAB Programming
 
Matlab ppt
Matlab pptMatlab ppt
Matlab ppt
 
Matlabch01
Matlabch01Matlabch01
Matlabch01
 
Introduction to matlab
Introduction to matlabIntroduction to matlab
Introduction to matlab
 
Mbd2
Mbd2Mbd2
Mbd2
 
ch02-primitive-data-definite-loops.ppt
ch02-primitive-data-definite-loops.pptch02-primitive-data-definite-loops.ppt
ch02-primitive-data-definite-loops.ppt
 
ch02-primitive-data-definite-loops.ppt
ch02-primitive-data-definite-loops.pptch02-primitive-data-definite-loops.ppt
ch02-primitive-data-definite-loops.ppt
 
An Introduction to MATLAB for beginners
An Introduction to MATLAB for beginnersAn Introduction to MATLAB for beginners
An Introduction to MATLAB for beginners
 
Python Lecture 2
Python Lecture 2Python Lecture 2
Python Lecture 2
 
Matlab_Simulink_Tutorial.ppt
Matlab_Simulink_Tutorial.pptMatlab_Simulink_Tutorial.ppt
Matlab_Simulink_Tutorial.ppt
 
The fundamentals of regression
The fundamentals of regressionThe fundamentals of regression
The fundamentals of regression
 
EPE821_Lecture3.pptx
EPE821_Lecture3.pptxEPE821_Lecture3.pptx
EPE821_Lecture3.pptx
 
Matlab introduction
Matlab introductionMatlab introduction
Matlab introduction
 
Introduction to Matlab.ppt
Introduction to Matlab.pptIntroduction to Matlab.ppt
Introduction to Matlab.ppt
 
Ch02 primitive-data-definite-loops
Ch02 primitive-data-definite-loopsCh02 primitive-data-definite-loops
Ch02 primitive-data-definite-loops
 
Introduction to MATLAB
Introduction to MATLABIntroduction to MATLAB
Introduction to MATLAB
 
Operators loops conditional and statements
Operators loops conditional and statementsOperators loops conditional and statements
Operators loops conditional and statements
 

More from Kinni MEW (18)

Test
TestTest
Test
 
Test
TestTest
Test
 
Test
TestTest
Test
 
Test
TestTest
Test
 
Test
TestTest
Test
 
Test
TestTest
Test
 
Test
TestTest
Test
 
Test
TestTest
Test
 
Test
TestTest
Test
 
Test
TestTest
Test
 
Test
TestTest
Test
 
Test
TestTest
Test
 
Test
TestTest
Test
 
Test
TestTest
Test
 
Test
TestTest
Test
 
Test
TestTest
Test
 
Test
TestTest
Test
 
Test
TestTest
Test
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Lec1

  • 1. Chapter 1 Introduction * What is Computer Vision? * Applications * Relations with other fields * Resources
  • 2. 1.1 What is Computer Vision? Computer vision is a field that includes methods for acquiring, processing, analyzing, and understanding one or more images from the real world in order to produce and communicate numerical or symbolic information to users or other systems. How to acquire images? Why we need to process and analyze images? Why we want the computer to understand the images?
  • 3. 1.2 Applications Industrial inspection and quality control – detect cracks in bottle Reverse engineering – generate 3D object model from images Face/gesture recognition – security Track and count humans – surveillance, human- computer interaction Track and count vehicles – road monitoring Image database query – automatic image retrieval Medical image analysis – assist diagnosis, surgery
  • 4. 1.3 Related disciplines computer vision = machine vision = image understanding Computer Image Vision Processing noise filtering, edge detection, etc.
  • 5. Many computer vision methods use and extend signal processing techniques Pattern recognition can be considered as part of computer vision Computer vision is, in some ways, the inverse of computer graphics. CV CG original image 3D model synthetic image
  • 6. 1.4 To know more about Computer Vision 1.4.1 conference • International Conference on Computer Vision (ICCV) • International Conference on Computer Vision and Pattern Recognition (CVPR) • European Conference on Computer Vision (ECCV)
  • 7. 1.4.2 journal • International Journal of Computer Vision • IEEE Transactions on Pattern Analysis and Machine Intelligence • Computer Vision and Image Understanding • Machine Vision and Applications 1.4.3 internet • CVonline (http://homepages.inf.ed.ac.uk/rbf/CVonline) • Numerical Recipes (http://apps.nrbook.com/empanel/index.html#)
  • 8. 1.5 Overview of MATLAB 1.5.1 The MATLAB environment • when you start MATLAB, the command window will open with the prompt >> • user can enter commands or data in the command window • for each command typed in, you get the result immediately • if you do not assign the result to a variable, MATLAB will assign it to ans
  • 9.
  • 10.
  • 11. 1.5.2 Assignment • assign value(s) to variable name(s) scalar variable >> a = 4 >> a = 4, A = 6 a= a= 4 4 Separate >> A= multiple 6 commands by >> a = 4; >> comma >> Case sensitive No echo print
  • 12. array • a collection of values represented by one variable name • one-dimensional array – vector • two-dimensional array – matrix >> a = [1 2 3 4 5] a= 1 2 3 4 5 Row vector >>
  • 13. >> a = [1;2;3;4;5] >> a = [1 2 3 4 5]' a= a= 1 1 Use single quote 2 2 as transpose 3 3 operator 4 4 5 5 >> >> Column vector
  • 14. >> A = [1 2 3; 4 5 6; 7 8 9] >> A = [1 2 3 A= 456 1 2 3 7 8 9] 4 5 6 A= 7 8 9 1 2 3 >> 4 5 6 7 8 9 >> Press Enter key to separate the rows
  • 15. To access individual element: >> a(3) ans = 3 >> >> A(2,3) ans = Column index 6 Row index >>
  • 16. colon operator >> A(2,:) ans = 4 5 6 >> Access the entire row increment (If it is omitted, start end the default value is 1) >> t = 1:0.5:3 t= 1.0000 1.5000 2.0000 2.5000 3.0000 >>
  • 17. negative increment >> t = 10:-1:5 t= 10 9 8 7 6 5 >> To extract part of the array: >> t(2:4) ans = 9 8 7 >>
  • 18. 1.5.3 Mathematical operations ^ exponentiation Highest priority - negation */ multiplication, division left division +- addition, subtraction Lowest priority • priority order can be overridden with parentheses
  • 19. >> y = -4 ^ 2 y= -16 >> >> y = (-4) ^ 2 y= 16 >>
  • 20. 1.5.4 M-file • M-file provides an alternative way of using MATLAB to perform numerical analysis • starts with the word function • can have input argument(s) and output(s) • multiple inputs - separate by comma • multiple outputs – separate by comma, enclose in square brackets • it contains a series of statements • the file is stored with an extension .m
  • 21. function outvar = funcname(arglist) % comments statements outvar = value; outvar: name of output variable funcname: name of function arglist: argument list comments: information for user
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28. 1.5.5 Structured programming • simple M-file performs command sequentially, from the first statement to the last • the program is highly restrictive • real programs usually have non-sequential execution paths, which can be achieved via decisions and loops
  • 29. decision • the branching of execution flow based on a decision if condition if condition 1 statements group 1 statements end elseif condition 2 group 2 statements if condition . group 1 statements . else else group 2 statements else statements end end
  • 30. • one simple form of condition is a relational expression that compares two values value 1 relation value 2 operator relation == equal ~= not equal < less than > greater than <= less than or equal to >= greater than or equal to
  • 31. • logical operators can be used to test more than one logical condition • there is priority order, use parentheses to override it operator meaning ~ not Highest priority && and || or Lowest priority
  • 32. loop • the repetition of a group of statements for index = start:step:finish statements end
  • 33. for i = 1:2:5 disp(i) Positive step end for i = 5:-2:1 disp(i) Negative step end for i = 1:5 disp(i) Default step = 1 end
  • 34. while condition statements end i = 5; while i > 0 i = i – 1; disp(i) end
  • 35.
  • 36.
  • 37.
  • 38. Summary ♦ scope of Computer Vision ♦ application areas ♦ relations with other fields ♦ resources and development platform of computer vision