Procesamiento de datos e imágenes: punto de conocimiento de revisión de fin de período 2 2 (incluida la inspección de comandos simples de matlab)

Tipo de pregunta del examen: opción múltiple 10/2' | complete el espacio en blanco 10/1' | verdadero o falso 10/1'|respuesta corta 6/5'|completa 3/10'
!!PD: Tenga en cuenta que este artículo es solo para referencia de aprendizaje, si hay algún error, comuníquese conmigo por mensaje privado para modificarlo ~~

2. Preguntas comprensivas

  1. transformación geométrica
  2. Compresión de imagen
  3. afilado diferencial

3. Completa los espacios en blanco

1. La calidad de una imagen digital depende en gran medida del número de muestras y niveles de gris utilizados en el muestreo y la cuantificación.
La resolución espacial es el detalle más pequeño que se puede discernir en una imagen, y el valor de muestreo es el parámetro principal que determina la resolución espacial de una imagen.
La resolución de escala de grises se refiere al cambio más pequeño que se puede distinguir en el nivel de escala de grises, que está determinado por el nivel cuantificado, y el nivel de escala de grises suele ser una potencia entera de 2.
2. Si hay contornos falsos en la imagen , significa que el número de niveles de gris no es suficiente
3. ¿Cómo realzar? Mejore el contraste y aumente la claridad
4. La transformación de posición de la imagen se utiliza principalmente para el registro de objetivos en el reconocimiento de objetivos .

Cuatro, comando simple de MATLAB

1. Leer y escribir archivos de imagen

imread('melocotón.jpg'); %Lee una imagen en color con el sufijo .jpg
imwrite(f, 'nombre de archivo') %Explicación: el nombre de archivo es una cadena que contiene el nombre completo (y la extensión) del archivo de imagen, el formato del archivo también se puede especificar mediante el tercer argumento de entrada. Si no se incluye información de ruta en el nombre de archivo, la función guarda el archivo en el directorio de trabajo actual.
La función imshow se usa para mostrar el archivo de imagen.
figure o figure (nombre de la ventana): se usa para configurar la ventana de visualización de la imagen.
La información detallada de la imagen mostrada por la función imfinfo incluye: nombre del archivo, fecha de la última modificación del archivo, tamaño del archivo (en bytes), el formato de archivo, la longitud y el ancho de la imagen (en píxeles), la profundidad de color de la imagen, etc. La función
size() muestra su tamaño
title Agrega un título a la
subparcela de la imagen Divide la ventana de gráficos en múltiples partes rectangulares, cada parte se puede usar por separado para mostrar.
la subparcela (m, n, p) se divide en m*n ventanas pequeñas, y el eje de coordenadas creado en la ventana pth es el eje de coordenadas actual para mostrar gráficos.

2. Conversión de tipo de imagen

rgb2gray convierte la imagen en color verdadero en una imagen en escala de grises
im2bw convierte la imagen en una imagen binaria a través del método de umbral
Ejemplo: I=im2bw(j, nivel)
El nivel representa el umbral de escala de grises, el rango de valores es 0~1 (es decir, 0.n) , lo que indica que el valor de umbral se toma del n% del rango de escala de grises de la imagen original. Nota: si toma el valor predeterminado, se puede omitir el nivel.
uint8() convierte los datos de tipo doble en la matriz al tipo uint8. Debido a que la función imshow solo puede mostrar datos de tipo uint8, si el tipo de datos es doble, no se mostrará normalmente, por lo que debe convertirse primero.
double() convierte datos a tipo doble para cálculos de punto flotante.

3. Mejora de la imagen

Ajuste de escala de grises
La función imadjust ajusta la escala de grises o el color de la imagen para lograr un brillo general y un oscurecimiento general de la imagen.
J = imadjust(I,[low_in,high_in],[low_out,high_out])
mapea el valor de brillo en la imagen I a Nuevos valores en J que mapean valores de low_in a high_in a valores de low_out a high_out. Todos pueden usar una matriz vacía [ ], el valor predeterminado es [0 1].
Ejemplo: i=imread('w01.tif');
j=imadjust(i,[0.3,0.7],[ ]); Convierta la imagen i a j, de modo que el valor de gris sea de 0.3~0.7 y el valor predeterminado 0 ~ 1 partido

4. Función de cálculo

