Du signal audio numérique à l'image numérique

Slides:



Advertisements
Présentations similaires
Du signal audio numérique à l'image numérique
Advertisements

Un principe de compression d’image
Signal Son et Image pour l’Informaticien (S.S.I.I.) Page 1 Extraits choisis du cours S.S.I.I. On introduit ici des notions de base du traitement numérique.
Du signal audio numérique à l'image numérique
Introduction du cours à partir d’extraits
SSII, séance n°13, bilan du cours 15 décembre 2015 Dernière séance 2015 Résumé des chapitres et notions abordées en 2015.
1 Initiation à la micro-informatique Le matériel un clic pour la suite… Moniteur.
L'image: Le codage des images BacPro SEN Lycée Condorcet.
Traitement d’images Semaine 01. Plan de leçon Plan de cours Traitement d’images – Définition – Domaine d’application Définition du spectre électromagnétique.
"Authoring" DVD Tutoriel de base pour DVDStyler réalisé par Jeff pour G3L sous licence.
L'image 1ère partie: Généralités 2ème partie: Les espaces de couleurs
Les objectifs de connaissance : Les objectifs de savoir-faire : - Définir une onde mécanique progressive ; - Définir une onde progressive à une dimension.
Comparing color edge detection and segmentation methods Projet TIM.
Traitement d’images 420-D78-SW A16 Semaine 02 Plan de leçon  Images : définition  Mat : définition  Filtres de lissage  Les fonctions et méthodes.
GHU 9/09/2016 Atelier : De la prise de vue numérique à la publication 1)L'appareil de photo numérique 2)La prise de vue et ses réglages 3)Profondeur de.
Thème 1 : Ondes et Matière. O M 3 O n d e s s o n o r e s.
Qu’est-ce que la lumière ? Ch.15 - Eclairage - Exercice 1 La lumière est une énergie sous forme de rayonnements électromagnétiques visibles par notre œil.
La lumière et les couleurs (Chap4) I.La lumière blanche On appelle lumière blanche, la lumière émise par le soleil ou par des éclairages artificiels reproduisant.
la lumière des corps chauds
Traitement d’images 420-D78-SW A17 Semaine 02.
Optique ondulatoire : interférences et diffraction
1- Introduction :   En télécommunication , le signal transportant une information doit passer par un moyen de transmission entre un émetteur et un récepteur.
Synthése additive et soustractive de la lumière
2018/4/14.
Chapitre 2 Et si nous réfléchissions ….
Les propriétés de la lumière visible
Jéopardie l’optique! Created by Educational Technology Network
2 La phonétique physique
Les objectifs du cours Savoir utiliser un Tableur
Précision d'une mesure et chiffres significatifs
Détection de coutours - Exemples élémentaires -
DESSIN TECHNIQUE Té de dessin Collège technique Sousse Collège technique Sousse.
Thème : Observer Chap.3 :Propriétés des ondes (Diffraction – Interférences - Effet Doppler) Physique - Chap.3.
Format des fichiers TIFF
Température du Soleil.
Feuilles de style Cascading Style Sheets
Les sources de lumière colorée
Chapitre 4 : Couleur des objets Les objectifs de connaissance :
Extension de fichiers*
SIF-1033 Traitement d’image
Structure D’une Base De Données Relationnelle
Introduction au traitement d’images Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda.
Les formats Stage – Semaine 4 1. Formats de fichiers  Qu’est-ce que le codage de données ?  Qu’est-ce qu’un format de fichier ? 2.
Couleurs Cédric Dumas (Ecole des Mines de Nantes)
ACP Analyse en Composantes Principales
Filtre en traitement du signal entrée filtre sortie e s h
Amélioration de la résolution spatiale des sondeurs multifaisceau
DÉTECTION DE DÉFAUTS DANS DES HOLOGRAMMES DE PHASE
Kit de formation multimedia
Du signal audio numérique à l'image numérique
Comment personnaliser Microsoft SharePoint Site web
Compresser avec un banc de filtres
Le signal audio numérique
Introduction du cours à partir d’extraits
Chapitre A4 Propriétés des ondes.
Spectres UV – visible et IR
Un principe de compression d’image
Catherine Cyrot - Cours bibliothèques numériquesz - cours 4
Sous-échantillonner le signal audio pour compresser
Prof. Leila Ennasery 2ème année collège Chapitre II La lumière et les couleurs La dispersion de la lumière La dispersion de la lumière.
Janvier 2019 IA-IPR Physique-Chimie
Construire et utiliser un banc de filtres
Créer un filtre sur mesure (pour compresser)
S.S.I.I , SI3, cours n°9 : Du signal audio numérique à l'image numérique Page 1 Du signal audio numérique à l'image numérique Cours S.S.I.I.,
Conception cartographique
Sous-échantillonner le signal audio pour compresser
Exploiter la fonction fft(.) de Scilab
Dispersion de la lumière blanche
Ahmed katif La lumière et les couleurs La dispersion de la lumière -l’arc- en- ciel est un phénomène naturel qu’on observe parfois dans le ciel ? Comment.
Catherine Cyrot - bibliothèques numériques - cours 3
Transcription de la présentation:

