Programme en Python et/ou en C pour connaître l'intensité reçu par un pixel...

Démarré par Laure-Anh, Octobre 11, 2015, 17:10:21

« précédent - suivant »

Laure-Anh

Connaissez-vous un programme informatique en Python ou en langage C permettant de connaître l'intensité lumineuse reçue par un pixel de capteur CCD ? Idem pour un pixel de capteur CMOS ?
Merci par avance pour vos contributions.

spinup

Tu veux dire a partir du RAW? Je crois pas que l'intensite absolue soit accessible, c'est toujours une valeur relative en fonction du gain de l'amplification.
Pour la valeur contenue dans le RAW pour chaque photosite, tu peux poser la question aux developpeurs qui s'occupent du dematricage sur le forum de Rawtherapee, je pense qu'il doivent pouvoir connaitre ca.
http://rawtherapee.com/forum/

Laure-Anh

Merci spinup d'avoir pris le temps de répondre.

Il y a tous les risques que je sois amenée à reproduire et à expliquer en labo le principe de l'autofocus par détection de phase et par détection de contraste, avant d'envisager d'enregistrer une image quelle qu'elle soit. Je suis à la recherche d'infos me permettant d'exploiter en pratique un CCD puis deux CCD, très en amont de l'enregistrement du fichier image, jpeg ou RAW...Mais tout est bon à prendre, tant que ce sont des données à ma portée. Bien à toi,

spinup

Citation de: Laure-Anh le Octobre 11, 2015, 21:14:03
Je suis à la recherche d'infos me permettant d'exploiter en pratique un CCD puis deux CCD, très en amont de l'enregistrement du fichier image, jpeg ou RAW...

OK, je l'ai fait en TP quand j'etais etudiant avec du C/C++ si je me souviens bien mais ca date un peu. Y a pas de reponse simple a ta question: ca depend si cest un CCD analogique ou numerique, si tu veux exploiter un signal temps reel ou seulement des captures.
Dans tous les cas il faudra trouver les bonnes librairies en C (windows image acquisition semble etre la plus repandue) ou toolbox python pour l'acquisition d'image, et avoir la carte d'acquisition et les drivers pour le CCD.

Je connais pas bien python, mais matlab est peut etre un choix plus accessible avec plus d'aide et d'exemples disponibles: http://uk.mathworks.com/products/imaq/

Laure-Anh


fred134

Je n'ai pas bien compris ce que tu veux faire, ni de quoi tu pars ? Tu veux connaitre l'intensité lumineuse en fonction du signal ? Il faut que tu caractérises ton capteur a priori (à moins que les données soient dispo ?)

En amont du capteur tu as une intensité lumineuse que tu peux mesurer directement sur la lumière. En aval, tu as des photoélectrons (entre les photons et les e- il y a le rendement quantique), puis le signal (les e- amplifiés).
Si c'est le nombre d'e- qui t'intéresse, tu peux le calculer à partir du bruit d'un signal "moyen". Et en déduire le rendement quantique, si tu as besoin des e- en fonction de l'intensité lumineuse. Ou d'autres correspondances.

NB : je ne suis pas spécialiste, et ce type d'éléments très généraux ne correspond probablement pas à ton besoin, désolé si j'ai répondu à côté mais je me suis dit que ça pouvait toujours servir...

spinup

Je crois qu'il s'agit simplement de recuperer le signal de sortie d'un CCD sous formes d'un tableau de valeurs pour chaque pixels. Et ensuite, je suppose, d'utiliser le signal pour faire la mise au point soit par difference de phase, soit par maximisation du contrastes.

Ca depend du materiel a disposition. En partant de zéro, une idee peut etre de se rapprocher d'universités qui font ce genre de choses en TP et demander ce qu'ils utilisent comme matos et logiciel.

http://www.creatis.insa-lyon.fr/~bernard/files/courses/TP_VISION.pdf
http://www.telecom-physique.fr/formation/ingenieur-generaliste/programmes-2014-2015/programme-2a-2014-2015/image-et-vision/

Laure-Anh

Citation de: spinup le Octobre 16, 2015, 17:24:11
Je crois qu'il s'agit simplement de recuperer le signal de sortie d'un CCD sous formes d'un tableau de valeurs pour chaque pixels. Et ensuite, je suppose, d'utiliser le signal pour faire la mise au point soit par difference de phase, soit par maximisation du contrastes.

