Código de Python - Zoom.

Imágen de perfil

Zoom.gráfica de visualizaciones


Python

Publicado el 23 de Febrero del 2024 por Hilario (122 códigos)
236 visualizaciones desde el 23 de Febrero del 2024
Figure_1
Figure_2
Figure_3

Este es un ejemplo sencillo, un ejemplo de cómo editar cualquier imagen de tres canales RGB, con ruta a tu ordenador . Para poder visualizar la imagen, y realizar zoon a la misma, hasta poder visualizar el valor de los pixeles en los tres canales RGB en la propia consola, con este tipo de salida:

Rectángulo seleccionado: (1564, 576) - (2400, 2239)
Rectángulo seleccionado: (1750, 956) - (2172, 1741)
Rectángulo seleccionado: (1066, 332) - (3362, 2374)
Rectángulo seleccionado: (1066, 323) - (3362, 2366)
Rectángulo seleccionado: (1539, 678) - (2307, 1843)
Rectángulo seleccionado: (914, 256) - (2704, 2273)
Rectángulo seleccionado: (914, 256) - (2704, 2273)
Rectángulo seleccionado: (1319, 796) - (1800, 1589)
Rectángulo seleccionado: (838, 534) - (2864, 2383)
Rectángulo seleccionado: (1176, 728) - (2307, 1615)
Rectángulo seleccionado: (1176, 1437) - (2307, 1615)
Rectángulo seleccionado: (787, 382) - (1724, 1995)
Rectángulo seleccionado: (1108, 1058) - (1108, 1058)
Rectángulo seleccionado: (1345, 737) - (3219, 2501)
Rectángulo seleccionado: (171, 154) - (4046, 2839)


Lo construimos aplicando las librerías usuales de Python

Otra forma de hacerlo podría ser importando OpenCV para manejar imágenes, visualizarlas y realizar operaciones como el zoom. Puedes adaptar el código según tu preferencia de biblioteca, y adaptarlo a esta otra librería.

********************************************************************************************************************
A continuación resumimos los pasos esenciales de este sencillo ejercicio:

Importación de Bibliotecas:
--------------------------
Se importan las bibliotecas necesarias, que incluyen matplotlib.pyplot, matplotlib.widgets.RectangleSelector, y matplotlib.image.

Carga de la Imagen:
--------------------------
Se especifica la ruta de la imagen en el ordenador.
La imagen se carga utilizando la función mpimg.imread de matplotlib.image.

Creación de la Figura:
----------------------------
Se crea una figura y un conjunto de ejes utilizando plt.subplots().
La imagen se muestra en los ejes con ax.imshow().

Definición de Funciones:
----------------------------------------
Se define una función onselect que se ejecutará cuando se seleccione un rectángulo.
Dentro de esta función, se calculan las coordenadas del rectángulo seleccionado y se imprimen en la consola.

Lista de Coordenadas de Rectángulos:
--------------------------------------------------
Se crea una lista rect_coords para almacenar las coordenadas de los rectángulos seleccionados.

Selector de Rectángulos:
------------------------------------
Se crea un objeto RectangleSelector que está asociado a los ejes (ax) y la función onselect.
Se especifica el botón del ratón permitido para la interacción (button=[1]), y otras configuraciones como la mínima separación horizontal y vertical (minspanx y minspany), y las coordenadas en las que se mide el ancho y el alto (spancoords).
Visualización y Interacción:

La imagen y los ejes se muestran con plt.show().
Se imprime un mensaje indicando que se puede hacer clic y arrastrar para seleccionar un rectángulo.
En resumen, este código crea una interfaz interactiva que te permite hacer clic y arrastrar para seleccionar rectángulos en una imagen. Las coordenadas de los rectángulos seleccionados se imprimen en la consola. Puedes ajustar las configuraciones según tus necesidades, como el botón del ratón permitido, la sensibilidad de la selección, entre otros.

------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
Realizado en platafroam Linux.
Ubuntu 20.04.6 LTS
Editado con:Sublime Text.

Ejecución bajo consola de linux.
python3 Aula_28_Zoom_Pixel.py

Requerimientos

Realizado en platafroam Linux.
Ubuntu 20.04.6 LTS
Editado con:Sublime Text.
---------------------------------------
Ejecución bajo consola de linux.
python3 Aula_28_Zoom_Pixel.py

V-0.

Publicado el 23 de Febrero del 2024gráfica de visualizaciones de la versión: V-0.
237 visualizaciones desde el 23 de Febrero del 2024
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#Ejecución  python3 Aula_28_Zoom_Pixel.py
 
import matplotlib.pyplot as plt
from matplotlib.widgets import RectangleSelector
import matplotlib.image as mpimg
 
# Ruta de la imagen, que deberás modificar  en tu ordenador
ruta_imagen = "/home/margarito/python/imagen.jpg"
 
# Cargar la imagen
imagen = mpimg.imread(ruta_imagen)
 
# Crear una figura
fig, ax = plt.subplots()
imgplot = ax.imshow(imagen)
 
# Lista para almacenar las coordenadas de los rectángulos
rect_coords = []
 
# Función para manejar eventos al seleccionar un rectángulo
def onselect(eclick, erelease):
    x1, y1 = int(min(eclick.xdata, erelease.xdata)), int(min(eclick.ydata, erelease.ydata))
    x2, y2 = int(max(eclick.xdata, erelease.xdata)), int(max(eclick.ydata, erelease.ydata))
    rect_coords.append(((x1, y1), (x2, y2)))
    print(f"Rectángulo seleccionado: ({x1}, {y1}) - ({x2}, {y2})")
 
# Crear el selector de rectángulos
rect_selector = RectangleSelector(ax, onselect, button=[1], minspanx=5, minspany=5, spancoords='pixels', interactive=True)
 
# Mostrar la imagen
plt.title("Haz clic y arrastra para SELECCIONAR un rectángulo")
plt.show()



Comentarios sobre la versión: V-0. (0)


No hay comentarios
 

Comentar la versión: V-0.

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s7496