Está en la página 1de 7

Tecnología Mecatrónica - Electrónica Industrial

Procesamiento Digital de Imágenes


Ramos Vilcas, Boris Maynard
Rodríguez Beltrán César Armando
QUINTO 13 11
2020
80 min

Primera Evaluación Continua - A

Resolver la Evaluación Continua escribiendo los códigos de programación de cada


pregunta en este mismo documento.

Problema 1: Operaciones Geométricas (10 puntos)

Realizar un algoritmo que me permita extraer la novena de una imagen cambiar su tamaño y guardarla es
escala de grises.

Imagen 1: Extraer la novena parte de “imagen11.jpg” como se muestra, duplicar su tamaño, mostrarlo en
escala de grises y guardarlo como “piece1.jpg”

import cv2
import numpy as np

img1 = cv2.imread("imagen11.jpg")
dim = img1.shape
h = dim[0]
w = dim[1]
##Region de Interes
roi = img1[0:int(h/3),int(2*w/3):w]
##Escala al doble
escala = 2
res = cv2.resize(
roi, None, fx=escala, fy=escala, interpolation=cv2.INTER_CUBIC)
##BGR->GRISES
gray = cv2.cvtColor(res, cv2.COLOR_BGR2GRAY)

cv2.imwrite("piece1.jpg",gray)

cv2.imshow("Imagen", img1)
cv2.imshow("Region de Interes", gray)

cv2.waitKey(0)
cv2.destroyAllWindows()

Imagen 2: Extraer la novena parte de “imagen12.jpg” como se muestra, triplicar su tamaño, mostrarlo en
escala de grises y guardarlo como “piece2.jpg”

import cv2
import numpy as np

img1 = cv2.imread("imagen12.jpg")
dim = img1.shape
h = dim[0]
w = dim[1]
##Region de Interes
roi = img1[int(2*h/3):h,int(2*w/3):w]
##Escala al triple
escala = 3
res = cv2.resize(
roi, None, fx=escala, fy=escala, interpolation=cv2.INTER_CUBIC)
##BGR->GRISES
gray = cv2.cvtColor(res, cv2.COLOR_BGR2GRAY)

cv2.imwrite("piece2.jpg",gray)

cv2.imshow("Imagen", img1)
cv2.imshow("Region de Interes", gray)

cv2.waitKey(0)
cv2.destroyAllWindows()
Imagen 3: Extraer la novena parte de “imagen16.jpg” como se muestra, cambiar su tamaño a 250x250,
mostrarlo en escala de grises y guardarlo como “piece3.jpg”,

import cv2
import numpy as np

img1 = cv2.imread("imagen16.jpg")
dim = img1.shape
h = dim[0]
w = dim[1]
##Region de Interes
roi = img1[int(2*h/3):h,int(w/3):int(2*w/3)]
##Escala 250X250
res = cv2.resize(roi,(250,250),
interpolation=cv2.INTER_CUBIC)
##BGR->GRISES
gray = cv2.cvtColor(res, cv2.COLOR_BGR2GRAY)

cv2.imwrite("piece3.jpg",gray)

cv2.imshow("Imagen", img1)
cv2.imshow("Region de Interes", gray)

cv2.waitKey(0)
cv2.destroyAllWindows()

Imagen 4: Extraer la novena parte de “imagen17.jpg” como se muestra, cambiar su tamaño a 300x300,
mostrarlo en escala de grises y guardarlo como “piece4.jpg”,
import cv2
import numpy as np

img1 = cv2.imread("imagen17.jpg")
dim = img1.shape
h = dim[0]
w = dim[1]
##Region de Interes
roi = img1[int(h/3):int(2*h/3),0:int(w/3)]
##Escala 300X300
res = cv2.resize(roi,(300,300),
interpolation=cv2.INTER_CUBIC)
##BGR->GRISES
gray = cv2.cvtColor(res, cv2.COLOR_BGR2GRAY)

cv2.imwrite("piece4.jpg",gray)

cv2.imshow("Imagen", img1)
cv2.imshow("Region de Interes", gray)

cv2.waitKey(0)
cv2.destroyAllWindows()

Imagen 5: Extraer la novena parte de “imagen18.jpg” como se muestra, cambiar su tamaño a 300x300,
mostrarlo en escala de grises y guardarlo como “piece5.jpg”,
import cv2
import numpy as np

img1 = cv2.imread("imagen18.jpg")
dim = img1.shape
h = dim[0]
w = dim[1]
##Region de Interes
roi = img1[0:int(h/3),0:int(w/3)]
##Escala 300X300
res = cv2.resize(roi,(300,300),
interpolation=cv2.INTER_CUBIC)
##BGR->GRISES
gray = cv2.cvtColor(res, cv2.COLOR_BGR2GRAY)

cv2.imwrite("piece5.jpg",gray)

cv2.imshow("Imagen", img1)
cv2.imshow("Region de Interes", gray)

cv2.waitKey(0)
cv2.destroyAllWindows()

Problema 2: Operaciones Aritméticas: Detección de cambios (5 puntos)


Se tomó dos fotos de un aula del instituto IDAT, nos piden realizar un algoritmo que me permita ver qué
cambios hay entre las dos imágenes mostrada en una imagen resultante.

Objetivo: Mediante operaciones aritméticas entre “imagen32.jpg” y “imagen33.jpg” mostrar en una


imagen las diferencias que existen entre estas imágenes y guardarla como “diferencias.jpg”.
import cv2
import numpy as np

img1=cv2.imread("imagen32.jpg")
img2=cv2.imread("imagen33.jpg")

res1 = cv2.resize(img1,None,fx=0.5,fy=0.5,
interpolation=cv2.INTER_CUBIC)
res2 = cv2.resize(img2,None,fx=0.5,fy=0.5,
interpolation=cv2.INTER_CUBIC)

resta1=cv2.subtract(res1,res2)
resta2=cv2.subtract(res2,res1)
suma=cv2.add(resta1,resta2)

cv2.imwrite("diferencias.jpg",suma)

cv2.imshow("suma de restas", suma)

cv2.waitKey(0)
cv2.destroyAllWindows()

Problema 3: Operaciones Aritméticas: Detección de colores (5 puntos)


El ciclo 2020-1, como examen final de curso se realizó detección de frutas mediante detección de colores,
obteniendo varias imágenes. Realice un algoritmo que me permita ver todas las imágenes en una sola
figura.

Objetivo: Mostrar la suma de “manzanas.jpg”, “peras.jpg”, “platanos.jpg” y “naranjas.jpg” y guardar la


imagen resultante como “frutas.jpg”.
import cv2

import numpy as np

img1 = cv2.imread("manzanas.jpg")
img2 = cv2.imread("peras.jpg")
img3 = cv2.imread("platanos.jpg")
img4 = cv2.imread("naranjas.jpg")

res1 = cv2.resize(img1,(500,500),
interpolation=cv2.INTER_CUBIC)
res2 = cv2.resize(img2,(500,500),
interpolation=cv2.INTER_CUBIC)
res3 = cv2.resize(img3,(500,500),
interpolation=cv2.INTER_CUBIC)
res4 = cv2.resize(img4,(500,500),
interpolation=cv2.INTER_CUBIC)

suma_img12=cv2.add(res1,res2)
suma_img34=cv2.add(res3,res4)
suma_img1234=cv2.add(suma_img12,suma_img34)

cv2.imwrite("frutas.jpg",suma_img1234)
cv2.imshow("suma", suma_img1234)

cv2.waitKey(0)
cv2.destroyAllWindows()

También podría gustarte