Ca depend du materiel a disposition. En partant de zéro, une idee peut etre de se rapprocher d'universités qui font ce genre de choses en TP et demander ce qu'ils utilisent comme matos et logiciel.

http://www.creatis.insa-lyon.fr/~bernard/files/courses/TP_VISION.pdf
http://www.telecom-physique.fr/formation/ingenieur-generaliste/programmes-2014-2015/programme-2a-2014-2015/image-et-vision/

C'est exactement ça. On nous demande de comprendre une technologie donnée, d'expliquer le principe de cette technologie et de reproduire cette technologie en labo...
Merci à vous deux,

chelmimage

Cette manip me parait intéressante: elle peut permettre de savoir combien de bits sont nécessaires pour quantifier de façon utile l'amplitude du signal de sortie selon les niveaux d'éclairement.
A rapprocher du Pb Sony, 12 bits, 14 bits?
Ai-je bien compris?
edit: pour ceux qui savent déjà ce ne sera évidemment pas une découverte! pour moi si!  ;) ;)

Laure-Anh

J'avance dans mes recherches...
Pour ceux que cela peut concerner ou intéresser, voici quelques liens :

Principe des CCD  :  http://www.lesia.obspm.fr/perso/stephane-erard/docs/CCD/CCD1.html
Formations d'images, exemple de l'oeil et de l'appareil-photo : http://109.26.139.116/s.remyhtml/ph_ch_1S_2011/corrige-activites/Act03-oeil-appareil-photo_corrige.pdf
TP proprement dit portant sur l'autofocus : http://www2.ac-lyon.fr/enseigne/physique/spip.php?article374

baséli

Citation de: spinup le Octobre 11, 2015, 22:55:26
les drivers pour le CCD.

De ce que je comprends de ta question, c'est ça le plus important. On va sûrement te donner un modèle de CDD avec une électronique qui va bien et une interface informatique quelconque sur cette électronique (USB, port série, que sais-je) et des API basiques qui vont bien. Si c'est un modèle courant, tu trouveras peut-être des librairies de plus haut niveau bâties sur les API de base, qui te faciliteront bien le travail.

Si tu dois trouver toi-même le CCD à acheter, c'est différent, cherche le truc le plus connu et le moins cher, il y a sûrement les programmes qui vont bien disponibles sur internet ou livrés avec le matos.

sledof

Voir peut-être ce qui n'existe dans le monde raspberry ou arduino, c'est assez riche extensions 'imageur' et il'yna en général!le nécessaire pour développer...

Stephane

Laure-Anh


elscode

L'histoire devrait toujours commencé par une bonne grosse lecture du datasheet du composant CCD utilisé  ;D

Ce sera plus instructif qu'un échange sur un forum dédié à la photo.

elscode

Une piste rapide : une fois que tu as ta matrice de points (image), il faut la travailler dans le domaine fréquentiel pour isoler les informations de hautes fréquences (donc ceux qui sont hors de la zone de flou).

Ca se fait très bien avec des simples filtres a réponse impulsionelle finie (FIR). Il existe des lib dans presque tous langages, et ca s'implémente assez bien sur DSP.

Il "suffit" de modéliser un filtre passe haut :D

Bon courage ;-)

spinup

Citation de: elscode le Novembre 11, 2015, 13:30:58
Une piste rapide : une fois que tu as ta matrice de points (image), il faut la travailler dans le domaine fréquentiel pour isoler les informations de hautes fréquences (donc ceux qui sont hors de la zone de flou).

Ca se fait très bien avec des simples filtres a réponse impulsionelle finie (FIR). Il existe des lib dans presque tous langages, et ca s'implémente assez bien sur DSP.

Il "suffit" de modéliser un filtre passe haut :D
C'est des notions qui peuvent sembler obscures mais qui ne sont pas tres difficiles a expliquer:

Pour quantifier/mesurer/detecter un contour net, on fait la difference entre un pixel et son ou ses voisins. On peut le faire dans la direction horizontale (pour detecter les contours verticaux) ou dans la direction verticale (pour dtecter les contours horizontaux). On peut aussi le faire dans tous les directions.

Pour une image 1024x680, ca donnerait quelque chose comme ca en C:

