Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma...
Transcript of Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma...
![Page 2: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/2.jpg)
▪ Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida.
▪ Se utiliza para analizar e interpretar la imagen, por medio de algoritmos que permiten resaltar sus principales características:
▪ Bordes
▪ Contraste
▪ Puntos de interés
▪ Etc.
Corke, Peter. Robotics, vision and control: fundamental algorithms in MATLAB. Vol. 73. Springer Science &
Business Media, 2011.
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 2
![Page 3: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/3.jpg)
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 3
![Page 4: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/4.jpg)
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 4
Detección de pilas defectuosashttps://www.youtube.com/watch?v=y6wzRThO7vM
![Page 5: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/5.jpg)
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 5
![Page 6: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/6.jpg)
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 6
![Page 7: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/7.jpg)
▪ Arreglo rectangular de elementos (pixeles)
▪ En escala de gris es una función de dos variables:
▪ 1 para columnas (“c”)
▪ 1 para renglones (“r”)
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 7
c
r
![Page 8: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/8.jpg)
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 8
Estructura de una imagen de 3 dimensiones: fila, columna y color. Peter Corke. 2011.
▪ Es una función de tres variables:
▪ 1 para columnas (“c”)
▪ 1 para renglones (“r”)
▪ 1 para los canales RGB
![Page 9: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/9.jpg)
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 9
Imagen Binaria
Imagen en escala de grises
Marques, O. (2011). Practical image and video processing using MATLAB. Hoboken, NJ: Wiley-IEEE Press.
![Page 10: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/10.jpg)
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 10
Imagen a color RGB
Marques, O. (2011). Practical image and video processing using MATLAB. Hoboken, NJ: Wiley-IEEE Press.
![Page 11: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/11.jpg)
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 11
Marques, O. (2011). Practical image and video processing using MATLAB. Hoboken, NJ: Wiley-IEEE Press.
(a) Imagen en RGB. (b) Canal R. (c) Canal G. (d) Canal B
![Page 12: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/12.jpg)
▪ A partir de archivos
▪ MatLab:
➢ I1=imread('flowers8.png');
▪ OpenCV:
➢ Image = cv::imread("flowers8.png");
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 12
▪ A partir de una cámara▪ MatLab:
➢ obj=videoinput('winvideo',1);
➢ frame = getsnapshot(obj);
▪ OpenCV:
➢ cv::VideoCapture capture;
➢ capture.open(0);
![Page 13: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/13.jpg)
▪ A partir de un archivo de video
▪ MatLab:
➢ video=VideoReader('highway.avi');
➢ frame=read(video,frame_number);
▪ OpenCV:
➢ cv::VideoCapture capture;
➢ capture.open("highway.avi");
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 13
![Page 14: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/14.jpg)
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 14
𝐼 𝑂
𝑂 𝑥, 𝑦 = ቊ1 𝑠𝑖 𝐼 𝑥, 𝑦 > 𝑇0 𝑠𝑖 𝐼(𝑥, 𝑦) ≤ 𝑇
Con 𝑇 un valor dentro del rango dinámico de 𝐼.
![Page 15: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/15.jpg)
▪ El resultado es una imagen del mismo tamaño que la imagen de entrada
▪ Cada pixel de salida es una función del correspondiente pixel de entrada:
𝑂 𝑢, 𝑣 = 𝑓 𝐼 𝑢, 𝑣 , ∀ 𝑢, 𝑣 ∈ 𝐼
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 15
Operaciones monádicas. Peter Corke. 2011.
Ejemplos:
• 𝐼 ∗ 𝑒𝑠𝑐𝑎𝑙𝑎𝑟• 𝑎𝑏𝑠 𝐼• 𝑠𝑞𝑟𝑡 𝐼• Etc.
![Page 16: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/16.jpg)
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 16
𝐼
𝐼 + 50 𝐼 + 100 𝐼 + 200
𝐼 − 50 𝐼 − 100 𝐼 − 200
![Page 17: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/17.jpg)
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 17
𝐼𝐼 ∗ 1.5
𝐼 ∗ 2.0
𝐼 ∗ 3.0
![Page 18: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/18.jpg)
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 18
Operaciones diádicas. Peter Corke. 2011.
▪ Cada pixel de salida es una función de los correspondientes pixeles en las dos imágenes de entrada:
𝑂 𝑢, 𝑣 = 𝑓 𝐼1 𝑢, 𝑣 , 𝐼2 𝑢, 𝑣 , ∀ 𝑢, 𝑣 ∈ 𝐼1
Ejemplos:
• 𝐼1 + 𝐼2• 𝐼1 − 𝐼2• 𝐼1 .∗ 𝐼2• Etc.
![Page 19: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/19.jpg)
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 19
𝐼1 𝐼2
𝐼3 con uint8 𝐼3 con double
+ =
![Page 20: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/20.jpg)
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 20
Operaciones espaciales. Peter Corke. 2011.
▪ Cada pixel de salida es una función de los pixeles de una cierta ventana o región:
𝑂 𝑢, 𝑣 = 𝑓 𝐼 𝑢 + 𝑖, 𝑣 + 𝑗 , ∀ 𝑖, 𝑗 ∈ 𝒲,∀ 𝑢, 𝑣 ∈ 𝐼, 𝑖, 𝑗 ∈ [−ℎ, ℎ]
Lineales:
• Suavizadores
• Detección de
bordes, etc.
No lineales:
• Filtro de rango
• Emparejamiento
• Etc.
![Page 21: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/21.jpg)
▪ Operador espacial lineal:
𝑂 𝑢, 𝑣 =
𝑖,𝑗 ∈𝒲
𝐼 𝑢 + 𝑖, 𝑣 + 𝑗 𝐾 𝑖, 𝑗 , ∀ 𝑢, 𝑣 ∈ 𝐼, 𝑖, 𝑗 ∈ −ℎ, ℎ
donde K ∈ ℝ𝑤×𝑤 es un kernel.
▪ Para una imagen de tamaño 𝑁 × 𝑁, se requiere 𝑤2𝑁2
multiplicaciones y sumas
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 21
![Page 22: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/22.jpg)
▪ Operador espacial lineal 𝑂 = 𝐼 ⊗ 𝐾:
𝑂 𝑢, 𝑣 =
𝑖,𝑗 ∈𝒲
𝐼 𝑢 − 𝑖, 𝑣 − 𝑗 𝐾 𝑖, 𝑗 , ∀ 𝑢, 𝑣 ∈ 𝐼, 𝑖, 𝑗 ∈ −ℎ, ℎ
donde K ∈ ℝ𝑤×𝑤 es un kernel de convolución
▪ Si el kernel es simétrico entonces la convolución es igual a la correlación
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 22
▪ Propiedades:
▪ Conmutativo 𝐴⊗𝐵 = 𝐵 ⊗𝐴
▪ Asociativo 𝐴⊗𝐵⊗𝐶 = 𝐴⊗ 𝐵 ⊗𝐶 = 𝐴⊗ 𝐵⊗𝐶
▪ Distributivo 𝐴⊗ 𝛼𝐵 = 𝛼 𝐴⊗𝐵
▪ Lineal 𝐴⊗ 𝐵 + 𝐶 = 𝐴⊗ 𝐵 + 𝐴⊗ 𝐶
![Page 23: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/23.jpg)
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 23
𝐼(1,1) 𝐼(1,2) 𝐼(1,3) 𝐼(1,4) 𝐼(1,5) 𝐼(1,6)
𝐼(2,1) 𝐼(2,2) 𝐼(2,3) 𝐼(2,4) 𝐼(2,5) 𝐼(2,6)
𝐼(3,1) 𝐼(3,2) 𝐼(3,3) 𝐼(3,4) 𝐼(3,5) 𝐼(3,6)
𝐼(4,1) 𝐼(4,2) 𝐼(4,3) 𝐼(4,4) 𝐼(4,5) 𝐼(4,6)
𝐼(5,1) 𝐼(5,2) 𝐼(5,3) 𝐼(5,4) 𝐼(5,5) 𝐼(5,6)
𝐾(1,1) 𝐾(1,2) 𝐾(1,3)
𝐾(2,1) 𝐾(2,2) 𝐾(2,3)
𝐾(3,1) 𝐾(3,2) 𝐾(3,3)
𝑂(1,1) 𝑂(1,2) 𝑂(1,3) 𝑂(1,4) 𝑂(1,5) 𝑂(1,6)
𝑂(2,1) 𝑂(2,2) 𝑂(2,3) 𝑂(2,4) 𝑂(2,5) 𝑂(2,6)
𝑂(3,1) 𝑂(3,2) 𝑶(𝟑, 𝟑) 𝑂(3,4) 𝑂(3,5) 𝑂(3,6)
𝑂(4,1) 𝑂(4,2) 𝑂(4,3) 𝑂(4,4) 𝑂(4,5) 𝑂(4,6)
𝑂(5,1) 𝑂(5,2) 𝑂(5,3) 𝑂(5,4) 𝑂(5,5) 𝑂(5,6)
Ventana 𝑊
𝑂 3,3 = 𝐼 2,2 ∗ 𝐾 1,1 + 𝐼 2,3 ∗ 𝐾 1,2 + 𝐼 2,4 ∗ 𝐾 1,3 +𝐼 3,2 ∗ 𝐾 2,1 + 𝐼 3,3 ∗ 𝐾 2,2 + 𝐼 3,4 ∗ 𝐾 2,3 +𝐼 4,2 ∗ 𝐾 3,1 + 𝐼 4,3 ∗ 𝐾 3,2 + 𝐼 4,4 ∗ 𝐾 3,3
𝐼 𝑂
𝐾
![Page 24: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/24.jpg)
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 24
𝐼(1,1) 𝐼(1,2) 𝐼(1,3) 𝐼(1,4) 𝐼(1,5) 𝐼(1,6)
𝐼(2,1) 𝐼(2,2) 𝐼(2,3) 𝐼(2,4) 𝐼(2,5) 𝐼(2,6)
𝐼(3,1) 𝐼(3,2) 𝐼(3,3) 𝐼(3,4) 𝐼(3,5) 𝐼(3,6)
𝐼(4,1) 𝐼(4,2) 𝐼(4,3) 𝐼(4,4) 𝐼(4,5) 𝐼(4,6)
𝐼(5,1) 𝐼(5,2) 𝐼(5,3) 𝐼(5,4) 𝐼(5,5) 𝐼(5,6)
𝐾(1,1) 𝐾(1,2) 𝐾(1,3)
𝐾(2,1) 𝐾(2,2) 𝐾(2,3)
𝐾(3,1) 𝐾(3,2) 𝐾(3,3)
𝑂(1,1) 𝑂(1,2) 𝑂(1,3) 𝑂(1,4) 𝑂(1,5) 𝑂(1,6)
𝑂(2,1) 𝑂(2,2) 𝑂(2,3) 𝑂(2,4) 𝑂(2,5) 𝑂(2,6)
𝑂(3,1) 𝑂(3,2) 𝑶(𝟑, 𝟑) 𝑂(3,4) 𝑂(3,5) 𝑂(3,6)
𝑂(4,1) 𝑂(4,2) 𝑂(4,3) 𝑂(4,4) 𝑂(4,5) 𝑂(4,6)
𝑂(5,1) 𝑂(5,2) 𝑂(5,3) 𝑂(5,4) 𝑂(5,5) 𝑂(5,6)
Ventana 𝑊𝐼 𝑂
𝐾
𝑂 3,3 = 𝐼 4,4 ∗ 𝐾 1,1 + 𝐼 4,3 ∗ 𝐾 1,2 + 𝐼 4,2 ∗ 𝐾 1,3 +𝐼 3,4 ∗ 𝐾 2,1 + 𝐼 3,3 ∗ 𝐾 2,2 + 𝐼 3,2 ∗ 𝐾 2,3 +𝐼 2,4 ∗ 𝐾 3,1 + 𝐼 2,3 ∗ 𝐾 3,2 + 𝐼 2,2 ∗ 𝐾 3,3
![Page 25: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/25.jpg)
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 25
𝐼(1,1) 𝐼(1,2) 𝐼(1,3) 𝐼(1,4) 𝐼(1,5) 𝐼(1,6)
𝐼(2,1) 𝐼(2,2) 𝐼(2,3) 𝐼(2,4) 𝐼(2,5) 𝐼(2,6)
𝐼(3,1) 𝐼(3,2) 𝐼(3,3) 𝐼(3,4) 𝐼(3,5) 𝐼(3,6)
𝐼(4,1) 𝐼(4,2) 𝐼(4,3) 𝐼(4,4) 𝐼(4,5) 𝐼(4,6)
𝐼(5,1) 𝐼(5,2) 𝐼(5,3) 𝐼(5,4) 𝐼(5,5) 𝐼(5,6)
𝑂(1,1) 𝑂(1,2) 𝑂(1,3) 𝑂(1,4) 𝑂(1,5) 𝑂(1,6)
𝑂(2,1) 𝑂(2,2) 𝑂(2,3) 𝑂(2,4) 𝑂(2,5) 𝑂(2,6)
𝑂(3,1) 𝑂(3,2) 𝑶(𝟑, 𝟑) 𝑂(3,4) 𝑂(3,5) 𝑂(3,6)
𝑂(4,1) 𝑂(4,2) 𝑂(4,3) 𝑂(4,4) 𝑂(4,5) 𝑂(4,6)
𝑂(5,1) 𝑂(5,2) 𝑂(5,3) 𝑂(5,4) 𝑂(5,5) 𝑂(5,6)
𝐾(1,1)𝐾(1,2)𝐾(1,3)
𝐾(2,1)𝐾(2,2)𝐾(2,3)
𝐾(3,1)𝐾(3,2)𝐾(3,3)
Ventana 𝑊𝐼 𝑂
𝐾𝑂 3,3 = 𝐼 4,4 ∗ 𝐾 1,1 + 𝐼 4,3 ∗ 𝐾 1,2 + 𝐼 4,2 ∗ 𝐾 1,3 +
𝐼 3,4 ∗ 𝐾 2,1 + 𝐼 3,3 ∗ 𝐾 2,2 + 𝐼 3,2 ∗ 𝐾 2,3 +𝐼 2,4 ∗ 𝐾 3,1 + 𝐼 2,3 ∗ 𝐾 3,2 + 𝐼 2,2 ∗ 𝐾 3,3
correlación con kernel girado
![Page 26: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/26.jpg)
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 26
▪ Cada pixel de salida es una función de un sub-conjunto de pixeles en una región circundante al pixel correspondiente en la imagen de entrada:
𝑂 𝑢, 𝑣 = 𝑓 𝐼 𝑢 + 𝑖, 𝑣 + 𝑗 , ∀ 𝑖, 𝑗 ∈ 𝒮, ∀ 𝑢, 𝑣 ∈ 𝐼
donde 𝒮 es una ventana de estructura, típicamente de 𝑤 × 𝑤 con longitud impar 𝑤 = 2ℎ + 1, con ℎ ∈ ℤ+ la mitad de la longitud.
Operaciones morfológicas. Peter Corke. 2011.
Ejemplos:
• Erosión
• Dilatación
• Etc.
![Page 27: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/27.jpg)
▪ Erosión𝑂 = 𝐼 ⊖ 𝒮
𝑂 𝑢, 𝑣 = 𝑓 𝐼 𝑢 + 𝑖, 𝑣 + 𝑗 , ∀ 𝑖, 𝑗 ∈ 𝒮, ∀ 𝑢, 𝑣 ∈ 𝐼
con 𝑓 ∙ = min(∙)
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 27
▪ Dilatación𝑂 = 𝐼 ⊕ 𝒮
𝑂 𝑢, 𝑣 = 𝑓 𝐼 𝑢 + 𝑖, 𝑣 + 𝑗 , ∀ 𝑖, 𝑗 ∈ 𝒮, ∀ 𝑢, 𝑣 ∈ 𝐼
con 𝑓 ∙ = m𝑎𝑥(∙)
![Page 28: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/28.jpg)
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 28
𝐼 𝑖𝑚𝑒𝑟𝑜𝑑𝑒(𝐼, 𝑠𝑒) 𝑖𝑚𝑑𝑖𝑙𝑎𝑡𝑒(𝐼, 𝑠𝑒) 𝑠𝑒
![Page 29: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/29.jpg)
➢Image=imread('tenis.bmp');
➢subImage=Image(50:210,200:270,:);
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 29
50 100 150 200 250 300 350
50
100
150
200
Image
10 20 30 40 50 60 70
20
40
60
80
100
120
140
160
subImage
![Page 30: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/30.jpg)
➢Image_new = imresize(Image,2.0);
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 30
100 200 300 400 500 600 700
50
100
150
200
250
300
350
400
45050 100 150 200 250 300 350
50
100
150
200
ImageImage_new
![Page 31: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/31.jpg)
➢I2 = impyramid(Image, 'reduce');
➢I3 = impyramid(I2, 'reduce');
➢I4 = impyramid(I3, 'reduce');
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 31
Image
50 100 150 200 250 300 350
50
100
150
200
20 40 60 80 100 120 140 160
20
40
60
80
100
120
10 20 30 40 50 60 70 80
10
20
30
40
50
60
5 10 15 20 25 30 35 40
5
10
15
20
25
30
I2
I3
I4
![Page 32: Francisco J. Hernández López fcoj23@cimat · 2018-04-24 · Proceso computacional que transforma una o más imágenes de entrada en una imagen de salida. Se utiliza para analizar](https://reader033.fdocuments.es/reader033/viewer/2022042207/5eaa0bb669222f3485273470/html5/thumbnails/32.jpg)
▪ Inicializar con ceros el vector ℎ𝐼 de tamaño 256.
▪ Para todos los pixeles Ԧ𝑥 de la imagen 𝐼▪ 𝑖𝑑𝑥 = 𝐼 Ԧ𝑥 en C/C++ o 𝑖𝑑𝑥 = 𝐼 Ԧ𝑥 + 1 en MatLab
▪ ℎ𝐼 𝑖𝑑𝑥 = ℎ 𝑖𝑑𝑥 + 1
Enero-Julio 2018Procesamiento de Imágenes. Francisco J. Hernández-López 32
Sonka, Milan, Vaclav Hlavac, and Roger Boyle. Image processing, analysis, and machine vision. Cengage Learning, 2014.