Du signal audio numérique à l'image numérique Cours S.S.I.I., SI3, cours 9, décembre 2015, durée : 55 mn, Jean-Paul Stromboni Objectif et contenu de cette séance : Objectif : étendre aux images numériques les notions introduites pour le signal audio numérique : échantillonnage, quantification, filtrage, et plus tard spectre et compression Contenu : on voit les notions de résolution, d’image de niveaux de gris, de codage RGB et YUV, de colormap, de filtre d’image, le problème de détection de contours … avec Scilab. Outils : installer la boîte à outils SIVP dans Scilab Pour installer SIVP, dans Scilab, aller dans le menu ‘Applications’ puis dans le menu ‘Gestionnaire de Modules’, et installer ‘Scilab Image and Video Processing’ depuis Scilab Installer également le logiciel libre et gratuit IMLAB Savez vous répondre aux questions suivantes ? Que signifie résolution de 30 ppp d’une image ? En quoi une image de niveau de gris diffère-t’elle d’une image RVB ? Comment distinguer une image en noir et blanc et une image en niveaux de gris ? Donner la réponse impulsionnelle ou masque, ou noyau, du filtre de Prewitt horizontal Combien de pixels sur 10 cm en résolution 30 dpi ? Une table de 256 couleurs codées sur 8 bits occupe combien d’octets ?

Caractère numérique d’une image de niveaux de gris L'image suivante est affichée par Imlab avec à droite les pixels de la zone indiquée par le curseur : définition horizontale : N=358 pixels, définition verticale : M=587 pixels, B=8 bits par pixel, 256 valeurs d’intensité possibles, niveaux de gris de 0 pour un pixel noir à 255 pour un pixel blanc. Propriétés de ‘moon.png’ : Largeur : 358 pixels Hauteur : 537 pixels Profondeur couleur: 8 Taille: 85,7ko (87 809 octets)

Du signal audio numérique à … l’image numérique En résumé : la durée devient la distance, le temps devient espace, et une dimension devient deux. x y L H y découpé en M lignes x découpé en N colonnes Im(x,y) s(t) t D

Une image couleur RGB est la superposition de trois images de niveaux de gris : une rouge R, une verte G et une bleue B: Im=imread(‘Joconde.jpg’); // avec Scilab et SIVP imshow(Im); // par contre pour afficher Pixel Region, utiliser IMLAB size(Im) // donne 300 par 198 par 3, pourquoi ? Avec Imlab, des pixels du « sourire de Mona Lisa » Properties de ‘joconde.jpg’ (Windows) Largeur : 198 pixels Hauteur : 300 pixels Résolution : 30 ppp Profond. couleur: 24 Taille 7,10Ko(7276o)

Séparer les trois images de niveau de gris R, G (vert) et B Avec Imlab: menu Process, puis Split components, donne les trois images R,G et B : // avec SIVP // Afficher R, G et B rgb=imread('Joconde.jpg'); r=rgb; r(:,:,[2,3])=0; // ? imshow(r) imwrite(r,'jocr.jpg'); g=rgb; g(:,:,[1,3])=0; imshow(g) b=rgb; b(:,:,[1,2])=0; imshow(b)

Extraire luminance Y et chrominances CB et CR avec Imlab À l’aide de IMLAB, menu Image/Color space, choisir YCrCb, puis menu Process, choisir Split components, et voici Y, Cr et Cb pour ‘joconde.jpg’ la luminance Y à gauche, contient plus d’information que les chrominances Cr et Cb : on sous-échantillonne les plans U et V dans un rapport 2 pour compresser l’image ** rgb2gray() qui calcule Y transforme une image couleur en image de niveaux de gris

Avec Scilab, calculer Y, Cr et Cb et sous-échantillonner Cr // sauver l’image dans Im Im=imread('joconde.jpg'); // calculer Y, Cr, et Cb YCrCb=rgb2ycbcr(Im); Cr=YCrCb(:,:,1); Y=YCrCb(:,:,2); Cb=YCrCb(:,:,3); // afficher Cr imshow(Cr) [l,c]=size(Cr) //sous échantillonner Cr //dans un rapport 4 Cr4=Cr(1:2:l,1:2:c); Cb4=Cb(1:2:l,1:2:c); imshow(Cr4) Taux de compression de Cr ? Taux de compression de Cb ? Taux de compression de l’image RGB ?