for (i=1; i<1024; i++)
{
for (j=1, j<680; j++)
{

ContourVertical[ i][j]= Image[ i][j]-Image[i-1][j] + Image [ i][j]-Image[i+1][j];

ContourHorizontal[ i][j]= Image[ i][j]-Image[ i][j-1] + Image[ i][j]-Image[ i][j+1];

}
}


Les filtres a reponses impulsionnelle finies sont des outils sous forme de matrice qui realisent la meme operation, mais peuvent faire d'autre choses: http://docs.gimp.org/2.6/fr/plug-in-convmatrix.html

Pour le contour vertical tel que  j'ai donné au dessus on utilisera la matrice
0 0 0
1 -2 1
0 0 0

Pour le contour horizontal
0 1 0
0 -2 0
0 1 0


marco56

Au cas où, je ne sais pas si cela peut t'intéresser, j'enseigne un peu le python. Dans cette partie, je fais du traitement d'image : seuillage, modification de contraste, floutage, ... à partir d'image en jpg ou png.
Si besoin, j'ai un poly sur le net destiné à mes étudiants.
Une manoeuvre réussie est une catastrophe évitée de justesse.

Laure-Anh

Citation de: marco56 le Novembre 11, 2015, 22:36:11
Au cas où, je ne sais pas si cela peut t'intéresser, j'enseigne un peu le python. Dans cette partie, je fais du traitement d'image : seuillage, modification de contraste, floutage, ... à partir d'image en jpg ou png.
Si besoin, j'ai un poly sur le net destiné à mes étudiants.

Je suis preneuse et t'en remercie par avance.

