An Elementary Introduction to the Wolfram Language
10Imágenes
In[1]:=
Click for copyable input
Out[1]=
Pueden aplicarse funciones a imágenes, tal como se hace con números, listas u otras cosas. La función ColorNegate, que se vio antes en conexión con los colores, también trabaja con imágenes y produce una imagen negativa.
In[2]:=
Click for copyable input
Out[2]=
In[3]:=
Click for copyable input
Out[3]=
In[4]:=
Click for copyable input
Out[4]=
Puede hacerse una tabla con los resultados de diferentes niveles de difuminación:
In[5]:=
Click for copyable input
Out[5]=
ImageCollage reúne varias imágenes:
In[6]:=
Click for copyable input
Out[6]=
Se pueden hacer muchos tipos de análisis con una imagen. Así, por ejemplo, DominantColors produce una lista con los colores más significativos en una imagen.
In[7]:=
Click for copyable input
Out[7]=
Binarize produce una imagen en blanco y negro:
In[8]:=
Click for copyable input
Out[8]=
Como es de esperar, los colores dominantes son, en este caso, el blanco y el negro:
In[9]:=
Click for copyable input
Out[9]=
Identifique los bordes en la imagen original:
In[10]:=
Click for copyable input
Out[10]=
In[11]:=
Click for copyable input
Out[11]=
A menudo conviene hacer el procesamiento de imágenes de manera interactiva mediante el uso de interfaces producidas con Manipulate. Así, por ejemplo, Binarize permite fijar un umbral para la conversión a blanco y negro y, en tal caso, la experimentación interactiva puede ser lo más indicado para encontrar el umbral correcto.
Cree una interfaz para ajustar el umbral en la binarización de una imagen:
In[12]:=
Click for copyable input
Out[12]=
CurrentImage[ ] captura la imagen actual en la computadora, etc.
ColorNegate[ ] obtiene el negativo de los colores de una imagen
Binarize[ ] pone una imagen en blanco y negro
Blur[ , 5] difumina o hace borrosa una imagen
EdgeDetect[ ] detecta los bordes dentro de una imagen
DominantColors[ ] obtiene una lista de los colores dominantes en una imagen
ImageCollage[{ , , }] reúne varias imágenes en un collage
ImageAdd[ , ] suma los valores de color de dos imágenes
10.1Obtenga el negativo de color del resultado de encontrar los bordes en una imagen. (Use CurrentImage[ ] o cualquier otra imagen). »
Muestra de salida esperada:
Out[]=
10.2Use Manipulate para hacer una interfaz que cambie, en una imagen, la difuminación entre 0 y 20. »
Muestra de salida esperada:
Out[]=
10.3Cree una tabla con el resultado de detectar bordes en una imagen, con niveles variables de difuminación, entre 1 y 10. »
Muestra de salida esperada:
Out[]=
10.4Haga un collage de imágenes, reuniendo una imagen y los resultados de hacerla borrosa, de detectar sus bordes y de binarizarla. »
Muestra de salida esperada:
Out[]=
10.5Sume una imagen a la versión binarizada de la misma. »
Muestra de salida esperada:
Out[]=
10.6Cree un Manipulate para mostrar los bordes de una imagen con niveles variables de difuminación, entre 0 y 20. »
Muestra de salida esperada:
Out[]=
10.7Las operaciones con imágenes funcionan con Graphics y Graphics3D. Así pues, si se quiere detectar los bordes en la gráfica de una esfera se puede hacer: »
Salida esperada:
Out[]=
10.8Haga un Manipulate para construir una interfaz que cambie el nivel de difuminación, entre el 0 y el 20, de un pentágono morado. »
Salida esperada:
Out[]=
10.9Cree un collage con las imágenes de 9 discos, cada uno con un color aleatorio.. »
Muestra de salida esperada:
Out[]=
10.10Use ImageCollage para formar una imagen combinada de esferas, con tonalidades del 0 al 1, en incrementos de 0.2. »
Salida esperada:
Out[]=
10.11Forme la tabla de un disco con niveles variables de difuminación, del 0 al 30, en incrementos de 5. »
Salida esperada:
Out[]=
10.12Use ImageAdd para sumar una imagen a la imagen de un disco. »
Muestra de salida esperada:
Out[]=
10.13Use ImageAdd para sumar una imagen a la imagen de un octágono rojo. »
Muestra de salida esperada:
Out[]=
Muestra de salida esperada:
Out[]=
+10.1Detecte bordes en una imagen binarizada. »
Muestra de salida esperada:
Out[]=
+10.2Obtenga el negativo de color en el resultado de detectar bordes en la gráfica de un pentágono regular. »
Salida esperada:
Out[]=
+10.3Use ImageAddpara sumar una imagen consigo misma. »
Muestra de salida esperada:
Out[]=
+10.4Use ImageAdd para sumar las imágenes de todos los polígonos regulares que tengan entre 3 y 100 lados. »
Salida esperada:
Out[]=
En vez de CurrentImage[], consiga una imagen de prueba, por ejemplo, ExampleData[{"TestImage", "Mandrill"}].
¿Qué significa el número en la función Blur?
Es la gama de píxeles que conllevan la difuminación.
¿Cómo decide Binarize entre blanco y negro?
Si no se le fija un umbral, lo elegirá de acuerdo al análisis de la distribución de los colores en la imagen.
 
Download Notebook Version
en