{"id":39,"date":"2014-09-01T17:24:03","date_gmt":"2014-09-01T15:24:03","guid":{"rendered":"http:\/\/atwrk.phae.eu\/?p=39"},"modified":"2014-12-03T04:07:46","modified_gmt":"2014-12-03T02:07:46","slug":"color-map-evaluation-analyse-statistique-variance-dispersion-uniformite","status":"publish","type":"post","link":"https:\/\/atwrk.phae.eu\/?p=39","title":{"rendered":"Color : map, \u00e9valuation, analyse, statistique, variance, dispersion, uniformit\u00e9&#8230;"},"content":{"rendered":"<p>Essais sur processing, \u00e0 partir de l&rsquo;envie d&rsquo;automatiser la recherche de zones \u00ab\u00a0presque monochromes\u00a0\u00bb dans n&rsquo;importe quelle image, notamment pour une reprise de <em>La couleur de ma vie<\/em>.<!--more--><\/p>\n<h4>Part I : histogramme tridimensionnel<\/h4>\n<p>Tout d&rsquo;abord, un essai d&rsquo;histogramme dans le cube RVB. Plus une couleur est pr\u00e9sente dans la zone choisie de l&rsquo;image, plus la valeur alpha de la petite sph\u00e8re repr\u00e9sentant cette couleur est forte.<\/p>\n<p>En bas \u00e0 droite est reproduite la zone de l&rsquo;image analys\u00e9e.<\/p>\n<p><a href=\"https:\/\/atwrk.phae.eu\/wp-content\/uploads\/2014\/09\/snap105390.jpeg\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-41\" src=\"https:\/\/atwrk.phae.eu\/wp-content\/uploads\/2014\/09\/snap105390-500x332.jpeg\" alt=\"snap105390\" width=\"500\" height=\"332\" srcset=\"https:\/\/atwrk.phae.eu\/wp-content\/uploads\/2014\/09\/snap105390-500x332.jpeg 500w, https:\/\/atwrk.phae.eu\/wp-content\/uploads\/2014\/09\/snap105390-1024x680.jpeg 1024w, https:\/\/atwrk.phae.eu\/wp-content\/uploads\/2014\/09\/snap105390.jpeg 1204w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/atwrk.phae.eu\/wp-content\/uploads\/2014\/09\/snap17765.jpeg\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-42\" src=\"https:\/\/atwrk.phae.eu\/wp-content\/uploads\/2014\/09\/snap17765-500x332.jpeg\" alt=\"snap17765\" width=\"500\" height=\"332\" srcset=\"https:\/\/atwrk.phae.eu\/wp-content\/uploads\/2014\/09\/snap17765-500x332.jpeg 500w, https:\/\/atwrk.phae.eu\/wp-content\/uploads\/2014\/09\/snap17765-1024x680.jpeg 1024w, https:\/\/atwrk.phae.eu\/wp-content\/uploads\/2014\/09\/snap17765.jpeg 1204w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/atwrk.phae.eu\/wp-content\/uploads\/2014\/09\/snap650948.jpeg\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-43\" src=\"https:\/\/atwrk.phae.eu\/wp-content\/uploads\/2014\/09\/snap650948-500x332.jpeg\" alt=\"snap650948\" width=\"500\" height=\"332\" srcset=\"https:\/\/atwrk.phae.eu\/wp-content\/uploads\/2014\/09\/snap650948-500x332.jpeg 500w, https:\/\/atwrk.phae.eu\/wp-content\/uploads\/2014\/09\/snap650948-1024x680.jpeg 1024w, https:\/\/atwrk.phae.eu\/wp-content\/uploads\/2014\/09\/snap650948.jpeg 1204w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/atwrk.phae.eu\/wp-content\/uploads\/2014\/09\/snap592796.jpeg\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-44\" src=\"https:\/\/atwrk.phae.eu\/wp-content\/uploads\/2014\/09\/snap592796-500x332.jpeg\" alt=\"snap592796\" width=\"500\" height=\"332\" srcset=\"https:\/\/atwrk.phae.eu\/wp-content\/uploads\/2014\/09\/snap592796-500x332.jpeg 500w, https:\/\/atwrk.phae.eu\/wp-content\/uploads\/2014\/09\/snap592796-1024x680.jpeg 1024w, https:\/\/atwrk.phae.eu\/wp-content\/uploads\/2014\/09\/snap592796.jpeg 1204w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><a href=\"https:\/\/atwrk.phae.eu\/wp-content\/uploads\/2014\/09\/a_3D_colorHistogram.zip\">a_3D_colorHistogram<\/a> [ZIP &#8211; 778 Ko] (sketch processing \u00e9crit sous la version 2.2.1)<\/p>\n<p><span style=\"text-decoration: underline;\">commandes utilisateur<\/span> :<\/p>\n<ul>\n<li>cliquer-glisser (mouse drag) : s\u00e9lectionner la zone \u00e0 analyser<\/li>\n<li>mouvement de la souris : rotation du cube\/histogramme<\/li>\n<li>touche &lsquo;d&rsquo; : afficher les points extremum du cube (valeurs min et max dans les 3 dimensions)<\/li>\n<li>touche &lsquo;r&rsquo; : capture d&rsquo;\u00e9cran<\/li>\n<\/ul>\n<h4>Part II : \u00e9valuation de l&rsquo;uniformit\u00e9 d&rsquo;une image : \u00e9cart-type<\/h4>\n<p>La technique de cartographier les valeurs donne une id\u00e9e\/image de la r\u00e9partition des couleurs, mais \u00e7a n&rsquo;est pas tr\u00e8s pratique de repr\u00e9senter leur \u00ab\u00a0poids\u00a0\u00bb qui constitue la 4e dimension de l&rsquo;histogramme, notamment puisque les couleurs sombres se fondent dans le fond noir. Utiliser des points blancs + alpha n&rsquo;aide pas trop, on comprend pas intuitivement \u00e0 quelle couleur \u00e7a correspond. Et puis avec un espace 3D on cache toujours une partie de valeurs&#8230;<\/p>\n<p>Enfin, surtout, ce n&rsquo;est pas la visualisation qui sera utile pour automatiser le proc\u00e9d\u00e9. L&rsquo;ordinateur ne regarde pas, il compte.<\/p>\n<p style=\"text-align: left;\">Il semblerait que le calcul \u00e0 effectuer pour \u00e9valuer la dispersion\u00a0 de valeurs, la notion d&rsquo;<em>\u00e9cart-type<\/em> (en anglais : standard deviation) soit appropri\u00e9e.\u00a0 Elle se d\u00e9finit ainsi = la racine carr\u00e9 de (la somme (des (\u00e9carts \u00e0 la moyenne)^2) divis\u00e9e par le nombre de valeurs).<br \/>\nOu encore, pour l&rsquo;ensemble fini <em>x<\/em>, de <em>N<\/em> valeurs, et de moyenne <em>m<\/em>, la variance <em>V <\/em>est :<br \/>\n<em>\u00a0\u00a0\u00a0\u00a0\u00a0 <\/em> <em>V<\/em>(<em>x<\/em>) = sum( (<em>x<\/em><sub>i<\/sub>&#8211;<em>m<\/em>)\u00b2 ) \/ <em>N<\/em><br \/>\n(\u00e0 noter que la somme sum est r\u00e9alis\u00e9e pour toutes les valeurs de l&rsquo;ensemble <em>x<\/em>, soit l&rsquo;it\u00e9ration de<em> i <\/em>de 0 \u00e0 <em>N<\/em>-1)<br \/>\nOr l&rsquo;\u00e9cart-type <em>et<\/em> est la racine carr\u00e9 de la variance :<br \/>\n<em>\u00a0\u00a0\u00a0\u00a0\u00a0 et<\/em>(<em>x<\/em>)\u00b2 = <em>V<\/em><br \/>\nsoit :<br \/>\n<em>\u00a0\u00a0\u00a0\u00a0\u00a0 <\/em><em>et<\/em>(<em>x<\/em>) = sqrt(<em>V<\/em>)<br \/>\ndonc au final, l&rsquo;\u00e9cart-type <em>et<\/em> est donn\u00e9 par la formule :<br \/>\n<em>\u00a0\u00a0\u00a0\u00a0\u00a0 et<\/em>(x) = sqrt(sum( <em>(<em>x<\/em><sub>i<\/sub>&#8211;<em>m<\/em><\/em>)\u00b2 ) \/ <em>N<\/em>)<\/p>\n<p style=\"text-align: left;\">Reste que notre \u00e9cart \u00e0 la moyenne est ici li\u00e9 plut\u00f4t \u00e0 cette id\u00e9e de \u00ab\u00a0distance\/\u00e9cart entre deux couleurs\u00a0\u00bb ce qui est quelque chose de largement discut\u00e9. Des \u00e9l\u00e9ments de r\u00e9ponse pourraient \u00eatre apport\u00e9 par les modes CIE L*a*b et CIE XYZ&#8230; cette question est discut\u00e9e ici : <a href=\"http:\/\/www.developpez.net\/forums\/d82959-2\/general-developpement\/algorithme-mathematiques\/algorithmes\/distribution-couleurs\/\">http:\/\/www.developpez.net\/forums\/d82959-2\/general-developpement\/algorithme-mathematiques\/algorithmes\/distribution-couleurs<\/a><\/p>\n<p style=\"text-align: left;\">Mais si on ne se pr\u00e9occupe pas de la perception subjective des \u00e9carts de couleurs, je me permets dans un premier temps de me borner \u00e0 une distance g\u00e9om\u00e9trique de 2 points dans l&rsquo;espace tridimensionnel RVB. Et l\u00e0, un bon vieux th\u00e9or\u00e8me de Pythagore suffit :<br \/>\n<em>\u00a0\u00a0\u00a0\u00a0\u00a0 <\/em>distance(A,B) = sqrt( (x<sub>A<\/sub>-x<sub>B<\/sub>)\u00b2\u00a0 + (y<sub>A<\/sub>-y<sub>B<\/sub>)\u00b2 +\u00a0(z<sub>A<\/sub>-z<sub>B<\/sub>)\u00b2 )<br \/>\nCe qui est effectu\u00e9 directement sous processing par la fonction <strong>dist()<\/strong> qui marche aussi bien avec 2 que 3 dimensions.<\/p>\n<p style=\"text-align: left;\">A noter que l&rsquo;\u00e9cart type est du coup \u00e9valu\u00e9 sur une distribution non plus de couleurs mais de distances \u00e0 la couleur moyenne. L\u00e0 je confonds peut-\u00eatre des choses&#8230;<br \/>\nEn tout cas si on fait l&rsquo;histogramme des distances \u00e0 la couleur moyenne on a qd m\u00eame quelque chose qui est moyennement parlant&#8230;Ceci dit, me reste un souci, c&rsquo;est qu&rsquo;avec les distances, plut\u00f4t que les <em>\u00e9carts<\/em> \u00e0 la moyenne, on ne se retrouve plus qu&rsquo;avec des valeurs (diff\u00e9rences) <span style=\"text-decoration: underline;\">positives<\/span> \u00e7a chamboule peut-\u00eatre les choses.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Essais sur processing, \u00e0 partir de l&rsquo;envie d&rsquo;automatiser la recherche de zones \u00ab\u00a0presque monochromes\u00a0\u00bb dans n&rsquo;importe quelle image, notamment pour une reprise de La couleur de ma vie.<\/p>\n","protected":false},"author":1,"featured_media":44,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[62,63,2],"tags":[59,14,61,21,22,95,60],"_links":{"self":[{"href":"https:\/\/atwrk.phae.eu\/index.php?rest_route=\/wp\/v2\/posts\/39"}],"collection":[{"href":"https:\/\/atwrk.phae.eu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/atwrk.phae.eu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/atwrk.phae.eu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/atwrk.phae.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=39"}],"version-history":[{"count":19,"href":"https:\/\/atwrk.phae.eu\/index.php?rest_route=\/wp\/v2\/posts\/39\/revisions"}],"predecessor-version":[{"id":182,"href":"https:\/\/atwrk.phae.eu\/index.php?rest_route=\/wp\/v2\/posts\/39\/revisions\/182"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/atwrk.phae.eu\/index.php?rest_route=\/wp\/v2\/media\/44"}],"wp:attachment":[{"href":"https:\/\/atwrk.phae.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=39"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atwrk.phae.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=39"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atwrk.phae.eu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=39"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}