(PS : J'ai trouvé une présentation - un peu costaud pour mon niveau - qui donne les principes théoriques dans les grandes lignes.
Pour ceux que cela pourrait également concerner, c'est ici : http://paristech.institutoptique.fr/site.php?id=31&fileid=13012 )

marco56

Citation de: Laure-Anh le Novembre 11, 2015, 22:48:17
Je suis preneuse et t'en remercie par avance.

(PS : J'ai trouvé une présentation - un peu costaud pour mon niveau - qui donne les principes théoriques dans les grandes lignes.
Pour ceux que cela pourrait également concerner, c'est ici : http://paristech.institutoptique.fr/site.php?id=31&fileid=13012 )


Voici l'adresse :
http://obelix56.free.fr/spip.php?article55
Tu prends "info-eleve.pdf".
Si tu souhaites t'entraîner, tu peux aussi télécharger le fichier-eleve.
Les fichiers pdf python-eleve et scilab-eleve sont des parties de info-eleve.
Si tu le souhaites, je peux ne mettre que la partie sur le traitement d'images, il faut juste que je recompile les fichiers.
Enfin, j'ai la version prof (avec les solutions). Si tu veux, tu peux me contacter à l'adresse du site (remplace le premier . par  [at] )
Une manoeuvre réussie est une catastrophe évitée de justesse.

Miaz3

Ça demande un investissement certain (en temps surtout) : http://fr.mathworks.com/
La toolbox des image process : http://fr.mathworks.com/help/images/index.html

Sinon est que les lib dispo dans les sources de daveCoffin (dcRaw) permuteraient de faire avancer le chmilblik ?

marco56

Citation de: Miaz3 le Novembre 12, 2015, 11:05:48
Ça demande un investissement certain (en temps surtout) : http://fr.mathworks.com/
La toolbox des image process : http://fr.mathworks.com/help/images/index.html

Sinon est que les lib dispo dans les sources de daveCoffin (dcRaw) permuteraient de faire avancer le chmilblik ?

Ce serait dommage d'utiliser matlab, payant, alors que python et scilab, par exemple, sont gratuits (sauf si Laure-Anh possède déjà une licence matlab).
Une manoeuvre réussie est une catastrophe évitée de justesse.

elscode


Miaz3

Je ne connais ni l'un ni l'autre j'utilise énormément les fonctions (très bien détaillés) toolbox sur le site de mathwork.
Mais dans ce cas, effectivement si scilab est gratos au temps partir dessus.

marco56

Une manoeuvre réussie est une catastrophe évitée de justesse.


marco56

Une manoeuvre réussie est une catastrophe évitée de justesse.

Laure-Anh

Citation de: marco56 le Novembre 11, 2015, 23:06:06
Voici l'adresse :
http://obelix56.free.fr/spip.php?article55
Tu prends "info-eleve.pdf".
Si tu souhaites t'entraîner, tu peux aussi télécharger le fichier-eleve.
Les fichiers pdf python-eleve et scilab-eleve sont des parties de info-eleve.
Si tu le souhaites, je peux ne mettre que la partie sur le traitement d'images, il faut juste que je recompile les fichiers.
Enfin, j'ai la version prof (avec les solutions). Si tu veux, tu peux me contacter à l'adresse du site (remplace le premier . par  [at] )

Merci infiniment Marco56.
Je regarde ça. Je te contacterai directement plus tard.

marco56

Une manoeuvre réussie est une catastrophe évitée de justesse.

Laure-Anh

Bonjour,

Je reviens vers vous pour mon TP.

J'ai choisi de reproduire un autofocus passif, plus précisément l'autofocus à mesure de contraste. Pour ce faire, j'ai effectué un montage simplifié en disposant une source lumineuse suivie d'un diaphragme puis d'une lentille convergente et pour finir par un capteur CCD (constitué d'une seule rampe de pixels horizontale) sur le banc optique. Je fais varier progressivement dans un sens puis dans l'autre la position de la lentille de part et d'autre de la distance qui procure la bonne mise au point et je mesure pour chaque distance en deçà, pour la distance précise de bonne mise au point, pour chaque distance au-delà, et inversement, le comportement de ma rampe de pixels face à la lampe dont l'embout lumineux me sert d'objet à photographier.

Je n'ai pas d'images à l'issue de mon étude. Aucune image à analyser. Uniquement des courbes.

Les courbes issues du capteur CCD sont des courbes de tensions directement proportionnelles aux intensités lumineuses enregistrées par la barrette en fonction du temps ; ces courbes complétées par une courbe de "balayage" linéaire de la barrette CCD (laquelle courbe associe une valeur en volts à un instant t) permettent au final d'associer à chaque pixel de ma barrette CCD horizontale la valeur d'intensité lumineuse reçue au cours de l'étude du phénomène.

Après avoir cherché sur internet et dans les livres consacrés à cette étude, un problème se pose : celui du tracé des profils de contraste.
Les définitions du contraste varient d'un auteur à l'autre.

La première méthode est d'établir le contraste par pixel. Avec pour formule : contraste(p)=(Lmax-Lmin)/(Lmax+Lmin) avec Lmax et Lmin les luminances maximale et minimale au "voisinage" du pixel p sans précision concernant le terme "voisinage".
La seconde méthode de calcul du contraste consiste quant à elle à calculer la variation d'intensité lumineuse d'un pixel à un autre et à moyenner la somme des variations sur tous les pixels de la barrette CCD.

Laquelle préférer ? Laquelle est la plus appropriée à la mise au point photo ? Et si possible pourquoi ? Sachant que mon algorithme est aveugle, qu'il n'a pas d'images à se mettre sous la dent, qu'il a uniquement connaissance des courbes enregistrées et pour chaque courbe la connaissance très approximative de la position que la lentille occupait de part et d'autre de la distance de bonne mise au point.

Si vous avez un algo qui conduirait à la bonne distance de mise au point à me suggérer, ce serait le pied.

Merci par avance de vos avis et conseils,

marco56

Que tu n'aies pas d'image n'est pas très important.
En revanche, ce à quoi il faut accéder, d'une manière ou d'une autre, c'est aux valeurs de luminance (j'appellerais cela plutôt éclairement mais je peux me tromper) pour chaque pixel de la barrette.
La surface de la barrette est de forme rectangulaire ? Étant donné le montage que tu décris, j'imagine que tu as une source monochromatique.
Partant du tableau de valeurs pour chaque pixel, ce que je ferai a priori, c'est de faire le calcul de contraste en passant un masque (une matrice de convolution appelée également noyau de type [[0 -1 0][-1 5 -1][0 -1 0]]) pour chaque point (exceptés les pixels des bords).
Ensuite, si tu souhaites que le contraste soit maximal pour toute l'image, on peut faire une moyenne du contraste de chaque pixel.
Tu as cours sympa ici : xmcvs.free.fr/astroart/Chapitre4.pdf (ce n'est pas de moi...).
Si tu souhaites m'envoyer ce dont tu disposes, je veux bien jeter un oeil. Tu sais où me joindre...
Une manoeuvre réussie est une catastrophe évitée de justesse.

spinup

Citation de: Laure-Anh le Mai 18, 2016, 19:34:48
La première méthode est d'établir le contraste par pixel. Avec pour formule : contraste(p)=(Lmax-Lmin)/(Lmax+Lmin) avec Lmax et Lmin les luminances maximale et minimale au "voisinage" du pixel p sans précision concernant le terme "voisinage".

La seconde méthode de calcul du contraste consiste quant à elle à calculer la variation d'intensité lumineuse d'un pixel à un autre et à moyenner la somme des variations sur tous les pixels de la barrette CCD.
Dans la premiere methode, le "voisinage" c'est la taille de la zone de MAP que tu definis toi même.  Si ton pixel d'interet est a la position p, et que tu definis un voisinage de taille S, tu inclus tous les pixels entre P-S et P+S et parmi les valeurs de luminance de ces pixels tu prends la valeur mi et la valeur max. Plus le voisinage est petit plus tu as une approche fine. Ca suppose aussi que tu fais la MAP a un endroit precis p (un peu comme quand tu choisis une zone ou un "collimateur").
Tu peux choisir comme voisinage la totalité des pixels de ta barrette, ce sera une approche assez grossiere mais qui peut fonctionner sur un montage simple comme le tien.
Dans la deuxieme méthode, tu calcules les variations spatiales de luminance (maximales pour les contours nets), et tu definis une  moyenne de ces variations. Le but est d'obtenir une image qui a le plus de contours nets. Ceci dit je suis pas sur que prendre la moyenne soit une bonne idee, a mon avis prendre le maximum serait plus efficace.
Comme dit marco56, tu peux utiliser un masque de convolution, comme cest en 1D, ici ca sera simplement [-1 2 1].
Ou ca se code simplement en C de cette facon, pour barrette avec 1024 pixels, une luminance L et un contraste C:


C[0]=0;
C[1023]=0;

for (i=1; i<1022; i++)
{

C[ i]= L[ i]-L[i-1] + L[ i]-L[i+1];

}

L'algorithme de MAP est assez simple. Pour les deux méthodes tu obtiens un valeur de contraste C, tu deplaces le moteur pas a pas pour faire augmenter C jusqu'a arriver au maximum. Si C diminue il faut changer de direction, si C augmente il faut continuer tant que ca ne diminue pas.

Apres tu peux raffiner pour augmenter au diminuer le pas de deplacement en fonction de la variation de C, pour gagner en efficacité.




marco56

Je corrige ma matrice et ta,nt qu'à faire celle de spinup (petite erreur de signe mais corrigée dans l'algo) :
en 2D : [[0 -1 0][-1 4 -1][0 -1 0]]
en 1D : [-1 2 -1]
Une manoeuvre réussie est une catastrophe évitée de justesse.