1. ceros genera una matriz o matriz de todos los 0
Ejemplo: B = ceros (m, n) o B = ceros ([mn]) devuelve una matriz m * n de todos los 0
2. Función de redondeo: función de redondeo mínimo mínimo, ronda rounding Función de redondeo, función de redondeo máximo ceil
Ejemplo: a = [-1.9, -0.2, 3.4, 5.6, 7.0];I=round(a);I = [-2 0 3 6 7] 3. Función unos: generar
todo 1 matriz


función imhist()
: se utiliza para calcular o mostrar el histograma de imágenes digitales Formato de llamada: imhist(I,n): calcular y mostrar el histograma de la imagen I, n es el número especificado de niveles de gris, el valor predeterminado es 256. Si I es una imagen binaria, entonces n tiene solo dos valores.
Ejemplo: i=imread('w01.tif');imhist(i); //Nota: La visualización del histograma no necesita la función imshow, y la función imhist incluye funciones duales de cálculo y visualización.
[counts, x] = imhist(…) devuelve los recuentos del vector de datos del histograma, correspondientes al vector de valor de color x.

función histeq()
función: utilizada para la ecualización de histogramas de imágenes digitales
Formato de llamada: J = histeq(I, n) El número de serie n después de la ecualización, el valor predeterminado es 64. Si el número de serie es el predeterminado 64, puede dejarlo en blanco.
Ejemplo: i=imread('w01.tif'); j=histeq(i);
//Nota: la función histeq solo es responsable de la ecualización del histograma y no se puede usar para mostrar histogramas e imágenes. , necesita usar la función imshow. Mostrar un histograma requiere la función imhist.

Función imresize(I,x)
: Esta función se utiliza para escalar la imagen.
Formato de llamada
B = imresize(A, m): la longitud y el ancho de la imagen B devuelta son m veces la longitud y el ancho de la imagen A, es decir, la imagen está escalada. Si m es mayor que 1, la imagen se ampliará; si m es menor que 1, la imagen se reducirá.
B = imresize(A, [numrows, numcols]): numrows y numcols especifican la altura y el ancho de la imagen de destino, respectivamente. Obviamente, dado que este formato permite que la imagen escalada tenga una relación de aspecto diferente a la imagen de origen, la imagen resultante puede distorsionarse.

función imrotate()
función: para rotar la imagen.
Formato de llamada
B = imrotate(A, angle)
B = imrotate(A, angle, method)
B = imrotate(A, angle, method, bbox)
Descripción del formato de llamada
Rota la imagen A alrededor del punto central de la imagen por grado de ángulo, positivo número significa Rotar en sentido contrario a las agujas del reloj, los números negativos significan rotación en el sentido de las agujas del reloj. Devuelve la matriz de imagen rotada. El algoritmo de interpolación se puede cambiar utilizando el parámetro de método, que puede tener los tres valores siguientes:
'más cercano': interpolación del vecino más cercano
'bilineal': interpolación bilineal
'bicubic': interpolación bicúbica (o llamada interpolación bicúbica) (interpolación bicúbica)
/ /Nota: Al llamar al método, debe escribir las comillas simples del método juntas.
El parámetro bbox se usa para especificar las propiedades de la imagen de salida:
'recortar': al recortar la imagen rotada B, el tamaño de la imagen de salida B después de la rotación se mantiene igual que el tamaño de la imagen de entrada A.
'suelto': Haga que la imagen de salida sea lo suficientemente grande para asegurarse de que los valores de píxeles más allá del rango de tamaño de la imagen no se pierdan después de rotar la imagen original. Generalmente, el tamaño de la imagen generada por este formato es mayor que el tamaño de la imagen original.


función flipdim()
función: duplicación de imágenes, incluida la duplicación horizontal y la duplicación vertical Formato de sintaxis:
B=flipdim(A,dim)
A representa una imagen (matriz) y dim especifica el método de volteo.
dim es 1, lo que significa que cada columna está dispuesta en orden inverso, es decir, reflejo vertical;
dim es 2, es decir, cada fila está dispuesta en orden inverso, es decir, reflejo horizontal;
// Nota: la versión inferior de matlab también puede usar la función de espejo para lograr la duplicación de imágenes, pero la versión superior ya no admite la función de espejo. El uso de la función espejo es el mismo que el de la función flipdim().
//Nota: El efecto de rotación es diferente al de la función imrotate.

