1 00:00:00,000 --> 00:00:05,647 Dans cette section, je vais décrire comment faire des images en noir et blanc et le code pour 2 00:00:05,647 --> 00:00:11,580 réaliser cette idée. Donc la première question est comment faites-vous une couleur grise, 3 00:00:11,580 --> 00:00:17,657 pour expliquer ça, je vais cliquer ici à l'Explorateur RGB et il s'avère que dans le 4 00:00:17,657 --> 00:00:23,375 système RGB, la façon de faire une couleur grise, sans coloration, est d'avoir les mêmes valeurs pour 5 00:00:23,375 --> 00:00:28,737 le rouge, vert et bleu. Donc je peux voir ça ici , je 6 00:00:28,737 --> 00:00:34,370 peut mettre le rouge et le vert. La je vais mettre tout à 190. Donc vous pouvez voir que 7 00:00:34,370 --> 00:00:39,107 comme vous le savez, on obtient un jaune assez vif. Et bleu est ici. Donc regarder ce qui 8 00:00:39,107 --> 00:00:44,152 se passe quand je fait glisser le bleu vers la meme valeur que le rouge et le vert, vous pouvez voir que la 9 00:00:44,152 --> 00:00:49,073 couleur s'efface juste quand le bleu a exactement les mêmes valeurs que les autres 10 00:00:49,073 --> 00:00:53,872 vous pouvez utiliser les touches de direction dans ces contrôles. Là une fois, maintenant que tous les 11 00:00:53,872 --> 00:00:58,915 trois sont exactement un 190 ce qui restait est juste gris. Donc, nous pouvons vous 12 00:00:58,915 --> 00:01:04,182 savoir, je ferai un autre exemple. Donc, si j'ai mis, je vais mettre vert et le bleu ici 13 00:01:04,182 --> 00:01:09,319 en quelque sorte au milieu donc ils sont tous deux à 99. C'est le genre d'un, je ne sais pas, un sombre 14 00:01:09,319 --> 00:01:14,716 turquoise, si j'ai droit à zéro. Alors je vais élever rouge pour être plus proche et plus étroite. 15 00:01:14,716 --> 00:01:19,854 Et puis une fois que c'est la même que les deux autres puis, encore une fois, je reste gris. Dans 16 00:01:19,854 --> 00:01:25,418 C'est le genre de l'espèce, un gris foncé. Si le modèle est si rouge, vert et bleu 17 00:01:25,418 --> 00:01:31,075 les valeurs sont tous égaux, ils sont tous les mêmes, alors qui va être elle, quelque ombre 18 00:01:31,075 --> 00:01:37,245 de gray. Et effectivement, la, notre cas originales de blanc pur et noir pur, I ll 19 00:01:37,245 --> 00:01:42,828 rendre noir ici. Ils suivent que trop, à droite. Et noir c' est 0,0,0. Ils sont tous la 20 00:01:42,828 --> 00:01:48,705 même, c'est un point de terminaison de la, du spectre de nuances de gris, la. Donc j'irai 21 00:01:48,705 --> 00:01:53,657 de retour ici et I ll, nous allons dire que, vous savez, donc nous pouvons faire ces arg-, si nous 22 00:01:53,657 --> 00:01:58,577 tout, les valeurs RVB d'être égaux, ce qui vous fera une nuance de gris. Et nous pouvons faire sombres 23 00:01:58,577 --> 00:02:03,591 Gray et lumière gris et noir ou blanc ou autre. Nous allons dire que celles, celles 24 00:02:03,591 --> 00:02:08,192 nuances de gris. Une autre façon de dire c'est qu'ils manquent de teinte. Ils ne sont donc pas 25 00:02:08,192 --> 00:02:12,433 vers rouge ou vert ou quelque chose comme ça. Ils sont juste l'incolores 26 00:02:12,612 --> 00:02:17,408 luminosité. Donc dans ce tableau, j'ai juste quelques exemples. Ainsi par exemple, si j'avais 27 00:02:17,408 --> 00:02:22,315 quelque chose qui était 50, 50, 50, c'est la sorte d'un gris foncé. Ou 120, 120, 120, c'est 28 00:02:22,315 --> 00:02:27,163 gris moyen, ou 200, 200, 200, ce qui serait un gris clair. Comme je l'ai dit avant le pur 29 00:02:27,163 --> 00:02:31,834 cas blancs purs et noirs nous avons parlé avant, ceux, celles bon th-ce 30 00:02:31,834 --> 00:02:36,906 patron. Alright. Alors, comment est-ce que je peux faire quelque chose d'utile avec cela ? Donc je vais 31 00:02:36,906 --> 00:02:41,546 Regardez cette image rare ici. Jpeg de liberté-rouge, la. Et je vais juste exécuter cet 32 00:02:41,546 --> 00:02:46,124 Code. À l'heure actuelle, il n'y a pas de code ici, donc nous allons juste. Nous verrons qu'il est naturel. 33 00:02:46,124 --> 00:02:51,401 Donc, la liberté-rouge image ici, elle a, c'est une image de la Statue de la liberté. 34 00:02:51,401 --> 00:02:56,430 Mais toutes les données dans les valeurs des pixels de rouges. Donc les valeurs de rouges, vous 35 00:02:56,430 --> 00:03:01,210 savons, 37 ou 200 ou autre chose. Ils sont, ils sont variables pour afficher cette image. Le 36 00:03:01,210 --> 00:03:06,239 vert et les bleus valeurs sont juste zéro partout. Il n'y a rien. Donc, je 37 00:03:06,239 --> 00:03:11,215 moyenne, peu importe. Il, il est de mauvaise qualité, ou il semble erroné. So I Wanna think 38 00:03:11,215 --> 00:03:16,543 a propos de, bien, comment pouvais fixer que ? Je voudrais corriger cela pour ressembler à un, un 39 00:03:16,543 --> 00:03:22,742 image en niveaux de gris de la Statue de la liberté, pas ceci, pas cette chose rouge. Ainsi, la façon de 40 00:03:22,742 --> 00:03:28,680 pour ce faire. Ce que je suis, je vais utiliser le fait que, si le vert, le bleu et le rouge 41 00:03:28,680 --> 00:03:33,531 sont tous les mêmes, qui va être gris ombré. Maintenant dans ce cas, les données sont 42 00:03:33,531 --> 00:03:41,220 dans. Pour chaque pixel est la valeur rouge. Donc, si je le dis, pixel.setGreen. Et ce qui 43 00:03:41,220 --> 00:03:46,505 Je vais faire est I'm gonna make la valeur verte, I'm gonna change qu'il s'agit de la même 44 00:03:46,505 --> 00:03:51,275 comme la valeur rouge. Donc je vais le faire qu'en disant, pixel.getRed ici. Et alors 45 00:03:51,275 --> 00:03:56,334 Cela ne le fait. Est avec le pixel.getRed qui sorte de choisit le nombre de pour, 46 00:03:56,334 --> 00:04:01,495 vous savez, pour chaque pixel. Il reprend la valeur rouge. Il est donc 27 ou 100 ou quel que soit 47 00:04:01,495 --> 00:04:06,469 C'est le cas. Puis la définit est la valeur de verte. Maintenant, c'est un peu inhabituel. 48 00:04:06,469 --> 00:04:11,817 Généralement ce que nous appelons setGreen nous avons mélangé il getGreen et setBlue que nous avons mélangé 49 00:04:11,817 --> 00:04:16,791 avec getBlue. Mais c'est une combinaison valide ainsi et il se trouve dans ce 50 00:04:16,791 --> 00:04:23,437 cas c'est ce que je veux. Alors je fais ça tout nouveau bleu. Oups. Donc, je dirai 51 00:04:23,437 --> 00:04:30,680 pixel dot getRed. Et puis je vais le définir en bleu. Je vais réorganiser cela, maintenant nous allons 52 00:04:30,680 --> 00:04:35,372 essayer ça. Oh, il y aller. Donc, c'est juste une application de cet aspect de la 53 00:04:35,372 --> 00:04:39,451 Espace RVB que, lorsque les nombres sont égaux, il est en niveaux de gris. Et si je, je tri 54 00:04:39,451 --> 00:04:43,920 de récupérer la valeur de rouge, et je l'ai mis plus de bleu et vert. Et oui 55 00:04:43,920 --> 00:04:48,557 maintenant, il, elle sorte de fixe l'image, donc il semble, il est noir et blanc, mais au moins 56 00:04:48,557 --> 00:04:55,449 On dirait bien. Si une question connexe. Ou peut-être une question plus pratique est, Eh bien, 57 00:04:55,449 --> 00:05:00,055 Si j'ai une image couleur. Comme, ici s, Voici notre ancienne image de fleurs. Comment je 58 00:05:00,055 --> 00:05:04,779 convertir en échelle de gris ? Et, la façon je suis va penser que, est, vous le savez, si 59 00:05:04,779 --> 00:05:09,444 Nous cherchons ici à ces fleurs, c'est, comme bien. I Wanna drainent la teinte sur elle. 60 00:05:09,444 --> 00:05:13,966 Je veux juste pense de chacun de ces pixels comme étant. Sombre, ou, sombres ou lumineux. 61 00:05:13,966 --> 00:05:18,647 Juste avoir quelque montant de luminosité et de toute évidence, il y a, vous le savez, il y a de nombreux 62 00:05:18,647 --> 00:05:22,758 exemples à cet égard, dans cette image. Supposons donc, donc le problème va être 63 00:05:22,758 --> 00:05:27,039 en regardant un pixel, comment sombre ou la lumière est-ce ? C'est ce que je veux [inaudible], 64 00:05:27,039 --> 00:05:31,504 réduire ce vers. Supposons donc que, j'ai choisi trois pixels. De cette image et 65 00:05:31,504 --> 00:05:36,560 Les inclure dans ce tableau et maintenant je veux penser à propos de laquelle un de ces pixels est 66 00:05:36,560 --> 00:05:41,316 les plus sombres et plus léger. Donc Voici le premier pixel et Voici le second pixel et 67 00:05:41,316 --> 00:05:46,192 Voici le troisième pixel. Et ici, je vais zoomer sur ce un petit peu. Je suis donc juste 68 00:05:46,192 --> 00:05:50,707 essayer de juger de la lumière contre l'obscurité. Qui a, ce qui est le plus léger, ce qui a le 69 00:05:50,707 --> 00:05:55,864 ici les plus sombres ? Supposons donc, si je regardais juste les valeurs rouges. Je ne verrais que 70 00:05:55,864 --> 00:06:01,290 ce premier pixel a un rouge de 200. Et puis c'est, c'est juste beaucoup plus lumineux 71 00:06:01,290 --> 00:06:05,422 que les autres, droite ? Je veux dire, un grand nombre est brillant, 255 est le max. Et 72 00:06:05,422 --> 00:06:10,128 zéro est noir, donc. Il ressemble, oh Oui, cet première pixel. 200, c'est clairement le 73 00:06:10,128 --> 00:06:14,828 les plus brillants. Mais alors, si je regarde. Dans la valeur écologique. Et puis il a 74 00:06:14,828 --> 00:06:19,889 comme, oh gosh, mais cet troisième pixel a réellement une valeur très élevée pour vert 75 00:06:19,889 --> 00:06:24,699 même si c'est un peu faible pour le rouge. Donc, je ne suis pas trop sûr comment que soldes 76 00:06:24,699 --> 00:06:29,635 contre les autres pixels. Mais c'est difficile parce que ce qu'elle, essentiellement de ce que nous voyons 77 00:06:29,635 --> 00:06:34,820 est que vous ne regardez un de rouge, vert, bleu, pour juger de façon brillante la chose 78 00:06:34,820 --> 00:06:40,419 est, vous voulez sorta tous les compter. Ainsi, notre solution dans ce cas, j'ai en 79 00:06:40,419 --> 00:06:45,804 la quatrième colonne ici, est de calculer la moyenne pour chaque pixel. Si chaque pixel 80 00:06:45,804 --> 00:06:51,255 a une valeur de rouge, verte et bleue. Ce que je vais faire est simplement calculer la moyenne de 81 00:06:51,255 --> 00:06:56,379 Ces trois nombres et la façon de le faire. Est vous add'em juste, donc je suis juste 82 00:06:56,379 --> 00:07:01,598 va calculer rouge et vert et bleu de chaque pixel et ensuite simplement diviser par trois. 83 00:07:01,784 --> 00:07:06,942 Alors que nous donnons la valeur moyenne de la rouge, vert et bleu. Et que la moyenne 84 00:07:06,942 --> 00:07:11,726 valeur est va travailler comme un résumé assez joli brillant à quel point le pixel est. 85 00:07:11,726 --> 00:07:16,665 À droite, afin que la moyenne est de zéro ou dix ou vingt, certains nombre faible. Nous ne savons pas 86 00:07:16,665 --> 00:07:21,320 Quelle teinte c'est exactement, mais nous savons que c'est sombre. Et à l'autre extrémité, si la moyenne 87 00:07:21,320 --> 00:07:25,643 220 ou 240, encore une fois nous ne savons pas quelle est la teinte mais, mais nous savons que c'est brillant. 88 00:07:25,809 --> 00:07:30,408 La moyenne sera donc de travailler comme une sorte de résumé du pixel, où il dépose 89 00:07:30,408 --> 00:07:34,620 la teinte et juste nous donne un numéro de 0 à 255, qui saisit tout le 90 00:07:34,620 --> 00:07:38,832 luminosité. Maintenant je dois le dire, il y a des autres façons de le faire mais juste 91 00:07:38,832 --> 00:07:43,154 calcul de la moyenne est simple et c'est beau. Il wor-, c'est va fonctionner correctement pour 92 00:07:43,154 --> 00:07:47,477 nos fins. Dans ce cas, I, I avaient ces trois pixels et donc ici sur la 93 00:07:47,477 --> 00:07:51,648 côté droit j'ai simplement calculer la moyenne. Et ce que nous voyons, c'est vraiment le 94 00:07:51,648 --> 00:07:56,526 un troisième est de loin la plus brillante. Si vous, vous savez coup d'oeil à tous les trois de rouge, vert 95 00:07:56,526 --> 00:08:00,700 bleu, puis celle du milieu est la plus sombre et le premier est de 96 00:08:00,700 --> 00:08:08,042 milieu. Alright. Si je peux utiliser ceci. Cette idée que j'ai la moyenne et il 97 00:08:08,042 --> 00:08:14,385 sorte de fait de ce un nombre joli sommaire. Je peux utiliser cela pour convertir 98 00:08:14,385 --> 00:08:21,791 quelque chose de gris. So Let's try this. Voilà donc j'ai, je vais juste l'exécuter. Si 99 00:08:21,791 --> 00:08:26,903 en, à l'intérieur de la boucle il n'y aucun code ici, si je fais juste tourner maintenant nous voyons juste la 100 00:08:26,903 --> 00:08:31,958 image inchangée. Donc je tiens à faire est d'ajouter le code ici. Pour modifier cela en niveaux de gris. 101 00:08:31,958 --> 00:08:36,882 Donc, je dois dire ce qui va être Ma stratégie. Ce que je vais faire est donc de 102 00:08:36,882 --> 00:08:41,396 la boucle pour chaque pixel je vais calculer ce nombre moyen ; donc just get 103 00:08:41,396 --> 00:08:45,985 un seul numéro. Il pourrait donc 27 ou 100 ou quoi que pour chaque pixel. Et puis je suis 104 00:08:45,985 --> 00:08:50,945 va prendre ce nombre et placez-le dans le rouge, le vert et le bleu. Donc si la 105 00:08:50,945 --> 00:08:56,457 moyenne est de 27, je suis gonna make, rouge, vert et bleu tous être 27. Et si la moyenne est de 106 00:08:56,457 --> 00:09:01,692 211, alors je suis gonna make rouge, vert et bleu tous être 211. Convertit que, que 107 00:09:01,692 --> 00:09:06,722 chaque pixel dans le spectre des nuances de gris, la nous l'avons vu avant. Donc tout d'abord off I 108 00:09:06,722 --> 00:09:11,820 avoir à, calculer, la moyenne en l'espèce. Donc je suis juste gonna. Comme je l'ai dit, add'em place. 109 00:09:11,820 --> 00:09:17,876 Donc je vais dire pixel.getRed() + pixel.getGreen() + pixel.getBlue(). Et 110 00:09:17,876 --> 00:09:23,511 alors je vais mettre ces trois à l'intérieur de cet ensemble externe de parenthèses juste pour 111 00:09:23,511 --> 00:09:28,739 l'ordre des opérations. Si je veux faire l'addition, et puis je vais dire barre oblique 112 00:09:28,739 --> 00:09:34,103 trois. Je vais donc diviser par trois. Si cela ne l'addition dans les parenthèses. Et 113 00:09:34,103 --> 00:09:39,332 Après avoir reçu cette somme, diviser par trois. Et je vais juste pour stocker dans un 114 00:09:39,332 --> 00:09:44,243 variable appelée Moy. Et cette ligne, il est va se pour révéler d'une ligne de stock 115 00:09:44,243 --> 00:09:48,463 pour nous. Il est, il y a plusieurs techniques peu ou problèmes que nous wanna do 116 00:09:48,463 --> 00:09:52,682 à l'avenir, où nous voulons calculer la moyenne et, inévitablement, la ligne 117 00:09:52,682 --> 00:09:57,290 devrait sortir comme ça. Alright, donc ce que je dirais ? Donc ma stratégie est, j'ai calculer 118 00:09:57,290 --> 00:10:02,845 la moyenne et puis je définir rouge, vert et bleu pour tous l'utiliser. Si 119 00:10:02,845 --> 00:10:08,584 Je suis allez dire, pixel.setRed. Et puis ici, j'ai stocké la moyenne. Ce 120 00:10:08,584 --> 00:10:14,781 est juste une variable. J'ai donc stocké le nombre y. Et puis, à l'intérieur de l'espèce, sorte 121 00:10:14,781 --> 00:10:20,979 Je peux juste dire Moy. Je vais juste à cette variable et obtenir le numéro de retour à. Et 122 00:10:20,979 --> 00:10:26,871 de même, je peux dire, setGreen(avg) et pixel.setBlue(avg), OK, alors disons 123 00:10:26,871 --> 00:10:32,287 essayer ça. Très bien. Donc vous pouvez le voir, c'est elle fonctionne. Donc il est passé par toutes les 124 00:10:32,287 --> 00:10:37,263 Ces pixels, vous savez, rouge, vert ou autre. Il a réduit à un 125 00:10:37,263 --> 00:10:42,479 luminosité nombre moyen et qui en retrait. Nous recevons ainsi ce beau gris sorta 126 00:10:42,479 --> 00:10:48,740 à l'échelle. Donc en fait. Après avoir testé sur les fleurs, je suis va revenir à... 127 00:10:48,740 --> 00:10:53,722 L'image du pavot qui je pense apparaît dans l'un des exercices. Donc ici, si je 128 00:10:53,722 --> 00:10:58,464 Ces trois lignes hors et il suffit d'exécuter il nous allons dès maintenant, nous allons juste voir le coquelicot 129 00:10:58,644 --> 00:11:03,446 image, là il est. Donc nous allons défiler vers la droite, ici un peu. Si vous pouvez le voir 130 00:11:03,446 --> 00:11:08,128 qu'il est de toute évidence, vous le savez, elle a ce regard sorta orange pavot de Californie 131 00:11:08,128 --> 00:11:13,306 et le fond s'est évanouie ici. Alors maintenant je vais remettre ces lignes. Et nous pouvons tenter notre 132 00:11:13,306 --> 00:11:18,427 Oups, algorithme de celle-là. Il nous aller, qui fonctionne très bien. Donc vous pouvez le voir, 133 00:11:18,427 --> 00:11:23,548 de toute évidence, l'orange et le vert qu'il est été drainée hors et chaque pixel 134 00:11:23,548 --> 00:11:28,286 a été réduite à seulement, juste un éclat. Et j'aime comment ici, la 135 00:11:28,286 --> 00:11:33,727 texture sur le front de la de la culture du pavot est encore, encore peu visible. Oui, il y 136 00:11:33,727 --> 00:11:40,897 vous l'avez, convenant à la charpente. Alright. Donc, une question qui vient souvent 137 00:11:40,897 --> 00:11:48,869 up. En regardant ce code. Est. Cette ligne, moyen égal à égal et puis cette formule pour la 138 00:11:48,869 --> 00:11:54,974 moyenne. Que faut-il être à l'intérieur de la boucle ? Il, elle, elle, il se sent comme, peut-être, 139 00:11:54,974 --> 00:12:00,770 Il pourrait être juste ici. Up, up, jusqu'après le, l'image est égal à signe. Et la réponse. 140 00:12:00,770 --> 00:12:07,030 No Il ne peut pas être là, il a besoin d'être à l'intérieur de la boucle. Et la raison. 141 00:12:07,030 --> 00:12:13,558 Ce que vous pouvait penser. Que cette ligne sorte de met en place une relation sur la moyenne 142 00:12:13,558 --> 00:12:20,095 qui doit être vrai pour tous les temps comme comme si ses vrai juste en tout temps que le programme 143 00:12:20,095 --> 00:12:25,655 s'exécute. Et ce n'est pas un code d'ordinateur fonctionne. Un code d'ordinateur est moins 144 00:12:25,655 --> 00:12:31,967 sophistiquée que celle. Quoi cette ligne avec ses pairs, est il juste évalue la 145 00:12:31,967 --> 00:12:37,226 côté droit. Et l'assigne à cette variable sur le côté gauche quand cela 146 00:12:37,226 --> 00:12:42,267 ligne est exécuté. Donc si nous devions mettre ceci en haut il aurait suffit d'exécuter une fois et il 147 00:12:42,267 --> 00:12:47,553 stockerait un certain nombre de Moy et qu'il serait. N'oubliez pas dans ce cas que nous sommes 148 00:12:47,553 --> 00:12:52,532 à l'intérieur de cette pour-boucle ici. Permettez-moi de kinda à mettre en valeur le corps. Et si ce code il 149 00:12:52,532 --> 00:12:57,142 exécution des milliers ou peut-être des millions de fois, une fois pour chaque pixel. Et ceux qui 150 00:12:57,142 --> 00:13:01,819 pixels chaque ont différentes valeurs rouges, verts et bleus. Très bien, si cette somme. Est 151 00:13:01,819 --> 00:13:07,128 des milliers de fois. Et si nous avons besoin est de calculer cette somme de nouveau pour 152 00:13:07,128 --> 00:13:12,437 chaque pixel. Chaque fois que nous voyons un nouveau pixel, nous avons besoin de refaire ce math. Et donc, la façon dont 153 00:13:12,437 --> 00:13:17,367 les travaux du signe égal sont il est, il a, il est évalué seulement lorsque l'ordinateur exécute 154 00:13:17,367 --> 00:13:22,233 à travers elle. Donc pour cette raison, parce que chacun, chacune de ces pixels est 155 00:13:22,233 --> 00:13:27,416 différents, nous, nous allons, nous avons besoin de le mettre, très souvent nous allons juste mis que le premier 156 00:13:27,416 --> 00:13:32,346 la ligne à l'intérieur de la de. Simplement calculer la moyenne. C'est pourquoi, c'est pourquoi 157 00:13:32,346 --> 00:13:37,567 qui a besoin d'être là. Alright. Donc, pour résumer kinda. Si nous avons appris cela 158 00:13:37,567 --> 00:13:41,535 qualité qui, si le rouge, vert et bleu, rouge, vert et bleu sont tous égaux, c'est 159 00:13:41,535 --> 00:13:45,163 une nuance de gris. Et nous avons cette technique où nous pourrions calculer la 160 00:13:45,163 --> 00:13:49,227 moyenne. Et qui vient nous donne ce nombre une luminosité, essentiellement, de zéro à 161 00:13:49,227 --> 00:13:52,856 255. Et qui va être, je suis ici en utilisant des nuances de gris. Mais en réalité, dans la 162 00:13:52,856 --> 00:13:56,532 futurs, nous sommes va utiliser que pour certaines autres choses. C'est juste une, une chose utile 163 00:13:56,532 --> 00:14:01,093 Savoir. Et, enfin, je vais dire que cette ligne, j'ai été mettant en évidence avant, 164 00:14:01,093 --> 00:14:06,030 moyenne égale Additionnez les trois et divise par trois. Qui va être d'une 165 00:14:06,030 --> 00:14:10,850 stock ligne de [inaudible], nous sommes allez fin utilisant exactement cette ligne plus tard et en 166 00:14:10,850 --> 00:14:13,260 fait il devrait apparaître dans certains exercices.