Laure-Anh

Merci à vous deux pour vos réponses rapides. Je pense que je vais utiliser la première méthode en définissant différents voisinages et en les affinant, puis la méthode du masque de convolution.

Marco56, j'ai consulté le site que tu m'as indiqué, cependant je ne suis pas sûre de comprendre comment on choisit la forme [-1 2 -1] de la matrice...  :-\

De plus, pour l'instant je dispose des courbes d'intensité en fonction du temps, et des courbes représentant le déclenchement de la voie Trigger, avec les tableurs donnant les valeurs de chacune. Mon professeur m'a donné une seule indication que je n'ai pu mettre en oeuvre et qui consistait à me placer en mode XY (comme sur un oscilloscope mais avec le logiciel synchronie qui m'a servi à faire toutes mes acquisitions), qu'en pensez-vous ? Mon professeur m'avait dit que cela me permettrait d'avoir directement une courbe d'intensité en fonction des pixels, mais je ne comprends pas comment cela est possible car cela suppose un échantillonnage  ??? J'ai alors pensé à associer à chaque valeur de temps un pixel par la loi : position= (temps écoulé depuis le top) x (longueur de la barette) / (temps de lecture des 2048 pixels) .

Merci encore pour toute l'aide que vous pourrez me fournir,

frmfrm

Je ne sais pas en quelle classe tu es et je n'ai pas tout lu. Je vais peut être te faire une réponse trop simple  et pas adaptée pour ce que tu dois/veux faire ...

Tu peux te faire uns simulation de ce que tu recherches à mettre en évidence avec photoshop.

Tu prends un fond noir, et sur une couche supérieur tu dessines un rond blanc.

Ensuite tu ouvres ton histogramme et tu appliques un flou gaussien sur le disque blanc. Tu peux voir en direct comment le flou joue sur les valeurs des stats de l'histo. Ensuite à toi de mettre en oeuvre un algo qui reproduit ce que tu auras constaté ( ou pas ;) )

marco56

Partons du principe que ta barrette est en 1D, c'est ce que je comprends.
Pour augmenter le contraste en 2 D, on utilise la matrice : [[0 - 1 0][-1 5 -1][0 -1 0]]
Comme tu ne veux pas augmenter le contraste, on peut, pour garder une même moyenne (à peu près), prendre 4 à la place de 5.
En 1D, cela revient à prendre [-1 2 -1].
Pour le calcul, je reste sur mon idée de travailler sur les valeurs à différents instants.
Une manoeuvre réussie est une catastrophe évitée de justesse.

Miaz3

Je l'avais oublié ce fil !

Merci à vous, pour tous ces liens  :)