L’œil différencie 2 millions de couleurs, 24 bits en créent plus de 16 L’œil différencie 2 millions de couleurs, 24 bits en créent plus de 16.7 millions, utiliser une table de couleurs (colormap ) est un moyen de compresser une image Une colormap est un tableau de 2A cases contenant chacune une intensité codée sur B bits, avec 2B>2A (par exemple 256 couleurs codées chacune sur 24 bits). Chaque pixel contient alors un index, adresse sur A bits de la case de la colormap où lire la couleur du pixel. Il en résulte un taux de compression : C = B/A. Scilab contient des colormaps, telles que pinkcolormap, et permet d’en définir de nouvelles : b=imread('moon.png'); cmap=pinkcolormap(64); c=ind2rgb(b,cmap); imshow(c); size(cmap) 64 3 La matrice cmap est constituée de trois colonnes R, G et B où il est permis de constituer sa propre colormap ou de choisir pinkcolormap ou … Taux de compression ici ? L’image c est quatre fois plus petite que b, pourquoi ? R G B r1 g1 b1 r2 g2 b2 … r64 g64 b64

Histogramme d’une image: décaler l’intensité médiane lena=imread('lena.png'); imshow(lena) lenay=rgb2gray(lena); imshow(lenay) scf(2); bar(imhist(lenay),1,'green'); // foncer lenay imshow(imsubtract(lenay,40)) // imadd pour éclaircir // lenay doit être réelle median(double(lenay)) stdev(double(lenay)) //mediane de lenay: 129. //stdev de lenay: 47.85 0. 129. 255.

Histogramme d’image : écart type d’intensité et contraste function Z= contraste(X, t) n=size(X,1);p= size(X,2); Z=double(X);b=median(Z); M(1:n,1:p)=b; Z=M+ t*(Z-M); M(:)= 255; Z=min(Z,M); M(:)= 0; Z=max(Z,M); Z=uint8(Z); endfunction lenayc=contraste(double(lenay),1.5); imshow(lenayc) bar(imhist(lenayc),1,'green'); median(double(lenayc)) stdev(double(lenayc)) // mediane lenayc: 129. // stdev lenayc: 83.79 0. 129. 255.

