{"id":938,"date":"2023-11-15T18:06:00","date_gmt":"2023-11-15T17:06:00","guid":{"rendered":"http:\/\/labodemaths.fr\/WordPress3\/?p=938"},"modified":"2023-11-16T08:30:49","modified_gmt":"2023-11-16T07:30:49","slug":"nsi-traitement-image-suite","status":"publish","type":"post","link":"https:\/\/labodemaths.fr\/WordPress3\/nsi-traitement-image-suite\/","title":{"rendered":"NSI,2022-2023,Traitement Image, suite"},"content":{"rendered":"\n<h2>1. Filtre moyen<\/h2>\n\n\n\n<p>Il existe de nombreux filtres que l&rsquo;on peut appliquer \u00e0 une image.<br>Le filtre moyen consiste \u00e0 remplacer la couleur de chaque pixel par la moyenne des couleurs des pixels mitoyens.<br>Par exemple, si la taille du filtre est 3, on remplacera la couleur du pixel central par la moyenne des couleurs des pixels situ\u00e9s dans le carr\u00e9 de c\u00f4t\u00e9 3 et centr\u00e9 sur ce pixel.<br>Pour une taille de filtre de 5, on consid\u00e8rera les 25 pixels situ\u00e9s dans le carr\u00e9 de c\u00f4t\u00e9 5.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" width=\"296\" height=\"296\" src=\"https:\/\/labodemaths.fr\/WordPress3\/wp-content\/uploads\/2019\/11\/diag_filtre_moyen.png\" alt=\"\" class=\"wp-image-939\" srcset=\"https:\/\/labodemaths.fr\/WordPress3\/wp-content\/uploads\/2019\/11\/diag_filtre_moyen.png 296w, https:\/\/labodemaths.fr\/WordPress3\/wp-content\/uploads\/2019\/11\/diag_filtre_moyen-150x150.png 150w\" sizes=\"(max-width: 296px) 100vw, 296px\" \/><\/figure>\n\n\n\n<p>Recopier et compl\u00e9ter les fonctions moyenne() et adoucissement()<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>from PIL import Image # on importe la classe Image et ses m\u00e9thodes de la\n# biblioth\u00e8que Pillow alias PIL\n\nimage = Image.open(\"Mona_Lisa.jpg\") # Chargement d'une image avec PIL\n# image est d\u00e9clar\u00e9e comme un objet de la classe Image de PIL\n\ndef taille(img):\n    return img.size # m\u00e9thode propre \u00e0 la classe Image\n\ndef format(img):\n    return img.format # m\u00e9thode propre \u00e0 la classe Image\n\ndef lire_pixel(img,x,y):\n    return img.getpixel((x,y)) # m\u00e9thode propre \u00e0 la classe Image\n\ndef changer_pixel(img,x,y,couleur):\n    image=img\n    image.putpixel((x,y),couleur) # m\u00e9thode propre \u00e0 la classe Image\n    return image\n\ndef afficher(img):\n    img.show()\n\ndef moyenne(img,x,y,c):\n    '''\n    calcule la moyenne des pixels du carr\u00e9 de c\u00f4t\u00e9 c\n    centr\u00e9 sur le pixel de coordonn\u00e9es (x,y)\n    return : tuple de type (R,V,B)\n    attention aux pixels sur le bord de l'image\n    '''\n    \ndef filtre_moyenne(img,c):\n    '''\n    remplace tous les pixels de l'image\n    par la valeur moyenne calcul\u00e9e sur le\n    carr\u00e9 de c\u00f4t\u00e9 c pixel\n    '''\n<\/code><\/pre>\n\n\n\n<h2>2. Pixelisation d&rsquo;une image<\/h2>\n\n\n\n<p>On consid\u00e8re un carr\u00e9 de c\u00f4t\u00e9 c plac\u00e9 au coin sup\u00e9rieur gauche de l&rsquo;image et qui se d\u00e9place horizontalement ou verticalement par translation de longueur c.<br>On change la couleur de chaque pixel situ\u00e9 dans ce carr\u00e9 par la valeur moyenne des pixels contenus dans celui-ci.<br>On obtient alors un ph\u00e9nom\u00e8ne de pixelisation de l&rsquo;image.<br>Ci-dessous un exemple de pixelisation pour c = 3<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" width=\"533\" height=\"533\" src=\"https:\/\/labodemaths.fr\/WordPress3\/wp-content\/uploads\/2019\/11\/diag2.png\" alt=\"\" class=\"wp-image-940\" srcset=\"https:\/\/labodemaths.fr\/WordPress3\/wp-content\/uploads\/2019\/11\/diag2.png 533w, https:\/\/labodemaths.fr\/WordPress3\/wp-content\/uploads\/2019\/11\/diag2-150x150.png 150w, https:\/\/labodemaths.fr\/WordPress3\/wp-content\/uploads\/2019\/11\/diag2-300x300.png 300w\" sizes=\"(max-width: 533px) 100vw, 533px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" width=\"514\" height=\"768\" src=\"https:\/\/labodemaths.fr\/WordPress3\/wp-content\/uploads\/2019\/11\/pixelisation.png\" alt=\"\" class=\"wp-image-942\" srcset=\"https:\/\/labodemaths.fr\/WordPress3\/wp-content\/uploads\/2019\/11\/pixelisation.png 514w, https:\/\/labodemaths.fr\/WordPress3\/wp-content\/uploads\/2019\/11\/pixelisation-201x300.png 201w\" sizes=\"(max-width: 514px) 100vw, 514px\" \/><figcaption>pixelisation pour c = 9<\/figcaption><\/figure>\n\n\n\n<h2>3. Filtre vert<\/h2>\n\n\n\n<p>On consid\u00e8re les deux images ci-dessous.<br>Cr\u00e9er une fonction incrustation() qui permet d&rsquo;incruster la premi\u00e8re dans la seconde.<\/p>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/labodemaths.fr\/WordPress3\/wp-content\/uploads\/2019\/11\/JCVD.jpg\">JCVD<\/a><a href=\"https:\/\/labodemaths.fr\/WordPress3\/wp-content\/uploads\/2019\/11\/JCVD.jpg\" class=\"wp-block-file__button\" download>T\u00e9l\u00e9charger<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/labodemaths.fr\/WordPress3\/wp-content\/uploads\/2019\/11\/seoul.jpg\">seoul<\/a><a href=\"https:\/\/labodemaths.fr\/WordPress3\/wp-content\/uploads\/2019\/11\/seoul.jpg\" class=\"wp-block-file__button\" download>T\u00e9l\u00e9charger<\/a><\/div>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" width=\"1024\" height=\"667\" src=\"https:\/\/labodemaths.fr\/WordPress3\/wp-content\/uploads\/2019\/11\/JCVD_a_seoul-1024x667.png\" alt=\"\" class=\"wp-image-945\" srcset=\"https:\/\/labodemaths.fr\/WordPress3\/wp-content\/uploads\/2019\/11\/JCVD_a_seoul.png 1024w, https:\/\/labodemaths.fr\/WordPress3\/wp-content\/uploads\/2019\/11\/JCVD_a_seoul-300x195.png 300w, https:\/\/labodemaths.fr\/WordPress3\/wp-content\/uploads\/2019\/11\/JCVD_a_seoul-768x500.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>On essaiera de limiter les bords verts au minimum.<\/figcaption><\/figure>\n\n\n\n<p>Proposition de correction du filtre moyen et de la moyenne :<\/p>\n\n\n\n<p><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>from PIL import Image # on importe la classe Image et ses m\u00e9thodes de la\n# biblioth\u00e8que Pillow alias PIL\n\nimage = Image.open(\"Mona_Lisa.jpg\") # Chargement d'une image avec PIL\n# image est d\u00e9clar\u00e9e comme un objet de la classe Image de PIL\n\ndef taille(img):\n    return img.size # m\u00e9thode propre \u00e0 la classe Image\n\ndef format(img):\n    return img.format # m\u00e9thode propre \u00e0 la classe Image\n\ndef lire_pixel(img,x,y):\n    return img.getpixel((x,y)) # m\u00e9thode propre \u00e0 la classe Image\n\ndef changer_pixel(img,x,y,couleur):\n    image=img\n    image.putpixel((x,y),couleur) # m\u00e9thode propre \u00e0 la classe Image\n    return image\n\ndef afficher(img):\n    img.show() # m\u00e9thode propre \u00e0 la classe Image\n\n\ndef moyenne(img,x,y,c):\n    moyenne_r,moyenne_v,moyenne_b=0,0,0\n    compteur=0\n    (l, h) = taille(image)\n    for y1 in range(y-c\/\/2,y+1+c\/\/2):\n        for x1 in range(x-c\/\/2,x+1+c\/\/2):\n            if x1&gt;=0 and x1&lt;l and y1&gt;=0 and y1&lt;h:\n                compteur+=1\n                couleur = lire_pixel(image,x1,y1)\n                moyenne_r+=couleur&#91;0]\n                moyenne_v+=couleur&#91;1]\n                moyenne_b+=couleur&#91;2]\n    return moyenne_r\/\/compteur,moyenne_v\/\/compteur,moyenne_b\/\/compteur\n\ndef filtre_moyenne(img,c):\n    image_retour=img.copy()\n    (l, h) = taille(image)\n    for y in range(h):\n        for x in range(l\/\/2):\n            nouvelle_c=moyenne(img,x,y,c)\n            image_retour=changer_pixel(image_retour,x,y,nouvelle_c)\n    afficher(image_retour)\n    return image_retour\n    \n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>1. Filtre moyen Il existe de nombreux filtres que l&rsquo;on peut appliquer \u00e0 une image.Le&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/labodemaths.fr\/WordPress3\/nsi-traitement-image-suite\/\">Read the post<span class=\"screen-reader-text\">NSI,2022-2023,Traitement Image, suite<\/span><\/a><\/div>\n","protected":false},"author":2,"featured_media":943,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[57,1],"tags":[],"_links":{"self":[{"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/posts\/938"}],"collection":[{"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/comments?post=938"}],"version-history":[{"count":8,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/posts\/938\/revisions"}],"predecessor-version":[{"id":2333,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/posts\/938\/revisions\/2333"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/media\/943"}],"wp:attachment":[{"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/media?parent=938"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/categories?post=938"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/tags?post=938"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}