Surtout à marco56, ton bouquin a l'air d'être enrichissant.
J'ai appris python en autodidacte, mais ça ne va pas me faire de mal !

++

marco56

Citation de: Miaz3 le Mai 19, 2016, 20:51:49
Je l'avais oublié ce fil !

Merci à vous, pour tous ces liens  :)

Surtout à marco56, ton bouquin a l'air d'être enrichissant.
J'ai appris python en autodidacte, mais ça ne va pas me faire de mal !

++


Merci.
Il va falloir que je le change : j'ai corrigé des erreurs.
Une manoeuvre réussie est une catastrophe évitée de justesse.

Laure-Anh

Citation de: marco56 le Mai 19, 2016, 18:39:52
Partons du principe que ta barrette est en 1D, c'est ce que je comprends.
Pour augmenter le contraste en 2 D, on utilise la matrice : [[0 - 1 0][-1 5 -1][0 -1 0]]
Comme tu ne veux pas augmenter le contraste, on peut, pour garder une même moyenne (à peu près), prendre 4 à la place de 5.
En 1D, cela revient à prendre [-1 2 -1].
Pour le calcul, je reste sur mon idée de travailler sur les valeurs à différents instants.

Matrice [[0 - 1 0][-1 5 -1][0 -1 0]] en 2D comme dans l'exemple figurant de ton lien. Ce qui a multiplié le contraste initial par 7...
Et matrice [-1  2 -1] en 1D parce que c'est un filtre passe-haut suffisant dans le cas de ma simplissime rampe horizontale de 2048pixels.
L'application d'un masque de convolution tendra en pratique - si j'ai bien compris vos intentions amicales, à elscode, spinup et à toi - à prouver aux examinateurs que je me suis penchée sérieusement sur le sujet d'étude qui m'a été attribué et que j'ai bien compris l'utilité et le principe d'applications de filtres, dont l'application de filtre passe-haut, quand il s'agit d'analyser dans un contexte plus large une image en 2D.

Pour le calcul, s'agissant d'une barrette CCD horizontale de 2048 pixels, et sachant pertinemment que j'ai formé une image minuscule à tel endroit bien précis couvrant plusieurs pixels bien précis lesquels pixels correspondent à des temps de balayage bien précis le long de ladite barrette, autant démontrer à mes examinateurs que le contraste est maximal là où il est facile à localiser, là où je sais qu'il se trouve, en travaillant pour chaque courbe sur les valeurs à différents instants.

Je vous remercie tous, j'entends par là tous ceux qui sont venus sur ce fil, du fond du coeur.

marco56

Attention, la valeur 7 est lié aux valeurs initiales.
Si on prend 110 à la place de 150, on modifie le résultat.
Il y aura un gain de contraste, mais beaucoup plus faible. Il suffit de refaire le calcul.
Il y a un paramètre oublié dans le document, c'est qu'on fait passer la matrice de convolution en tout point de la matrice image.
De ce fait, les points voisins sont également modifiés.
Pour ton souci, il m'est difficile de te répondre de façon catégorique : il faudrait pour cela que tu fournisses les courbes ou mieux les valeurs données par Synchronie.
Une manoeuvre réussie est une catastrophe évitée de justesse.

