Académique Documents
Professionnel Documents
Culture Documents
Sélection de pixel
La boîte à outils inclut deux fonctions qui fournissent de l'information au sujet des valeurs des
données de couleur de pixels de l'image spécifié:
• pixval fonction retournant les valeurs des données pour les pixels quand vous déplacez le curseur
sur l'image. pixval peuvent afficher aussi les distances Euclidean entre deux pixels.
• impixel fonction retournant les valeurs des données pour une pixel sélectionnée ou ensemble de
pixels. Vous pouvez fournir les coordonnées des pixels comme arguments de l'entrée, ou vous
pouvez sélectionner des pixels en utilisant la souris.
Pour utiliser pixval, vous affichez en premier une image et alors entrez la commande pixval. pixval
installe une barre noire au fond du chiffre qui affiche les coordonnées (x,y) du pixel dont le curseur
est actuellement dessus, et les données de la couleur pour ce pixel. Si vous cliquez sur l'image et
maintenez le bouton de souris pendant que vous déplacez le curseur, le pixval affiche aussi les
Euclidean distancent entre le point vous avez cliqué sur et l'emplacement du curseur courant. pixval
affiche une ligne entre ces points pour indiquer l'existence de la distance mesuré. Quand vous lacher
le bouton de souris, la ligne et la distance disparaissent. pixval vous donne des résultats plus
immédiats qu'avec impixel, mais impixel a l'avantage de retourne ses résultats dans une variable, et
elle peut être appelée. Dans cet exemple, vous appelez impixel et cliquez sur trois points dans
l'image affichée, et presser alors sur le Retour.
imshow canoe.tif
vals = impixel
Profil de l'intensité
La fonction improfile calcule et représente les valeurs de l'intensité le long d'un segment de ligne
ou un chemin multiligne dans une image. Vous pouvez fournir les coordonnées des segments de
ligne comme arguments de l'entrée, ou vous pouvez définir le chemin désiré en utilisant la souris.
Dans l'un et l'autre cas, improfile utilise l'interpolation pour déterminer les valeurs de points
également espacés le long du chemin. (Par défaut, improfile utilise l'interpolation du voisin la plus
proche. Pour un segment de ligne seul, improfile représente les valeurs de l'intensité dans une vue à
deux dimensions. Pour un chemin multiligne, improfile représente les valeurs de l'intensité dans une
vue à trois dimensions.
Dans cet exemple, vous appelez improfile et spécifiez une ligne seule avec la souris. La ligne est
montrée en rouge, et tirée de gauche à droite.
imshow debye1.tif
improfile
1
Histogram de l’Image
Un histogramme d'image est un tableau dans qui montre la distribution d'intensités de l’image
indexée ou d'intensité. la fonction imhist de de l'histogramme d'image crée cette représentation en
faisant n casiers espacé également, chacun qui représente une gamme de valeurs des données. Il
calcule alors le nombre de pixels dans chaque gamme. Par exemple, les commandes au-dessous
d'une image de grains de riz, et un histogramme basé sur 64 casiers.
I = imread('rice.tif');
imshow(I)
figure, imhist(I,64)
Données Statistiques
Vous pouvez calculer des statistiques standard d'une image en utilisant les fonctions mean2, std2,
et corr2. mean2 et std2 calculent la moyenne et déviation standard des éléments d'une matrice.
corr2 calcule le taux de corrélation entre deux matrices de la même dimension. Ces fonctions sont
des versions à deux dimensions de mean, std, et du corrcoef
Rehaussement de l'image
Les techniques du rehaussement d'image sont utilisées pour améliorer une image où “améliorez” est
défini quelquefois objectivement (par exemple, augmentez le ratio signal-bruit), et quelquefois
subjectivement (par exemple, faites de sorte que certains détail soit plus facile à voir en modifiant
les couleurs ou intensités). Cette section discute des techniques du rehaussement d'image comme
l’Ajustement de l’intensité et le•Débruitage
Les fonctions décrites dans cette section appliquent à l'origine aux images d’intensité. Cependant,
quelques-unes de ces fonctions peuvent être appliquées aussi pour les images de coleur.
Ajustement d’intensité
L'ajustement de l'intensité est une technique pour dresser une carte l'intensité d'une image évaluée à
une nouvelle gamme. Par exemple, rice.tif. est une image du contraste basse. L'histogramme de
rice.tif indique qu'il n'y a pas de valeurs au-dessous de 40 ou au-dessus de 225. Si on redistribue les
valeurs des données pour remplir la gamme d’intensité entière [0, 255], vous pouvez augmenter le
contraste d’image. Vous pouvez faire ce genre d'ajustement avec la fonction imadjust. La syntaxe
générale d'imadjust est J = imadjust(I,[low_in high_in],[low_out high_out]) où low_in et high_in
sont les intensités d'entrée et low_out et high_out dans la sortie. Par exemple, ce code exécute
l'ajustement décrit au-dessus.
I = imread('rice.tif');
J = imadjust(I,[0.15 0.9],[0 1]);
Le premier vecteur est passé à imadjust, [0.15 0.9], spécifie les valeurs maximales et minimales dd
l’intensité. Le deuxième vecteur, [0 1], spécifie les nouveaux extremes. Donc, l'exemple dresse une
carte l'intensité valeur 0.15 dans l'image de l'entrée à 0 dans l'image de la sortie, et 0.9 à 1.
Note que vous devez spécifier les intensités comme valeurs entre 0 et 1 sans se soucier de la classe
de I. Si I est uint8, les valeurs que vous fournissez sont multipliées par 255 pour déterminer les
valeurs effectives; si I est uint16, les valeurs sont multipliées par 65535. De la même façon, vous
pouvez diminuer le contraste d'une image en resserrant la gamme des données, comme dans cet
appel.
J = imadjust(I,[0 1],[0.3 0.8]);
En plus d'augmenter ou diminuer le contraste, vous pouvez exécuter une large variété d'autres
rehaussements d'image avec imadjust. Dans l'exemple au-dessous, le manteau de l'homme est trop
sombre pour révéler tout détail. L'appel à imadjust dresse une gamme [0,51] dans l'image de l'entrée
de l'uint8 à [128,255] dans l'image de la sortie. Cela change considérablement l'image, et aussi
élargit la gamme dynamique des portions sombres de l'image originale, en le faisant beaucoup plus
facile à voir les détails dans le manteau. Cependant, notez que parce que toutes les valeurs au-
dessus de 51 dans l'image originale sont dressées une carte à 255 (blanc) dans l'image ajustée
2
I = imread('cameraman.tif');
J = imadjust(I,[0 0.2],[0.5 1]);
Mettre Automatiquement la limite l'ajustement
Pour utiliser imadjust, vous devez exécuter typiquement deux étapes:
1 visualisation de l'histogramme de l'image pour déterminer les limites de la valeur de l'intensité.
2 spécifient ces limites comme une fraction entre 0.0 et 1.0 afin que vous puissiez les passer à
imadjust dans le vecteur [low_in high_in]
Pour une façon plus commode de spécifier ces limites, utilisez la fonction du stretchlim. Cette
fonction calcule l'histogramme de l'image et détermine l'ajustement limite automatiquement.
stretchlim retourne ces valeurs comme fractions dans le vecteur [high_in du low_in]; par exemple,
I = imread('rice.tif');
J = imadjust(I,stretchlim(I),[0 1]);
Note que vous auriez aussi pu créer l'image du gabarit en faire un zoom sur l'image et utilisant la
version interactive imcrop. Par exemple, avec text.tif a affiché dans la fenêtre du chiffre courante,
entrez le zoom sur
a = imcrop
Pour déterminer les coordonnées de traits dans une image, vous pouvez utiliser la fonction du
pixval.
Terminologie
Terms Definitions
Adaptive A filter whose properties vary across an image depending on the local
filter characteristics of the image pixels.
Contour A path in an image along which the image intensity values are equal to a constant.
A curve that follows a path of rapid change in image intensity. Edges are often
Edge associated with the boundaries of objects in a scene. Edge detection is used to
identify the edges in an image.
A quantitative measurement of an image or image region. Examples of image
Property
region properties include centroid, bounding box, and area.
A graph used in image analysis that shows the distribution of intensities in an
image. The information in a histogram can be used to choose an appropriate
Histogram enhancement operation. For example, if an image histogram shows that the range of
intensity values is small, you can use an intensity adjustment function to spread the
values across a wider range.
Errors in the image acquisition process that result in pixel values that do not reflect
Noise
the true intensities of the real scene.
A set of intensity values taken from regularly spaced points along a line segment or
Profile multiline path in an image. For points that do not fall on the center of a pixel, the
intensity values are interpolated
Quadtree
decomposition An image analysis technique that partitions an image into homogeneous blocks
3
10 12 19 21 3
11 18 25 2 9]
et le kernel de la convolution est
h = [8 1 6
357
4 9 2]
Alors la figure ci-dessous montre comment on calcule la convolution au pixel (2,4) utilisant les
étapes suivantes:
1 tourne le kernel de 180 degrés autour de son 4 additionner les produits obtenus.
centre. Ainsi nous aurons comme sortie :
2 glisser le centre du kernel jusqu’au pixel (2,4). 1.2 8.9 15.4 7.7 15 16.3 13.6 20.1 22.8
3 multiplier chaque élément du kernel tourné par 575
le contenu du pixel qui coincide avec cet élément.
Correlation
L'opération appelée corrélation est presque la
meme que la convolution. Dans la corrélation,
la valeur d'un pixel est aussi calculée comme
une somme pondérée de pixels élémentaires
avoisinants. La différence est que la matrice
de poids, dans ce cas, appelée la kernel de la
corrélation , n'est pas retournée pendant le
calcul
4
‘same’ Retourne la partie centrale de la convolution de la même dimension comme A.
‘valid’ Retourne seulement la partie de la convolution calculée sans le padding zero. Utiliser cette
option, C a la dimension [ma-mb+1,na-nb+1] quand all(size(A) >= size(B)). Autrement
le conv2 revient [].
Le conv2 de l'algorithme utilise une mise en oeuvre cérémonieuse simple de l'équation de la
convolution à deux dimensions dans forme spatiale. Si un et b sont fonctionne de deux variables
discrètes, n1 et n2, alors la formule pour la convolution à deux dimensions de a et b est
Exemples
Exemple 1. Pour le cas ' same', conv2 retourne la partie centrale de la convolution. Le" centre" cède
au début plus qu’à la fin. Cet exemple calcule en premier la convolution de utilisant l’option par
défaut (' full'), ensuite calcule la convolution en utilisant ' same'. Notez que la matrice obtenue en
utilisant ' same' correspond aux éléments soulignés de celle obtenue en utilisant l’option par défaut.
A = rand(3);
B = rand(4);
C = conv2(A,B) % C is 6-by-6 C = 0.1838 0.2374 0.9727 1.2644 0.7890 0.3750
0.6929 1.2019 1.5499 2.1733 1.3325 0.3096
0.5627 1.5150 2.3576 3.1553 2.5373 1.0602
0.9986 2.3811 3.4302 3.5128 2.4489 0.8462
0.3089 1.1419 1.8229 2.1561 1.6364 0.6841
0.3287 0.9347 1.6464 1.7928 1.2422 0.5423
Cs = conv2(A,B,'same') % Cs is the same size as A: 3-by-3 Cs = 2.3576 3.1553 2.5373
3.4302 3.5128 2.4489
1.8229 2.1561 1.6364
Exemple 2. Dans le traitement d'image, l'opération du repére les contours de Sobel est une
convolution à deux dimensions d'une matrice avec la matrice spéciale :
s = [1 2 1; 0 0 0; -1 -2 -1];
Ce filtre extrait les contours horizontaux.
A = zeros(10);A(3:7,3:7) = ones(5); H = conv2(A,s); mesh(H)
Avec le transposé, le filtre s extrait les bords verticaux de A.
V = conv2(A,s');
filter2
Syntaxe du filtrage numérique à deux dimensions
Y = filter2(h,X)
Y = filter2(h,X,shape)
Description Y = filter2(h,X) filtres les données dans X avec filtre RIF à deux dimensions caractérisé
par la matrice h. Il calcule le résultat, Y, en utilisant la corrélation à deux dimensions, et retourne la
partie centrale de la corrélation qui a la même dimension comme X.
Y = filter2(h,X,shape) retourne la partie de Y spécifiée par le paramètre shape. shape est une option
avec une de ces valeurs:
' full' Retourne la corrélation à deux dimensions pleine. Dans ce cas, Y est plus grand que X.
' same' (default) Retourne la partie centrale de la corrélation. Dans ce cas, Y est la même dimension
comme X.
' valid' retourne seulement la partie de la corrélation calculée sans padding zéro. Dans ce cas, Y est
plus petit que la corrélation X.
5
2.3 Filtrage utilisant imfilter
Le filtrer des images, avec corrélation ou convolution, peut se faire à l’aide de la fonction imfilter
de la toolbox Image Processing . Cet exemple filtre l'image dans le fichier blood1.tif avec un filtre 5
par 5 qui contient des poids égaux. Un tel filtre est souvent appelé le filtre moyen.
I = imread('blood1.tif');
h = ones(5,5) / 25;
I2 = imfilter(I,h);
La fonction imfilter peut réaliser le filtrage en utilisant la corrélation ou la convolution. Il utilise la
corrélation par défaut, parce que les fonctions de synthèse du filtre et la fonction fspecial utilisent la
kernel de la corrélation. imfilter(A,h,' conv')% filtre qui utilise la convolution.
Options d’extrapolation
Quand on calcule la sortie d’un pixel aux
bords de l’image, une portion de la kernel de
la convolution ou celle de la corrélation est en
dehors de l'image
La fonction imfilter remplit par défaut les
pixels manquants par des zeros.Il s’agit de
padding zero.
Imfilter offre une extrapolation alternative
appelée la méthode a de la reproduction
frontalière. Dans la reproduction frontalière,
la valeur de toute pixel à l'extérieur de l'image
est déterminée en reproduisant la valeur de
pixel frontalière la plus proche.
Pour filtrer en utilisant la reproduction frontalière, on ajoute l’option 'replicate'.
I3 = imfilter(I,h,'replicate');
Rapport avec d’Autres Fonctions du Filtrage
MATLAB a plusieurs fonctions du filtrage à deux dimensions et multi dimensionnelles. La fonction
filter2 effectue la corrélation à deux dimensions; le conv2 effectue laconvolution à deux
dimensions; et le convn réalise la convolution multidimensionnelle.
Chacun de ces autres fonctions du filtrage toujours convertissent l'entrée en double, et la sortie est
toujours double. Aussi, chacun de ces autres fonctions du filtrage suppose toujours le padding zero,
et ils ne supportent pas d'autres options d’extrapolation. Par contraste, la fonction imfilter ne
convertit pas l'entrée en double. La fonction imfilter offre autre possibilité de l’extrapolation
Utilisation de Types du Filtre Prédéfinis
La fonction fspecial produit plusieurs types de filtres prédéfinis, dans la forme de kernel de la
corrélation. Après avoir créé un filtre avec fspecial, vous pouvez l'appliquer directement à vos
données de imfilter. Cet exemple illustre l‘application de filtre unsharp à une image de l'intensité. Il
a pour effet de rendre des bords et détail fin dans l'image plus marqués.
I = imread('moon.tif');
h = fspecial('unsharp');
I2 = imfilter(I,h);
6
•la méthode fenêtrage qui multiplie la réponse de l'impulsion idéale avec une fenêtre pour créer le
filtre
•Creation de la matrice de la réponse en fréquences désirée
•Calcul la réponse en fréquences d'un filtre
8
pour obtenir la matrice de la réponse en fréquences H et les vecteurs de fréquences f1 et f2, utilisez
des arguments de sortie
[H,f1,f2] = freqz2(h);
freqz2 normalise le f1 des fréquences et f2 afin que la valeur 1.0 corresponde à demi la fréquence
de l'échantillonnage, ou radians. Pour une simple réponse mxn, comme montré au-dessus, le
freqz2 utilise la transformé de Fourier rapide à deux dimensions fft2 de la fonction. Vous pouvez
spécifier aussi des vecteurs de fréquence arbitraires, mais dans ce cas, freqz2 utilise un algorithme
plus lent.
3 Transformés de l’image
La représentation mathématique d'une image est généralement une fonction à deux variables
spatiales. La valeur de la fonction à un emplacement particulier représente l'intensité de l'image à ce
point.
Le terme transformé fait référence à une représentation mathématique alternative d'une image.
Terminologie
Une compréhension des termes suivants vous aidera pour utiliser ce chapitre. Notez que ce tableau
inclut des brèves définitions de termes cités comme transformé.
Terms Definitions
Discrete A transform whose input and output values are discrete samples, making it convenient for computer
transform manipulation. Discrete transforms implemented by MATLAB and the Image Processing Toolbox
include the discrete Fourier transform (DFT) and the discrete cosine transform (DCT).
Frequency The domain in which an image is represented by a sum of periodic signals with varying frequency.
domain
Inverse An operation that when performed on a transformed image, produces the original image
transform
Spatial domain The domain in which an image is represented by intensities at given points in space. This is the
most common representation for image data.
Transform An alternative mathematical representation of an image. For example, the Fourier transform is a
representation of an image as a sum of complex exponentials of varying magnitudes, frequencies,
and phases. Transforms are useful for a wide range of purposes, including convolution,
enhancement, feature detection, and compression.
9
•l’existence d’un algorithme rapide pour calculer le DFT connu sous le nom de transformé de
Fourier rapide (FFT).
Les fonctions fft, fft2, et fftn permet de réaliser l'algorithme de transformé de Fourier rapide pour
calculer le DFT unidimensionnel, DFT à deux dimensions, et DFT N-Dimensionnel,
respectivement. Les ifft des fonctions, ifft2, et ifftn calculent le DFT inverse.
Exemple
Construisons une matrice f qui est semblable à la fonction f(m,n). f(m,n) est égal à 1 dans la région
rectangulaire et 0 ailleurs. Nous utilisons une image binaire pour représenter f(m,n).
f = zeros(30,30);
f(5:24,13:17) = 1;
imshow(f,'notruesize')
F = fft2(f);
F2 = log(abs(F));
imshow(F2,[-1 5],'notruesize'); colormap(jet); colorbar
Nous pouvons obtenir un échantillonnage plus fin du transformé de Fourier par zéro padding de f
pour calculer son DFT. Le zéro padding et calcul DFT peuvent être exécutés dans un pas à pas avec
cet commande.
F = fft2(f,256,256);
Le coefficient de fréquences zéro est affiché , plutôt dans le coin supérieur gauche que le centre.
Vous pouvez arranger ce problème en utilisant la fonction fftshift de qui échange les quadrants de F
afin que le coefficient de fréquences zéro soit dans le centre.
F = fft2(f,256,256);
F2 = fftshift(F);
imshow(log(abs(F2)),[-1 5]); colormap(jet); colorbar
3.3. Applications
Value Description
'gaussian 'Gaussian lowpass filter
'sobel' Sobel horizontal edge-emphasizing filter
'prewitt' Prewitt horizontal edge-emphasizing filter
'laplacian' Filter approximating the two-dimensional Laplacian operator
'log' Laplacian of Gaussian filter
10
'average' Averaging filter
'unsharp' Unsharp contrast enhancement filter
h = fspecial('average',hsize) returns an averaging filter h of size hsize. The argument hsize can be a
vector specifying the number of rows and columns in h, or it can be a scalar, in which case h is a
square matrix. The default value for hsize is [3 3].
h = fspecial('disk',radius) returns a circular averaging filter (pillbox) within the square matrix of
side 2*radius+1. The default radius is 5.
h= fspecial('gaussian',hsize,sigma) returns a rotationally symmetric Gaussian lowpass filter of size
hsize with standard deviation sigma (positive). hsize can be a vector specifying the number of rows
and columns in h, or it can be a scalar, in which case h is a square matrix. The default value for
hsize is [3 3]; the default value for sigma is 0.5.
h= fspecial('laplacian',alpha) returns a 3-by-3 filter approximating the shape of the two-
dimensional Laplacian operator. The parameter alpha controls the shape of the Laplacian and
must be in the range 0.0 to 1.0. The default value for alpha is 0.2.
h = fspecial('log',hsize,sigma) returns a rotationally symmetric Laplacian of Gaussian filter of size
hsize with standard deviation sigma (positive). hsize can be a vector specifying the number of rows
and columns in h, or it can be a scalar, in which case h is a square matrix. The default value for
hsize is [5 5] and 0.5 for sigma.
h = fspecial('motion',len,theta) returns a filter to approximate, once convolved with an image, the
linear motion of a camera by len pixels, with an angle of theta degrees in a counterclockwise
direction. The filter becomes a vector for horizontal and vertical motions. The default len is 9 and
the default theta is 0, which corresponds to a horizontal motion of nine pixels.
h = fspecial('prewitt') returns a 3-by-3 filter h (shown below) that emphasizes horizontal edges by
approximating a vertical gradient. If you need to emphasize vertical edges, transpose the filter h'.
[ 1 1 1 0 0 0 -1 -1 -1 ] To find vertical edges, or for x-derivatives, use h'.
h = fspecial('sobel') returns a 3-by-3 filter h (shown below) that emphasizes horizontal edges using
the smoothing effect by approximating a vertical gradient. If you need to emphasize vertical edges,
transpose the filter h'. [ 1 2 1 0 0 0 -1 -2 -1 ]
h = fspecial('unsharp',alpha) returns a 3-by-3 unsharp contrast enhancement filter. fspecial creates
the unsharp filter from the negative of the Laplacian filter with parameter alpha. alpha controls the
shape of the Laplacian and must be in the range 0.0 to 1.0. The default value for alpha is 0.2
Example
I = imread('cameraman.tif');
subplot(2,2,1);
imshow(I); title('Original Image');
H = fspecial('motion',20,45);
MotionBlur = imfilter(I,H,'replicate');
subplot(2,2,2);
imshow(MotionBlur);title('Motion Blurred Image');
H = fspecial('disk',10);
blurred = imfilter(I,H,'replicate');
subplot(2,2,3);
imshow(blurred); title('Blurred Image');
H = fspecial('unsharp');
11
sharpened = imfilter(I,H,'replicate');
subplot(2,2,4);
imshow(sharpened); title('Sharpened Image');
4 Region-Based Processing
Terms Definitions
Binary mask A binary image with the same size as the image you want to process. The mask contains 1’s for all
pixels that are part of the region of interest, and 0’s everywhere else
Filling a A process that “fills” a region of interest by interpolating the pixel values from the borders of the
region region. This process can be used to make objects in an image seem to disappear as they are replaced
12
with values that blend in with the background area
Filtering a The process of applying a filter to a region of interest. For example, you can apply an intensity
region adjustment filter to certain regions of an image
Interpolation The process by which we estimate an image value at a location in between image pixels.
Masked An operation that applies filtering only to the regions of interest in an image that are identified by a
filtering binary mask. Filtered values are returned for pixels where the binary mask contains 1’s; unfiltered
values are returned for pixels where the binary mask contains 0’s
Region of A portion of an image that you want to filter or perform some other operation on. You define a region
interest of interest by creating a binary mask. There can be more than one region defined in an image. The
regions can be “geographic” in nature, such as polygons that encompass contiguous pixels, or they
can be defined by a range of intensities. In the latter case, the pixels are not necessarily contiguous.
..
Image Resizing
I = imread('rice.tif');
J = imresize(I,1.25);
Y = imresize(X,[100 150],'bilinear')
'nearest' Nearest neighbor (the default)
'bilinear' Bilinear interpolation
'bicubic' Bicubic interpolation
nlfilter
The example below uses nlfilter to set each pixel to the maximum value in its 3-by-3 neighborhood.
I = imread('tire.tif');
f = inline('max(x(:))');
I2 = nlfilter(I,[3 3],f);
Arithmétique
Function Description
imabsdiff Absolute difference of two images
imadd Add two images
imcomplement Complement an image
imdivide Divide two images
imlincomb Compute linear combination of two images
immultiply Multiply two images
imsubtract Subtract two images
I = imread('cameraman.tif');
J = uint8(filter2(fspecial('gaussian'), I));
K = imabsdiff(I,J);
imshow(K,[]) % [] = scale data automatically
I = imread('rice.tif');
J = imread('cameraman.tif');
K = imadd(I,J);
imshow(K)
I = imread('rice.tif');
blocks = blkproc(I,[32 32],'min(x(:))');
background = imresize(blocks,[256 256],'bilinear');
Ip = imdivide(I,background);
imshow(Ip,[])
I = imread('cameraman.tif');
13
J = uint8(filter2(fspecial('gaussian'), I));
K = imlincomb(1,I,-1,J,128); % K(r,c) = I(r,c) - J(r,c) + 128
imshow(K)
I = imread('moon.tif');
I16 = uint16(I);
J = immultiply(I16,I16);
imshow(I), figure, imshow(J)
I = imread('rice.tif');
blocks = blkproc(I,[32 32],'min(x(:))');
background = imresize(blocks,[256 256],'bilinear');
Ip = imdivide(I,background);
imshow(Ip,[]) % [] = let imshow scale data automatically
Contours de l'image
Vous pouvez utiliser la fonction imcontour de la boîte à outils pour afficher une représentation du
contour des données dans une image d'intensité.
Cet exemple affiche une image d'intensité de grains de riz et une représentation du contour des
données d'image.
I = imread('rice.tif');
imshow(I)
figure, imcontour(I)
14
h = fspecial('sobel')
h =1 2 1
0 0 0
-1 -2 -1
h = fspecial('prewitt')
h =1 1 1
0 0 0
-1 -1 -1
h = fspecial('laplacian')
h =0.1667 0.6667 0.1667
0.6667 -3.3333 0.6667
0.1667 0.6667 0.1667
15
16