La función de la función imnoise ()
: significa agregar ruido para contaminar una imagen, lo que se denomina función de imagen contaminada por ruido Formato
de llamada
g = imnoise (f, 'gaussian', m, var) Agregue ruido gaussiano con media m y varianza var a image f , el valor por defecto es ruido con media m igual a 0 y varianza var igual a 0.01. Cuando se utilizan valores predeterminados, los valores de m y var se pueden dejar en blanco.
g=imnoise(f, 'sal y pimienta', d) contamina la imagen f con ruido de sal y pimienta, donde d es la densidad de ruido (es decir, el porcentaje del área de la imagen que incluye valores de ruido). La densidad de ruido predeterminada es 0,05. Al tomar el valor predeterminado, el valor de d se puede dejar en blanco.

Función medfilt2()
función: filtro mediano bidimensional
% Nota especial: la función medfilt2() solo puede filtrar imágenes bidimensionales y no puede filtrar directamente imágenes en color; por lo tanto, si necesita filtrar imágenes en color, debe filtrar el imágenes en color Se dividen en tres componentes de R, G y B para ser procesados ​​por separado y luego sintetizados.
//Nota: Synthesis puede usar el proceso inverso de dividir tres canales, o usar la función cat.
Formato de llamada
B = medfilt2(A) %%A es la imagen que se eliminará de ruido
B = medfilt2(A, [mn]) [mn] indica el tamaño del bloque de vecindario, el valor predeterminado es [3 3].

Función de función cat () : construye un formato de llamada de
matriz multidimensional (matriz) C = cat (dim, A1, A2, A3) dim = 3, significa construir una matriz tridimensional y construir A1, A2, A3 en un matriz tridimensional. C = cat(dim,A,B) Cuando dim es 1, concatena la matriz hacia arriba y hacia abajo: [A;B], cuando dim es 2, concatena la matriz hacia la izquierda y hacia la derecha.




función imfilter()
función: filtre y elimine el ruido de cualquier tipo de matriz o imagen multidimensional
Formato de llamada
B = imfilter(A, h) donde h es un filtro, que debe generarse mediante la función fspecial()

