¿Cómo utilizar matlab para extraer características de textura de una imagen? De hecho, la clave para aprender el procesamiento de imágenes digitales no es el código fuente (esto sigue siendo diferente de la programación general. Es una experiencia. De hecho, es posible que el supervisor de doctorado promedio no necesariamente sepa programación, pero si le dices que normalmente irá al grano de tu método), pero que puedes entender los conceptos y su aplicación. \x0d\ Según el color, la textura y la forma, estas son características de bajo nivel. Es suficiente que las comprenda. La clave es qué método es adecuado para mapear su tema con semántica de alto nivel, como identificar el contorno de un objeto, y luego la forma puede ser más adecuada. \x0d\Escribí el párrafo anterior principalmente porque sentí que cuando preguntaste sobre el código, no especificaste los requisitos específicos, pero la dirección no estaba clara. \x0d\Actualmente existen muchos algoritmos de extracción de características de color, como histogramas de color, momentos de color, conjuntos de colores, vectores de agregación de colores, diagramas de correlación de colores, etc. Como no lo mencionaste, te daré un artículo sobre el método de histograma de color en IEEECSVT2001 (los derechos de autor del código fuente pertenecen al autor):\x0d\ function colorist = color hist(RGB)\. % CBIR _ color hist()-colorhistogramcalculation \ x0d \ % input:mxnx 3 imagedata, INR GB \ x0d \ % salida: 1x histograma de 256 colores = =(HxSxV = 16x 4x 4)\ x0d \ % as mpeg-7 genericcolorhistogramdescriptor \ x0d\%[Ref] Manjunath, B.S. Ohm, J.-R; Vasudevan, A. "Descriptores de color y textura" \x0d\% IEEETrans. CSVT, Volumen: 11 Edición: 6, Páginas: 703-715, junio de 2006 5438+0 (Sección 3.b)\x0d\% check input\x0d\ifsize(RGB,3)~=3\x0d\ error(' 3 componentes son necesarios para histograma');\x0d\end\x0d\%globals\x0d\H_BITS=4;s_BITS=2;v_BITS=2;\x0d\%rgb2hsv se puede reemplazar por rgb2hsi. Vea su pregunta anterior.
\x0d \HSV = uint 8(255 * RGB 2 HSV(RGB)); \x0d \ \x0d \img size = size(HSV); \x0d \ % getridofirrelevantboundaries \x0d \i0 = round(0.05 * img size(1) )); I 1 = redondo(0,95 * tamaño img(1)); \x0d \ j0 = redondo(0,05 * tamaño img(2)); hsv=hsv(i0:i1,j0:j1,);\x0d\\x0d\%histograma\x0d\fori=1:2^h_bits\x0d\forj=1:2^s_bits\x0d\fork=1:2 ^v_bits\x0d\colorhist(i,j,k)=sum(suma(...\x0d\bitshift(hsv(:,:,1),-(8-H _ BITS))= = I-1 & &...\x0d\bitshift(hsv(:,:,2),-(8-S_BITS))= = j-1 &...\x0d\bitshift(hsv(:,:, 3), -(8-V _ BITS))= = k-1);\x0d\end\x0d\end\x0d\end\x0d\colorhist=reshape(colorhist,1,2^(h_bits+s_bits+v_bits )); \x0d \ % normalizar \ matriz \ x0d \ % para direccionamiento y distancia \ x0d \ % x0d \ % out = co ocurrencia (entrada, dir, dist, .\ direccióndeevaluación \ x0d \ % " dir " valor ángulo \ x0d \ % 00 \ x0d \ % 1-45 \ x0d \ % 2-90 \ x0d \ % 3-135 \ x0d \ % 4-180 \ x0d \ % 5+65438 \x0d\%Autor: BaranAydogan (15. 07. 2006)\ simétrico);\x0d\\x0d\input=round(entrada);\x0d\[rc]=tamaño(entrada);\x0d\\x0d\min_intensity = min(min(entrada));\x0d\max _ intensidad = max(max(entrada));\x0d\\x0d\out=zero(max_intensity-min_intensity+1);\x0d\if(dir==0)\x0d\dir_