Fréquence spatiale horizontale i(x)= 0.5+ 0.5*cos(2*%pi*f*x) x varie de 0 à L Définition : N pixels entre 0 et L Période échantillonnage : L/N Résolution horizontale: fx = N/L Pixellisation : x= k*L/N, k= 0 … N-1 ik= 0.5*(1+cos(2*%pi*f*k*L/N) Normalisation de fe : L/N= 1 fx=1 pixel par unité de longueur  x= 0 .. N-1 ik=0.5*(1+cos(2*%pi*f*x) Page 11

Filtres d’images numériques : Comme pour le signal audio, on peut filtrer une image numérique, par produit de convolution bidimensionnel : Un filtre passe haut amplifie les hautes fréquences spatiales (détection des contours) Un filtre passe bas favorise les basse fréquences spatiales, atténue les bruits, contours, les discontinuités spatiales, mais crée des zones de flou. Imf= Im * h Où Im est l’image M x N pixels à filtrer, Imf est l’image des M x N pixels filtrés, h est la réponse impulsionnelle du filtre, une matrice de dimensions R x R Calcul du pixel Imf(i, j) de l’image filtrée : i varie de 0 à M-1, j de 0 à N-1 Im(k,l) est pris égal à zéro quand k= i-m+R-1 est négatif, ou quand l= j-n+R-1 <0 Imf(i,j) est la somme de R2 termes non nuls impliquant le pixel Im(i,j) et ses voisins Page 12

Exemple de mise en œuvre du produit de convolution 3x3 Soit h ci-dessous, matrice 3 x 3, et réponse impulsionnelle du filtre Soit sI, sous matrice 3x 3 de Im centrée sur le pixel à filtrer pc Le pixel filtré vaut Application : relever pc et calculer le pixel filtré dans le cas suivant Avec Scilab, faire h= [1, 1, 1; 0, 0, 0; -1, -1, -1]; Imf = imfilter(Im, h); Imf2 = imfilter(Im, h’); pc= 1 p= -3 p= 0 Page 13

Filtrage de l’image ‘lena.png’, filtre laplacien (dérivée seconde) // filtrer l'image lena //filtre laplacien lena=imread('lena.png'); h = fspecial('laplacian'); imf = imfilter(lena,h); imshow(imf); h

Détection de contours avec le filtre de Prewitt et son transposé // Scilab SIVP image='joconde.jpg'; im = imread(image); imd=im2double(im); img = rgb2gray(imd); imshow(img) // avec Scilab et SIVP h= fspecial(‘prewitt’) imfx = imfilter(img, h'); aimfx=imcomplement(abs(imfx)); imwrite(aimfx,’aimfx.png’); // avec Scilab et SIVP imfy = imfilter(img, h); aimfy=imcomplement(abs(imfy)); imwrite(aimfx,’aimfy.png’);

On somme imfx et imfy et on applique un seuil pour déterminer les contours // seuil croît seuil=0.5; imc=imcontour; imc(imc<seuil)=0; imc(imc>0)=0.9; imc=imcomplement(imc); imwrite(imc,’./imc.png’) // seuil ‘bas’ seuil=0.3; imc=imcontour; imc(imc<seuil)=0; imc(imc>0)=0.9; imc=imcomplement(imc); imwrite(imc,’./imc.png’) // sans seuil imcontour=abs(imfx)+abs(imfy); imwrite(imcontour), './c.png');

Capteurs biologiques : cellules de la rétine Les bâtonnets (vision de nuit) sont sensibles à la luminosité et pas à la couleur, il y en a 120 millions sur la rétine, ils ont un maximum de sensibilité vers le bleu , c’est-à-dire l = 500 nm environ Les cônes sur la fovea, petite zone de la rétine, sont 7 millions par œil, il y a Les cônes verts, capturent plutôt les photons verts, maximum vers l = Les cônes rouges, capturent les photons rouges, maximum vers l = Les cônes bleus capturent les photons bleus, maximum vers l = D’après la courbe ci-dessous : L’œil humain est plus sensible à la luminosité qu’à la couleur Les cônes verts sont plus sensibles que les rouges plus sensibles que les bleus (cf. Wikipédia)

R, G, B  Yn, Cb, Cr (ou YUV) un autre moyen de compresser Comment transformer une image couleur à afficher sur un téléviseur noir et blanc, sans perdre l’information sur les couleurs R, G et B ? On calcule la luminance Y ainsi que les chrominances Cb et Cr : Y est la luminance de l’image couleur, information sur la luminosité de l’image Cb est la chrominance bleue, information sur la couleur bleue dans l’image Cr est la chrominance rouge Y, Cr, et Cb permettent de reconstituer R, G et B, c’est-à-dire l’image couleur Mais comme l’œil perçoit le vert comme plus lumineux que le rouge, lui-même plus lumineux que le bleu, on peut sous échantillonner les plans Cr et Cb pour compresser l’image, c’est la première phase du codec jpeg Si on sous échantillonne dans un rapport 2 horizontalement et verticalement Cr et Cb, on a : R,G,B  Y, Cr, Cb  Y, Cr/4,Cb/4  taux de compression = 2 ( pourquoi ?)

Une application au problème de détection des contours d’une image I(x,y) I(x,y) ci contre est le niveau de gris d’une photographie, x et y peuvent prendre toutes les valeurs entre 0 et L pour x, 0 et H pour y. Détecter les contours, c’est situer les zones de l’image où l’intensité varie « brusquement » : On calcule le gradient de I(x,y) La dérivée partielle horizontale La dérivée partielle verticale On évalue le module et l’argument du vecteur gradient : Le module mesure l’importance de la variation d’intensité L’argument indique la normale du contour On compare le module du gradient à un seuil paramétrable pour distinguer Le filtre de Prewitt est un moyen de calculer ce gradient : h = fspecial('prewitt'); //gradient vertical h’ // transposée de h, gradient horizontal y x

Lumière, lumière visible, lumière blanche Lumière monochromatique : onde électromagnétique de longueur d’onde l = c / f , f est la fréquence de l’onde, et c la vitesse (ou célérité) de la lumière Flux de particules (photons) en mouvement rectiligne uniforme de vitesse c Lumière visible ( à l’œil humain) : Pour l compris entre environ 400 nm et 700 nm (1nm = 10-9m= 1000 mm) À chaque l, correspond une couleur primaire, ainsi par exemple : violet : l= 380nm, indigo: 450nm, bleu : 500nm, vert : 570 nm, jaune 590 nm, rouge 680 nm Lumière polychromatique : composée de couleurs primaires (notion de spectre) Lumière blanche : composée de toutes les couleurs primaires (cf. disque de Newton) Reconstitution sur un écran : 30% de rouge+ 60% de vert et 10% de bleu (cf. http://www.techno-science.net)