Función de la función fspecial()
: establecer un operador de filtro predefinido, es decir, generar un filtro.
%Instrucciones especiales:
1. fspecial no puede generar un operador de filtro mediano, y el filtro mediano debe completarse usando la función medfilt2()
2. fspecial no puede usarse solo y debe usarse junto con la función imfilter() para completar el filtrar.
Formato de llamada
h = fspecial(tipo)
h = fspecial(tipo, para) donde tipo es el tipo del operador de filtro especificado y para es el parámetro correspondiente del operador de filtro especificado. Si se usa el valor predeterminado, se puede omitir El valor de type es el siguiente:
'average': filtro promedio, el parámetro para es hsize representa el tamaño de la plantilla, el valor predeterminado es [3, 3],
'gaussian': filtro de paso bajo gaussiano, hay dos parámetros , hsize representa el tamaño de la plantilla, el valor predeterminado es [3 3 ], sigma es la desviación estándar del filtro, la unidad es píxel, el valor predeterminado es 0.5. 'laplacian': operador laplaciano, el parámetro alfa se usa para
controlar la forma del operador, el rango de valores es [0, 1], el valor predeterminado es 0.2
'prewitt': operador de filtro prewitt, utilizado para la mejora de bordes, tamaño [3 3], sin
parámetros utilizado para la extracción de bordes, sin parámetro
'registro': para el operador Lapp Las-Gaussian, con dos parámetros, hsize representa el tamaño de la plantilla, el valor predeterminado es [3 3], sigma es la desviación estándar del filtro, la unidad es píxel , el valor predeterminado es 0,5. Ejemplo: h = fspecial('log
' , hsize, sigma)

función edge()
función: función de detección de bordes de imagen
formato de llamada
Imagen=borde(I, método), donde imagen es la imagen después de la detección de bordes, I es la imagen a procesar, método es el método de procesamiento y
su valor es:
' sobel' : operador sobel
'roberts' : operador roberts
'log' : operador laplaciano-gaussiano
'prewitt' : operador prewitt
Ejemplo:
BW = edge(I, 'sobel') Seleccione automáticamente el umbral Use el operador Sobel para la detección de bordes.
BW = edge(I, 'sobel', thresh) Use el operador Sobel para la detección de bordes de acuerdo con el umbral de umbral de sensibilidad especificado, que ignora todos los bordes más pequeños que el umbral y selecciona automáticamente el umbral cuando el umbral está vacío
. BW = edge(I, 'sobel', thresh, direction) Utilice el operador Sobel para realizar la detección de bordes
en la dirección especificada de acuerdo con el umbral de sensibilidad especificado.
Los posibles valores de cadena para Dirección son horizontal (dirección horizontal), vertical (dirección vertical)
o ambos (dos direcciones).

función strel()
función: crear elementos de estructura morfológica.
Formato de llamada:
SE= strel(forma, parámetros), donde forma es la forma del elemento estructural y parámetros son parámetros.
Formas comunes:
SE = strel('cuadrado', 3) crea un elemento estructural cuadrado de 3×3
SE = strel ('diamante', R) crea un elemento estructurante de una forma de diamante plano R de tamaño especificado. R es la distancia desde el origen del elemento estructurante hasta su punto y debe ser un número entero no negativo.
SE = strel('disk', R, N) crea un elemento estructural plano en forma de disco del radio especificado R. Aquí, R debe ser un número entero no negativo. N debe ser 0, 4, 6, 8. Cuando N es mayor que 0, los elementos estructurales en forma de disco se aproximan mediante un grupo de N (o N+2) elementos estructurales de línea periódica. elementos. Cuando N es igual a 0, no se utiliza ninguna aproximación, es decir, todos los píxeles del elemento estructurante están compuestos por píxeles cuya distancia al píxel central es menor o igual que R. Se puede omitir N, en cuyo caso el valor predeterminado es 4. Nota: Las operaciones morfológicas son más rápidas para N>0 que para N=0.


función imerode()
función: corroer imagen Formato de llamada:
Imagen = imerode(I, SE), donde Imagen es la imagen procesada, I es la imagen a procesar y SE es el elemento estructural.

función imdilate()
función: expandir imagen
Formato de llamada:
Imagen = imdilate(I, SE), donde Imagen es la imagen procesada, I es la imagen a procesar y SE es el elemento estructural.


Función función Imopen()
: operación de apertura de imagen Formato de llamada:
Imagen = imopen(I, SE), donde Imagen es la imagen procesada, I es la imagen a procesar y SE es el elemento estructural.


función de imclose()
: Operación de cierre de imagen Formato de llamada:
Image = imclose(I, SE), donde Image es la imagen procesada, I es la imagen a procesar y SE es el elemento estructural

Función rgb2hsv(I)
: Convierte una imagen de color RGB a un espacio de color HSV (HSI).
El formato de llamada
es Image=rgb2hsv(I), donde image es la imagen convertida e I es la imagen a procesar

función histeq(I)
: ecualización de histograma
Formato de llamada
Imagen=histeq(I), donde imagen es la imagen convertida e I es la imagen a procesar

Función de función fft2
: utilizada para la transformada bidimensional de Fourier de imágenes digitales.
Formato de llamada:
i=imread('image');
j=fft2(i); donde i es la imagen a procesar y j es el espectro convertido.
Nota:
1) Dado que MATLAB no puede mostrar imágenes complejas, el resultado transformado debe calcularse en módulo, es decir, llamar a la función abs
. Por ejemplo, abs(j), j es el espectro de la transformada de Fourier.2
) La transformación logarítmica a menudo se realiza después, es decir, se llama a la función logarítmica para ralentizar la atenuación rápida del espectro de Fourier y mostrar mejor la
información de alta frecuencia. Por ejemplo, en log(1+abs(f)), el resultado de abs puede ser 0, y el resultado de log0 es infinito, así que
agregue 1 a abs para evitar esta situación.

Función de función Ifft2
: utilizada para la transformada de Fourier inversa bidimensional de imágenes digitales
Formato de llamada:
i=imread('imagen');
j=fft2(i);
k=ifft2(j);
espectro de amplitud de imagen de una sola rendija (origen de coordenadas del espectro En la esquina superior izquierda)
el espectro de magnitud (el origen de las coordenadas del espectro está en el centro de la pantalla) Muestra el espectro logarítmicamente

Función de la función fftshift
: se utiliza para mover el centro del espectro de la imagen transformada desde el origen de la matriz hasta el centro de la matriz
Formato de llamada:
B=fftshift(i)

La función imrotate
función: rotar la imagen
Formato de llamada:
F=imrotate(f, 90); Rotar la imagen f 90°

Función de la función circshift
: realiza la operación de desplazamiento en los datos de la matriz de la imagen
Formato de llamada:
F=circshift(f, [a,b]); Mueve la imagen f hacia abajo una columna y hacia la derecha una b columna

Supongo que te gusta

Origin blog.csdn.net/qq_46304554/article/details/128647481
Recomendado
Clasificación