36
Image Processing Using OPenCV (Open Computer Vision Library) Henry Ruiz

OpenCV Image Processing

Embed Size (px)

Citation preview

Page 1: OpenCV Image Processing

Image Processing UsingOPenCV (Open Computer Vision Library)Henry Ruiz

Page 2: OpenCV Image Processing

AgendaComputer Vision

Artificial Vision Systems (AVS)

Areas of knowledge embedded

Components of a AVS

Digital Representation of Images

OpenCV (Image Analysis Technology )

What do you need to know…?

How does an Artificial Vision System work?

Operations between Images

Applications and demos

Page 3: OpenCV Image Processing

Computer VisionComputer vision is a field that includes methods for acquiring, processing, analyzing, and

understanding images and, in general, high-dimensional data from the real world in order to produce

numerical or symbolic information, e.g., in the forms of decisions.

As a scientific discipline, computer vision is concerned with the theory behind artificial systems that

extract information from images. The image data can take many forms, such as video sequences, views

from multiple cameras, or multi-dimensional data from a medical scanner. As a technological discipline,

computer vision seeks to apply its theories and models to the construction of computer vision systems.

Sub-domains of computer vision include scene reconstruction, event detection, video tracking, object

recognition, learning, indexing, motion estimation, and image restoration.

Page 4: OpenCV Image Processing

Artificial Vision Systems (AVS)

System that have like objective:

The detection, segmentation, localization and recognition of objects or things inside the images ( for example human faces, patterns, shapes or features).

improvement and restoration of images.

Image Analysis and interpretation of images.

Tracking of objects inside a sequence of processed images (video).

Page 5: OpenCV Image Processing

Areas of knowledge embedded

Page 6: OpenCV Image Processing

Components of a AVSIm

age

Acq

uis

itio

nSy

stem

Ligh

t so

urc

e

Sto

rage

Sys

tem

Pro

cess

ing

syst

em

Co

mm

un

icat

ion

syst

em

Filin

gsy

stem

Page 7: OpenCV Image Processing

Work Flow AVS

Knowledge Base

segmentationRepresentation

and Description

Pre-processing

Image

Acquisition

Recognition

and

interpretation

ResultsProficiency

issue

Page 8: OpenCV Image Processing

A digital image is a matrix or two-dimensional array of numbers.

Each cell in the matrix represents a pixel.Sample: Image of 20x15.

Un píxel

90 67 68 75 78 98 185 180 153 139 132 106 70 80 81 69 69 67 35 34

92 87 73 78 82 132 180 152 134 120 102 106 95 75 72 63 75 42 19 29

63 102 89 76 98 163 166 164 175 159 120 103 132 96 68 42 49 46 17 22

45 83 109 80 130 158 166 174 158 134 105 71 82 121 80 51 12 50 31 17

39 69 92 115 154 122 144 173 155 105 98 86 82 106 83 76 17 29 41 19

34 80 73 132 144 110 142 181 173 122 100 88 141 142 111 87 33 18 46 36

37 93 88 136 171 164 137 171 190 149 110 137 168 161 132 96 56 23 48 49

66 117 106 147 188 202 198 187 187 159 124 151 167 158 138 105 80 55 59 54

127 136 107 144 188 197 188 184 192 172 124 151 138 108 116 114 84 46 67 54

143 134 99 143 188 172 129 127 179 167 106 118 111 54 70 95 90 46 69 52

141 137 96 146 167 123 91 90 151 156 121 93 78 82 97 91 87 45 66 39

139 137 80 131 162 145 131 129 154 161 158 149 134 122 115 99 84 35 52 30

137 133 56 104 165 167 174 181 175 169 165 162 158 142 124 103 67 19 31 23

135 132 65 86 173 186 200 198 181 171 162 153 145 135 121 104 53 14 15 33

132 132 88 50 149 182 189 191 186 178 166 157 148 131 106 78 28 10 15 44

Digital Representation of Images

Page 9: OpenCV Image Processing

A more common way to display an image ...

píxel

Digital Representation of Images