Laure-Anh

Je vais présenter mon TP aujourd'hui en examen blanc pour permettre à un pool de profs du lycée de juger de la pertinence et de la consistance du travail accompli.
Le temps de parole octroyé est de 10 minutes. J'affinerai mes travaux en fonction de leurs avis critiques, de l'intérêt soulevé et de leurs éventuelles demandes d'informations complémentaires.

L'autofocus par mesure de contraste sera confronté avec les autres solutions existantes : contraste de phase, hyperfocale, télémétrie,...

Miaz3

J'espère que tout c'est bien passé ?
Sinon je pensais, tu parlais de convolve.
Dans ImageJ tu à la possibilité de jouer avec les matrices et avoir un retour en temps réel si ça peut t'aider ?

Laure-Anh

Tout s'est bien passé.

Toutefois, ils ont tous eu un sourire entendu au coin des lèvres quand j'ai commencé à exposer que j'avais transformé mes mesures en leur appliquant un masque de convolution.
Il était évident qu'à mon niveau de connaissance actuel, j'étais à leurs yeux une jeune qui vient tout juste de découvrir l'intérêt d'utiliser une loupe pour (mieux) chercher un lieu-dit sur une carte routière.
Ils se sont moqués à demis mots mais dans un esprit critique bon enfant et bienveillant.

J'ai au final peu de choses à remanier. La présentation de mon intérêt particulier pour l'AF par mesure de contraste, les travaux menés, les conclusions qui en découlent et mes réflexions vont bien.
La mention d'application de masque de convolution est "inappropriée" - c'est un euphémisme ! - en l'absence de plusieurs longues années d'études et de pratiques supplémentaires.  ::)

Merci encore une fois à tous,

marco56

Citation de: Laure-Anh le Mai 20, 2016, 21:37:10
Tout s'est bien passé.

Toutefois, ils ont tous eu un sourire entendu au coin des lèvres quand j'ai commencé à exposer que j'avais transformé mes mesures en leur appliquant un masque de convolution.
Il était évident qu'à mon niveau de connaissance actuel, j'étais à leurs yeux une jeune qui vient tout juste de découvrir l'intérêt d'utiliser une loupe pour (mieux) chercher un lieu-dit sur une carte routière.
Ils se sont moqués à demis mots mais dans un esprit critique bon enfant et bienveillant.

J'ai au final peu de choses à remanier. La présentation de mon intérêt particulier pour l'AF par mesure de contraste, les travaux menés, les conclusions qui en découlent et mes réflexions vont bien.
La mention d'application de masque de convolution est "inappropriée" - c'est un euphémisme ! - en l'absence de plusieurs longues années d'études et de pratiques supplémentaires.  ::)

Merci encore une fois à tous,


Excuse-moi de te demander cela, mais tu es dans quelle filière et à quel niveau ?
Une manoeuvre réussie est une catastrophe évitée de justesse.

spinup

Ils n'ont pas tout a fait tort pour le masque de convolution. C'est un outil pratique de traitement numerique, mais le plus important est de comprendre le principe de l'operation mathematique (tres simple) realisée.

Laure-Anh

Citation de: spinup le Mai 20, 2016, 21:47:07
Ils n'ont pas tout a fait tort pour le masque de convolution. C'est un outil pratique de traitement numerique, mais le plus important est de comprendre le principe de l'opération mathématique (très simple) réalisée.

On a appris en maths à manipuler les matrices dans tous les sens mais pour autant tant que l'on ne sait pas réellement, tant que l'on n'a pas atteint un niveau de connaissance suffisamment approfondi, tant que l'on n'est pas en mesure de comprendre parfaitement, de créer, de recréer et de manipuler les filtres utilisés en traitement d'images dont les filtres mentionnés dans Astroart, il est, et j'abonde dans ce sens, prétentieux de faire mention "d'application de masque de convolution". Par égard envers ceux qui savent.
Pour Marco56 : je suis en 2ème année post-bac. J'ai achevé un premier mois d'écrits. Je suis en attente des résultats d'admissibilité aux oraux.  ;)

fred134

