< Return to Video

Grayscale (14 mins)

  • 0:00 - 0:06
    Dans cette section, je vais décrire comment faire des images en noir et blanc et le code pour
  • 0:06 - 0:12
    réaliser cette idée. Donc la première question est comment faites-vous une couleur grise,
  • 0:12 - 0:18
    pour expliquer ça, je vais cliquer ici à l'Explorateur RGB et il s'avère que dans le
  • 0:18 - 0:23
    système RGB, la façon de faire une couleur grise, sans coloration, est d'avoir les mêmes valeurs pour
  • 0:23 - 0:29
    le rouge, vert et bleu. Donc je peux voir ça ici , je
  • 0:29 - 0:34
    peut mettre le rouge et le vert. La je vais mettre tout à 190. Donc vous pouvez voir que
  • 0:34 - 0:39
    comme vous le savez, on obtient un jaune assez vif.
    Et bleu est ici. Donc regarder ce qui
  • 0:39 - 0:44
    se passe quand je fait glisser le bleu vers la meme valeur que le rouge et le vert, vous pouvez voir que la
  • 0:44 - 0:49
    couleur s'efface juste quand le bleu a exactement les mêmes valeurs que les autres
  • 0:49 - 0:54
    vous pouvez utiliser les touches de direction dans ces contrôles. Là une fois, maintenant que tous les
  • 0:54 - 0:59
    trois sont exactement un 190 ce qui restait est juste gris. Donc, nous pouvons vous
  • 0:59 - 1:04
    savoir, je ferai un autre exemple. Donc, si j'ai mis, je vais mettre vert et le bleu ici
  • 1:04 - 1:09
    en quelque sorte au milieu donc ils sont tous deux à 99. C'est le genre d'un, je ne sais pas, un sombre
  • 1:09 - 1:15
    turquoise, si j'ai droit à zéro. Alors je vais élever rouge pour être plus proche et plus étroite.
  • 1:15 - 1:20
    Et puis une fois que c'est la même que les deux autres puis, encore une fois, je reste gris. Dans
  • 1:20 - 1:25
    C'est le genre de l'espèce, un gris foncé. Si le modèle est si rouge, vert et bleu
  • 1:25 - 1:31
    les valeurs sont tous égaux, ils sont tous les mêmes, alors qui va être elle, quelque ombre
  • 1:31 - 1:37
    de gray. Et effectivement, la, notre cas originales de blanc pur et noir pur, I ll
  • 1:37 - 1:43
    rendre noir ici. Ils suivent que trop, à droite. Et noir c' est 0,0,0. Ils sont tous la
  • 1:43 - 1:49
    même, c'est un point de terminaison de la, du spectre de nuances de gris, la. Donc j'irai
  • 1:49 - 1:54
    de retour ici et I ll, nous allons dire que, vous savez, donc nous pouvons faire ces arg-, si nous
  • 1:54 - 1:59
    tout, les valeurs RVB d'être égaux, ce qui vous fera une nuance de gris. Et nous pouvons faire sombres
  • 1:59 - 2:04
    Gray et lumière gris et noir ou blanc ou autre. Nous allons dire que celles, celles
  • 2:04 - 2:08
    nuances de gris. Une autre façon de dire c'est qu'ils manquent de teinte. Ils ne sont donc pas
  • 2:08 - 2:12
    vers rouge ou vert ou quelque chose comme ça. Ils sont juste l'incolores
  • 2:13 - 2:17
    luminosité. Donc dans ce tableau, j'ai juste quelques exemples. Ainsi par exemple, si j'avais
  • 2:17 - 2:22
    quelque chose qui était 50, 50, 50, c'est la sorte d'un gris foncé. Ou 120, 120, 120, c'est
  • 2:22 - 2:27
    gris moyen, ou 200, 200, 200, ce qui serait un gris clair. Comme je l'ai dit avant le pur
  • 2:27 - 2:32
    cas blancs purs et noirs nous avons parlé avant, ceux, celles bon th-ce
  • 2:32 - 2:37
    patron. Alright. Alors, comment est-ce que je peux faire quelque chose d'utile avec cela ? Donc je vais
  • 2:37 - 2:42
    Regardez cette image rare ici. Jpeg de liberté-rouge, la. Et je vais juste exécuter cet
  • 2:42 - 2:46
    Code. À l'heure actuelle, il n'y a pas de code ici, donc nous allons juste. Nous verrons qu'il est naturel.
  • 2:46 - 2:51
    Donc, la liberté-rouge image ici, elle a, c'est une image de la Statue de la liberté.
  • 2:51 - 2:56
    Mais toutes les données dans les valeurs des pixels de rouges. Donc les valeurs de rouges, vous
  • 2:56 - 3:01
    savons, 37 ou 200 ou autre chose. Ils sont, ils sont variables pour afficher cette image. Le
  • 3:01 - 3:06
    vert et les bleus valeurs sont juste zéro partout. Il n'y a rien. Donc, je
  • 3:06 - 3:11
    moyenne, peu importe. Il, il est de mauvaise qualité, ou il semble erroné. So I Wanna think
  • 3:11 - 3:17
    a propos de, bien, comment pouvais fixer que ? Je voudrais corriger cela pour ressembler à un, un
  • 3:17 - 3:23
    image en niveaux de gris de la Statue de la liberté, pas ceci, pas cette chose rouge. Ainsi, la façon de
  • 3:23 - 3:29
    pour ce faire. Ce que je suis, je vais utiliser le fait que, si le vert, le bleu et le rouge
  • 3:29 - 3:34
    sont tous les mêmes, qui va être gris ombré. Maintenant dans ce cas, les données sont
  • 3:34 - 3:41
    dans. Pour chaque pixel est la valeur rouge. Donc, si je le dis, pixel.setGreen. Et ce qui
  • 3:41 - 3:47
    Je vais faire est I'm gonna make la valeur verte, I'm gonna change qu'il s'agit de la même
  • 3:47 - 3:51
    comme la valeur rouge. Donc je vais le faire qu'en disant, pixel.getRed ici. Et alors
  • 3:51 - 3:56
    Cela ne le fait. Est avec le pixel.getRed qui sorte de choisit le nombre de pour,
  • 3:56 - 4:01
    vous savez, pour chaque pixel. Il reprend la valeur rouge. Il est donc 27 ou 100 ou quel que soit
  • 4:01 - 4:06
    C'est le cas. Puis la définit est la valeur de verte. Maintenant, c'est un peu inhabituel.
  • 4:06 - 4:12
    Généralement ce que nous appelons setGreen nous avons mélangé il getGreen et setBlue que nous avons mélangé
  • 4:12 - 4:17
    avec getBlue. Mais c'est une combinaison valide ainsi et il se trouve dans ce
  • 4:17 - 4:23
    cas c'est ce que je veux. Alors je fais ça tout nouveau bleu. Oups. Donc, je dirai
  • 4:23 - 4:31
    pixel dot getRed. Et puis je vais le définir en bleu. Je vais réorganiser cela, maintenant nous allons
  • 4:31 - 4:35
    essayer ça. Oh, il y aller. Donc, c'est juste une application de cet aspect de la
  • 4:35 - 4:39
    Espace RVB que, lorsque les nombres sont égaux, il est en niveaux de gris. Et si je, je tri
  • 4:39 - 4:44
    de récupérer la valeur de rouge, et je l'ai mis plus de bleu et vert. Et oui
  • 4:44 - 4:49
    maintenant, il, elle sorte de fixe l'image, donc il semble, il est noir et blanc, mais au moins
  • 4:49 - 4:55
    On dirait bien. Si une question connexe. Ou peut-être une question plus pratique est, Eh bien,
  • 4:55 - 5:00
    Si j'ai une image couleur. Comme, ici s, Voici notre ancienne image de fleurs. Comment je
  • 5:00 - 5:05
    convertir en échelle de gris ? Et, la façon je suis va penser que, est, vous le savez, si
  • 5:05 - 5:09
    Nous cherchons ici à ces fleurs, c'est, comme bien. I Wanna drainent la teinte sur elle.
  • 5:09 - 5:14
    Je veux juste pense de chacun de ces pixels comme étant. Sombre, ou, sombres ou lumineux.
  • 5:14 - 5:19
    Juste avoir quelque montant de luminosité et de toute évidence, il y a, vous le savez, il y a de nombreux
  • 5:19 - 5:23
    exemples à cet égard, dans cette image. Supposons donc, donc le problème va être
  • 5:23 - 5:27
    en regardant un pixel, comment sombre ou la lumière est-ce ? C'est ce que je veux [inaudible],
  • 5:27 - 5:32
    réduire ce vers. Supposons donc que, j'ai choisi trois pixels. De cette image et
  • 5:32 - 5:37
    Les inclure dans ce tableau et maintenant je veux penser à propos de laquelle un de ces pixels est
  • 5:37 - 5:41
    les plus sombres et plus léger. Donc Voici le premier pixel et Voici le second pixel et
  • 5:41 - 5:46
    Voici le troisième pixel. Et ici, je vais zoomer sur ce un petit peu. Je suis donc juste
  • 5:46 - 5:51
    essayer de juger de la lumière contre l'obscurité. Qui a, ce qui est le plus léger, ce qui a le
  • 5:51 - 5:56
    ici les plus sombres ? Supposons donc, si je regardais juste les valeurs rouges. Je ne verrais que
  • 5:56 - 6:01
    ce premier pixel a un rouge de 200. Et puis c'est, c'est juste beaucoup plus lumineux
  • 6:01 - 6:05
    que les autres, droite ? Je veux dire, un grand nombre est brillant, 255 est le max. Et
  • 6:05 - 6:10
    zéro est noir, donc. Il ressemble, oh Oui, cet première pixel. 200, c'est clairement le
  • 6:10 - 6:15
    les plus brillants. Mais alors, si je regarde. Dans la valeur écologique. Et puis il a
  • 6:15 - 6:20
    comme, oh gosh, mais cet troisième pixel a réellement une valeur très élevée pour vert
  • 6:20 - 6:25
    même si c'est un peu faible pour le rouge. Donc, je ne suis pas trop sûr comment que soldes
  • 6:25 - 6:30
    contre les autres pixels. Mais c'est difficile parce que ce qu'elle, essentiellement de ce que nous voyons
  • 6:30 - 6:35
    est que vous ne regardez un de rouge, vert, bleu, pour juger de façon brillante la chose
  • 6:35 - 6:40
    est, vous voulez sorta tous les compter. Ainsi, notre solution dans ce cas, j'ai en
  • 6:40 - 6:46
    la quatrième colonne ici, est de calculer la moyenne pour chaque pixel. Si chaque pixel
  • 6:46 - 6:51
    a une valeur de rouge, verte et bleue. Ce que je vais faire est simplement calculer la moyenne de
  • 6:51 - 6:56
    Ces trois nombres et la façon de le faire. Est vous add'em juste, donc je suis juste
  • 6:56 - 7:02
    va calculer rouge et vert et bleu de chaque pixel et ensuite simplement diviser par trois.
  • 7:02 - 7:07
    Alors que nous donnons la valeur moyenne de la rouge, vert et bleu. Et que la moyenne
  • 7:07 - 7:12
    valeur est va travailler comme un résumé assez joli brillant à quel point le pixel est.
  • 7:12 - 7:17
    À droite, afin que la moyenne est de zéro ou dix ou vingt, certains nombre faible. Nous ne savons pas
  • 7:17 - 7:21
    Quelle teinte c'est exactement, mais nous savons que c'est sombre. Et à l'autre extrémité, si la moyenne
  • 7:21 - 7:26
    220 ou 240, encore une fois nous ne savons pas quelle est la teinte mais, mais nous savons que c'est brillant.
  • 7:26 - 7:30
    La moyenne sera donc de travailler comme une sorte de résumé du pixel, où il dépose
  • 7:30 - 7:35
    la teinte et juste nous donne un numéro de 0 à 255, qui saisit tout le
  • 7:35 - 7:39
    luminosité. Maintenant je dois le dire, il y a des autres façons de le faire mais juste
  • 7:39 - 7:43
    calcul de la moyenne est simple et c'est beau. Il wor-, c'est va fonctionner correctement pour
  • 7:43 - 7:47
    nos fins. Dans ce cas, I, I avaient ces trois pixels et donc ici sur la
  • 7:47 - 7:52
    côté droit j'ai simplement calculer la moyenne. Et ce que nous voyons, c'est vraiment le
  • 7:52 - 7:57
    un troisième est de loin la plus brillante. Si vous, vous savez coup d'oeil à tous les trois de rouge, vert
  • 7:57 - 8:01
    bleu, puis celle du milieu est la plus sombre et le premier est de
  • 8:01 - 8:08
    milieu. Alright. Si je peux utiliser ceci. Cette idée que j'ai la moyenne et il
  • 8:08 - 8:14
    sorte de fait de ce un nombre joli sommaire. Je peux utiliser cela pour convertir
  • 8:14 - 8:22
    quelque chose de gris. So Let's try this. Voilà donc j'ai, je vais juste l'exécuter. Si
  • 8:22 - 8:27
    en, à l'intérieur de la boucle il n'y aucun code ici, si je fais juste tourner maintenant nous voyons juste la
  • 8:27 - 8:32
    image inchangée. Donc je tiens à faire est d'ajouter le code ici. Pour modifier cela en niveaux de gris.
  • 8:32 - 8:37
    Donc, je dois dire ce qui va être Ma stratégie. Ce que je vais faire est donc de
  • 8:37 - 8:41
    la boucle pour chaque pixel je vais calculer ce nombre moyen ; donc just get
  • 8:41 - 8:46
    un seul numéro. Il pourrait donc 27 ou 100 ou quoi que pour chaque pixel. Et puis je suis
  • 8:46 - 8:51
    va prendre ce nombre et placez-le dans le rouge, le vert et le bleu. Donc si la
  • 8:51 - 8:56
    moyenne est de 27, je suis gonna make, rouge, vert et bleu tous être 27. Et si la moyenne est de
  • 8:56 - 9:02
    211, alors je suis gonna make rouge, vert et bleu tous être 211. Convertit que, que
  • 9:02 - 9:07
    chaque pixel dans le spectre des nuances de gris, la nous l'avons vu avant. Donc tout d'abord off I
  • 9:07 - 9:12
    avoir à, calculer, la moyenne en l'espèce. Donc je suis juste gonna. Comme je l'ai dit, add'em place.
  • 9:12 - 9:18
    Donc je vais dire pixel.getRed() + pixel.getGreen() + pixel.getBlue(). Et
  • 9:18 - 9:24
    alors je vais mettre ces trois à l'intérieur de cet ensemble externe de parenthèses juste pour
  • 9:24 - 9:29
    l'ordre des opérations. Si je veux faire l'addition, et puis je vais dire barre oblique
  • 9:29 - 9:34
    trois. Je vais donc diviser par trois. Si cela ne l'addition dans les parenthèses. Et
  • 9:34 - 9:39
    Après avoir reçu cette somme, diviser par trois.
    Et je vais juste pour stocker dans un
  • 9:39 - 9:44
    variable appelée Moy. Et cette ligne, il est va se pour révéler d'une ligne de stock
  • 9:44 - 9:48
    pour nous. Il est, il y a plusieurs techniques peu ou problèmes que nous wanna do
  • 9:48 - 9:53
    à l'avenir, où nous voulons calculer la moyenne et, inévitablement, la ligne
  • 9:53 - 9:57
    devrait sortir comme ça. Alright, donc ce que je dirais ? Donc ma stratégie est, j'ai calculer
  • 9:57 - 10:03
    la moyenne et puis je définir rouge, vert et bleu pour tous l'utiliser. Si
  • 10:03 - 10:09
    Je suis allez dire, pixel.setRed. Et puis ici, j'ai stocké la moyenne. Ce
  • 10:09 - 10:15
    est juste une variable. J'ai donc stocké le nombre y. Et puis, à l'intérieur de l'espèce, sorte
  • 10:15 - 10:21
    Je peux juste dire Moy. Je vais juste à cette variable et obtenir le numéro de retour à. Et
  • 10:21 - 10:27
    de même, je peux dire, setGreen(avg) et pixel.setBlue(avg), OK, alors disons
  • 10:27 - 10:32
    essayer ça. Très bien. Donc vous pouvez le voir, c'est elle fonctionne. Donc il est passé par toutes les
  • 10:32 - 10:37
    Ces pixels, vous savez, rouge, vert ou autre. Il a réduit à un
  • 10:37 - 10:42
    luminosité nombre moyen et qui en retrait. Nous recevons ainsi ce beau gris sorta
  • 10:42 - 10:49
    à l'échelle. Donc en fait. Après avoir testé sur les fleurs, je suis va revenir à...
  • 10:49 - 10:54
    L'image du pavot qui je pense apparaît dans l'un des exercices. Donc ici, si je
  • 10:54 - 10:58
    Ces trois lignes hors et il suffit d'exécuter il nous allons dès maintenant, nous allons juste voir le coquelicot
  • 10:59 - 11:03
    image, là il est. Donc nous allons défiler vers la droite, ici un peu. Si vous pouvez le voir
  • 11:03 - 11:08
    qu'il est de toute évidence, vous le savez, elle a ce regard sorta orange pavot de Californie
  • 11:08 - 11:13
    et le fond s'est évanouie ici. Alors maintenant je vais remettre ces lignes. Et nous pouvons tenter notre
  • 11:13 - 11:18
    Oups, algorithme de celle-là. Il nous aller, qui fonctionne très bien. Donc vous pouvez le voir,
  • 11:18 - 11:24
    de toute évidence, l'orange et le vert qu'il est été drainée hors et chaque pixel
  • 11:24 - 11:28
    a été réduite à seulement, juste un éclat. Et j'aime comment ici, la
  • 11:28 - 11:34
    texture sur le front de la de la culture du pavot est encore, encore peu visible. Oui, il y
  • 11:34 - 11:41
    vous l'avez, convenant à la charpente.
    Alright. Donc, une question qui vient souvent
  • 11:41 - 11:49
    up. En regardant ce code. Est. Cette ligne, moyen égal à égal et puis cette formule pour la
  • 11:49 - 11:55
    moyenne. Que faut-il être à l'intérieur de la boucle ? Il, elle, elle, il se sent comme, peut-être,
  • 11:55 - 12:01
    Il pourrait être juste ici. Up, up, jusqu'après le, l'image est égal à signe. Et la réponse.
  • 12:01 - 12:07
    No Il ne peut pas être là, il a besoin d'être à l'intérieur de la boucle. Et la raison.
  • 12:07 - 12:14
    Ce que vous pouvait penser. Que cette ligne sorte de met en place une relation sur la moyenne
  • 12:14 - 12:20
    qui doit être vrai pour tous les temps comme comme si ses vrai juste en tout temps que le programme
  • 12:20 - 12:26
    s'exécute. Et ce n'est pas un code d'ordinateur fonctionne. Un code d'ordinateur est moins
  • 12:26 - 12:32
    sophistiquée que celle. Quoi cette ligne avec ses pairs, est il juste évalue la
  • 12:32 - 12:37
    côté droit. Et l'assigne à cette variable sur le côté gauche quand cela
  • 12:37 - 12:42
    ligne est exécuté. Donc si nous devions mettre ceci en haut il aurait suffit d'exécuter une fois et il
  • 12:42 - 12:48
    stockerait un certain nombre de Moy et qu'il serait. N'oubliez pas dans ce cas que nous sommes
  • 12:48 - 12:53
    à l'intérieur de cette pour-boucle ici. Permettez-moi de kinda à mettre en valeur le corps. Et si ce code il
  • 12:53 - 12:57
    exécution des milliers ou peut-être des millions de fois, une fois pour chaque pixel. Et ceux qui
  • 12:57 - 13:02
    pixels chaque ont différentes valeurs rouges, verts et bleus. Très bien, si cette somme. Est
  • 13:02 - 13:07
    des milliers de fois. Et si nous avons besoin est de calculer cette somme de nouveau pour
  • 13:07 - 13:12
    chaque pixel. Chaque fois que nous voyons un nouveau pixel, nous avons besoin de refaire ce math. Et donc, la façon dont
  • 13:12 - 13:17
    les travaux du signe égal sont il est, il a, il est évalué seulement lorsque l'ordinateur exécute
  • 13:17 - 13:22
    à travers elle. Donc pour cette raison, parce que chacun, chacune de ces pixels est
  • 13:22 - 13:27
    différents, nous, nous allons, nous avons besoin de le mettre, très souvent nous allons juste mis que le premier
  • 13:27 - 13:32
    la ligne à l'intérieur de la de. Simplement calculer la moyenne. C'est pourquoi, c'est pourquoi
  • 13:32 - 13:38
    qui a besoin d'être là. Alright. Donc, pour résumer kinda. Si nous avons appris cela
  • 13:38 - 13:42
    qualité qui, si le rouge, vert et bleu, rouge, vert et bleu sont tous égaux, c'est
  • 13:42 - 13:45
    une nuance de gris. Et nous avons cette technique où nous pourrions calculer la
  • 13:45 - 13:49
    moyenne. Et qui vient nous donne ce nombre une luminosité, essentiellement, de zéro à
  • 13:49 - 13:53
    255. Et qui va être, je suis ici en utilisant des nuances de gris. Mais en réalité, dans la
  • 13:53 - 13:57
    futurs, nous sommes va utiliser que pour certaines autres choses. C'est juste une, une chose utile
  • 13:57 - 14:01
    Savoir. Et, enfin, je vais dire que cette ligne, j'ai été mettant en évidence avant,
  • 14:01 - 14:06
    moyenne égale Additionnez les trois et divise par trois. Qui va être d'une
  • 14:06 - 14:11
    stock ligne de [inaudible], nous sommes allez fin utilisant exactement cette ligne plus tard et en
  • 14:11 - 14:13
    fait il devrait apparaître dans certains exercices.
Title:
Grayscale (14 mins)
Video Language:
English
thibautnormand edited French subtitles for Grayscale
thibautnormand edited French subtitles for Grayscale
thibautnormand added a translation

French subtitles

Revisions