Path: csiph.com!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: Pierre Maurette Newsgroups: fr.comp.lang.python Subject: Re: vitesse manipulation liste (generateur ?) Date: Fri, 27 Mar 2020 17:38:05 +0100 Organization: A noiseless patient Spider Lines: 49 Message-ID: References: Reply-To: maurette.pierre@free.fr Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15"; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: reader02.eternal-september.org; posting-host="3564a57df5d63122e3e581e6c435eb55"; logging-data="20426"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/jxjj/a112aDQucje3UChZwoIaXzSOfO0=" Cancel-Lock: sha1:zEPr/wIWsZVsZU/ZnFvZ7rnbXts= X-Newsreader: MesNews/1.08.06.00-fr X-Face: cmi$3R1_J{[}5K|8d'LDiJ$SsZ*gn,j*PhJ#KVGt+45,E_N9O}GrhhQ>fb&q<&lz=g%PEv' u"m)N|KrBMux?2:E?N7Uw3L#H>L#GwM}gY:.`W.qu z`1'W'h-AXPmB]#7~<+@H.<0M`-jBkCWbmkcT_*LBVD3|p1a?h1H;cHq{$-vbeP@Hdcqp5z~lwU7ZK `~ Xref: csiph.com fr.comp.lang.python:3310 Pierre Maurette : [...] > Fondamentalement une réponse est dans zip(*zipped). > > #! /usr/bin/env python3 > # -*- coding: utf-8 -*- > > RVBs = [(1,2,3),(11,12,13),(21,22,23),(31,32,33),(411,412,413),(521,522,523)] > print(RVBs) > > (_rouge, _vert, _bleu) = list(zip(*RVBs)) > > im_rouge = [(x, 0, 0) for x in _rouge] > im_vert = [(0, x, 0) for x in _vert] > im_bleu = [(0, 0, x) for x in _bleu] > > print(im_rouge) > print(im_vert) > print(im_bleu) > > Remarques: > > Avez-vous vraiment besoin d'une image "RVB" pour chaque channel ? Normalement > un channel se représente dans une image "L". > Peut-être y a-t-il moyen de tout faire à partir de PIL (Image.split(), > Image.getchannel(channel), et des fonctions de convertion ). Pour info, en utilisant zip et une liste de "0" (zob): #! /usr/bin/env python3 # -*- coding: utf-8 -*- RVBs = [(1,2,3),(11,12,13),(21,22,23),(31,32,33),(411,412,413),(521,522,523)] print(RVBs) (_rouge, _vert, _bleu, zob) = list(zip(*RVBs)) + [([0,] * len(RVBs)),] (im_rouge, im_vert, im_bleu) = (list(zip(_rouge, zob, zob)), list(zip(zob, _vert, zob)), list(zip(zob, zob, _bleu))) print(im_rouge) print(im_vert) print(im_bleu) -- Pierre Maurette