Page 10: OpenCV Image Processing

Another possible way to visualize / interpret an image is...

as a two

dimensional

surface.As a discrete

sampling of the

continuous

signal.

Digital Representation of Images

Page 11: OpenCV Image Processing

OpenCV (Image Analysis Technology )“OpenCV is released under a BSD (Berkeley Software Distribution) licenseand hence it’s free for both academic and commercial use. It has C++, C,Python and Java interfaces and supports Windows, Linux, Mac OS, iOS andAndroid. OpenCV was designed for computational efficiency and with astrong focus on real-time applications. Written in optimized C/C++, thelibrary can take advantage of multi-core processing. Adopted all around theworld, OpenCV has more than 47 thousand people of user community andestimated number of downloads exceeding 6 million. Usage ranges frominteractive art, to mines inspection, stitching maps on the web or throughadvanced robotics.”

Page 12: OpenCV Image Processing

OpenCV (Image Analysis Technology )

Page 13: OpenCV Image Processing

OpenCV (Image Analysis Technology )

Java - http://goo.gl/FXOQdB

Python - http://goo.gl/UyUzAt

C++ - http://docs.opencv.org/

C - http://docs.opencv.org/

.Net(Emgu CV)- http://www.emgu.com/

Android - http://web.stanford.edu/class/ee368/Android/

IOs

Page 14: OpenCV Image Processing

OpenCV (Image Analysis Technology )

Page 15: OpenCV Image Processing

What do you need to know…?

Have basic programming skills (programming fundamentals)

Basic knowledge using C++, python or another programming language

You can find a lot of Information over C++,python etc. in internet

Basic skills in Image Processing and Linear Algebra

Page 16: OpenCV Image Processing

How does an Artificial Vision System work?

Page 17: OpenCV Image Processing

Operations between ImagesQuestion: What is the theoretical basis of image processing? What operations apply?

Reminder: a digital image is nothing more than a matrix or two-dimensional array of numbers!

We can apply the same operations that covers any number: add, subtract, multiply, divide, apply and, or, maximum, minimum, integrals, derivatives ...

90 67 68 75 78

92 87 73 78 82

63 102 89 76 98

45 83 109 80 130

39 69 92 115 154

Page 18: OpenCV Image Processing

Wich operation Should I Apply? How Can I determine it?

Page 19: OpenCV Image Processing

Using the histogram

Sample 1. La imagen es muy oscura. Falta luz.

0 255127

Frec

uen

cia

• Sample 2. La imagen es muy clara. Sobra brillo.

0 255127Fr

ecu

enci

a

Page 20: OpenCV Image Processing

Tipos de operaciones. Histogramas.

Ejemplo 3. La imagen tiene poco contraste.

0 255127

Frec

uen

cia

• Ejemplo 4. Hay mucho contraste, pocos medios tonos.

0 255127Fr

ecu

enci

a

Page 21: OpenCV Image Processing

Demos

Page 22: OpenCV Image Processing
Page 23: OpenCV Image Processing
Page 24: OpenCV Image Processing
Page 25: OpenCV Image Processing
Page 26: OpenCV Image Processing

Rice Platform

Page 27: OpenCV Image Processing

Biotechnology

Page 28: OpenCV Image Processing

NDVI (Normalized difference vegetation index

Page 29: OpenCV Image Processing

CIAT NDVI (Normalized difference vegetation index )

Healthy Plant Dry and chl. reduced plant

REDhealthy= 0.05 REDstressed = 0.4

NIRhealthy = 0.5 NIRstressed = 0.5

Page 30: OpenCV Image Processing

Features Extraction- Chalky grains

Page 31: OpenCV Image Processing

characterization of diseases

Page 32: OpenCV Image Processing

future works

Page 33: OpenCV Image Processing

future works

Page 34: OpenCV Image Processing

future works

Page 35: OpenCV Image Processing

Video (Ted Conference)http://www.ted.com/talks/pranav_mistry_the_thrilling_potential_of_sixthsense_technology

Page 36: OpenCV Image Processing

Thanks for listening