Citation de: Laure-Anh le Mai 20, 2016, 22:25:06
Pour Marco56 : je suis en 2ème année post-bac. J'ai achevé un premier mois d'écrits. Je suis en attente des résultats d'admissibilité aux oraux.  ;)
Je ne trouve pas que la notion de convolution soit nécessairement "inappropriée" à ce niveau, mais bon, tu fais très bien de savoir juger les attentes de tes profs :-)

spinup

Citation de: Laure-Anh le Mai 20, 2016, 22:25:06
On a appris en maths à manipuler les matrices dans tous les sens mais pour autant tant que l'on ne sait pas réellement, tant que l'on n'a pas atteint un niveau de connaissance suffisamment approfondi, tant que l'on n'est pas en mesure de comprendre parfaitement, de créer, de recréer et de manipuler les filtres utilisés en traitement d'images dont les filtres mentionnés dans Astroart, il est, et j'abonde dans ce sens, prétentieux de faire mention "d'application de masque de convolution". Par égard envers ceux qui savent.
Pour Marco56 : je suis en 2ème année post-bac. J'ai achevé un premier mois d'écrits. Je suis en attente des résultats d'admissibilité aux oraux.  ;)
C'est pas tant que les filtres de convolution sont compliques, au contraire c'est plutot simple, mais je pense que les profs attendent que tu comprennes quel principe mathematique correspond a ce masque.

En l'occurence ici, le masque [-1 2 -1] realise l'equivalent numerique de la derivee spatiale de la Luminance: dL/dx.

Bonne chance et surtout bon courage our tes concours!

jmd2

les examinateurs exigent-ils que les candidats connaissent le fonctionnement de tous les outils utilisés ?
(ce serait totalement idiot)
tu as utilisé un ordinateur. Personne, ni toi, ni eux, ne connaît comment ça fonctionne dans les entrailles.

marco56

Citation de: spinup le Mai 21, 2016, 09:49:18
C'est pas tant que les filtres de convolution sont compliques, au contraire c'est plutot simple, mais je pense que les profs attendent que tu comprennes quel principe mathematique correspond a ce masque.

En l'occurence ici, le masque [-1 2 -1] realise l'equivalent numerique de la derivee spatiale de la Luminance: dL/dx.

Bonne chance et surtout bon courage our tes concours!


Désolé de te contredire, mais c'est plutôt une dérivée seconde, dans le domaine de la discrétisation.
Une manoeuvre réussie est une catastrophe évitée de justesse.

marco56

Citation de: fred134 le Mai 21, 2016, 00:45:37
Je ne trouve pas que la notion de convolution soit nécessairement "inappropriée" à ce niveau, mais bon, tu fais très bien de savoir juger les attentes de tes profs :-)
+1
Une manoeuvre réussie est une catastrophe évitée de justesse.

spinup

Citation de: marco56 le Mai 21, 2016, 11:09:10
Désolé de te contredire, mais c'est plutôt une dérivée seconde, dans le domaine de la discrétisation.
Hmmm, sur? Une rampe devient une fonction constante, c'est bien une derivee premiere.

fred134

Citation de: marco56 le Mai 21, 2016, 11:09:10
Désolé de te contredire, mais c'est plutôt une dérivée seconde, dans le domaine de la discrétisation.
Oui, d'ailleurs il me semble que ce serait plutôt [1 -2 1] pour respecter le signe de la dérivée seconde, non ? (2x la dérivée [-1 1])

Citation de: spinup le Mai 21, 2016, 14:47:47
Hmmm, sur? Une rampe devient une fonction constante, c'est bien une derivee premiere.
Une rampe (gradient constant) devient 0. (ex : [1 2 3 4 5 ...] * [1 -2 1])
La fonction carré (par exemple) devient une constante.

Juste mes 2 centimes, qui ne valent pas plus que ça, je ne fais plus rien d'aussi concret depuis très longtemps... :-)

spinup


Laure-Anh

Je passe clôturer ce fil et remercier une ultime fois tous ceux qui sont venus me prodiguer leurs aides, conseils et connaissances.
Cela m'a été très bénéfique.

marco56

Citation de: Laure-Anh le Juillet 30, 2016, 11:41:15
Je passe clôturer ce fil et remercier une ultime fois tous ceux qui sont venus me prodiguer leurs aides, conseils et connaissances.
Cela m'a été très bénéfique.
De rien.
Et bon anniv' à toi  ;D
Une manoeuvre réussie est une catastrophe évitée de justesse.