From eceb51c3b8978de666db58db7540e8ddca7ffe0f Mon Sep 17 00:00:00 2001 From: Adrian Amaglio Date: Tue, 14 Dec 2021 01:11:19 +0100 Subject: [PATCH] merci namoureuse --- .../activité_décryptage_image/sujet.pdf | Bin 94943 -> 99121 bytes .../activité_décryptage_image/sujet.tex | 47 +++++++-- .../test_tp_adrian.py | 89 ++++++++++++++++++ 3 files changed, 129 insertions(+), 7 deletions(-) create mode 100644 photo numérique/activité_décryptage_image/test_tp_adrian.py diff --git a/photo numérique/activité_décryptage_image/sujet.pdf b/photo numérique/activité_décryptage_image/sujet.pdf index 03682367b5bcbed9d004054e619699714d4d727b..2b0aa940d2821c5ba3ce36a461e0eb997ab007c9 100644 GIT binary patch delta 38096 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 delta 34178 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 diff --git a/photo numérique/activité_décryptage_image/sujet.tex b/photo numérique/activité_décryptage_image/sujet.tex index ad88f20..09586e8 100644 --- a/photo numérique/activité_décryptage_image/sujet.tex +++ b/photo numérique/activité_décryptage_image/sujet.tex @@ -82,9 +82,9 @@ Chacune de ces informations a un nom et une valeur : \hline SOF0 & « Start Of Frame », il indique les dimensions, le nombre de couleurs et la profondeur des couleurs & 4 valeurs : L,H,N,P = largeur, hauteur, nombre de couleurs, profondeur des couleurs\\ \hline - DHT & Define Huffman Table & Informations de compression codées en base64 \\ + DHT & Define Huffman Table & Informations non utilisées codées en base64 \\ \hline - DRI & Define Quantization Table & Informations de compression codées en hexadécimal \\ + DRI & Define Quantization Table & Informations non utilisées codées en hexadécimal \\ \hline SOS & « Start Of Scan », indique le début de la description des pixels & Une suite de chiffres contenant les couleurs de chaque pixels \\ \hline @@ -196,10 +196,19 @@ Chacune de ces informations a un nom et une valeur : \newcommand{\picHeartrot}{0°} \newcommand{\picExclamation}{\R\K\G\B\W\R\K\G\B\W\\\R\K\G\B\W\R\R\G\W\W\\\R\K\G\B\W} % Deux points d’exclamation \newcommand{\picExclamationrot}{0°} + \newcommand{\picFirst}{\K\B\B\B\R\K\K\B\R\R\\\W\W\B\W\W\R\R\B\B\K\\\R\R\B\K\K} % Un 1 \newcommand{\picFirstrot}{180°} +\newcommand{\picFour}{\K\W\K\K\K\K\B\K\K\K\\\K\G\G\G\K\K\R\K\R\K\\\K\W\K\W\K} % Un 4 +\newcommand{\picFourrot}{180°} \newcommand{\picSixth}{\G\B\B\B\G\W\B\W\W\W\\\G\B\B\B\G\W\B\W\B\W\\\G\B\B\B\G} % Un 6 \newcommand{\picSixthrot}{0°} +\newcommand{\picSeven}{\R\R\K\K\K\B\G\B\G\B\\\G\R\K\K\K\B\R\K\K\K\\\R\R\K\K\K} % Un 7 +\newcommand{\picSevenrot}{-90°} +\newcommand{\picEight}{\G\B\W\B\G\K\K\K\K\K\\\K\R\K\R\K\K\K\K\K\K\\\G\B\W\B\G} % Un 8 +\newcommand{\picEightrot}{90°} +\newcommand{\picFourteen}{\R\R\R\R\R\K\W\K\W\K\\\W\K\G\G\G\K\W\G\B\B\\\G\G\G\G\G} % Un 14 +\newcommand{\picFourteenrot}{90°} \newcommand{\picFiveteen}{\G\R\G\G\G\G\R\G\W\G\\\G\G\G\W\G\R\R\R\W\W\\\B\B\B\B\B} % Un 15 \newcommand{\picFiveteenrot}{-90°} \newcommand{\picSeventeen}{\K\G\K\K\K\K\W\G\W\K\\\K\G\G\G\K\K\W\G\W\K\\\K\G\G\G\K} % Un 17 @@ -215,11 +224,35 @@ Chacune de ces informations a un nom et une valeur : \image{\picV}{\datefour}{\latfour}{\longfour}{\picVrot}{\^} \image{\picE}{\datefive}{\latfive}{\longfive}{\picErot}{3} \image{\picSecond}{\datesix}{\latsix}{\longsix}{\picSecondrot}{sec} -\image{\picFirst}{\dateseven}{\latseven}{\longseven}{\picFirstrot}{first} -\image{\picSixth}{\dateseven}{\latseven}{\longseven}{\picSixthrot}{sixth} -\image{\picFiveteen}{\dateseven}{\latseven}{\longseven}{\picFiveteenrot}{fifteenth} -\image{\picSeventeen}{\dateseven}{\latseven}{\longseven}{\picSeventeenrot}{seventeenth} -\image{\picEighteen}{\dateseven}{\latseven}{\longseven}{\picEighteenrot}{eighteenth} +\image{\picI}{\dateone}{\latone}{\longone}{\picIrot}{i} +\image{\picL}{\datetwo}{\lattwo}{\longtwo}{\picLrot}{l} +\image{\picO}{\datethree}{\latthree}{\longthree}{\picOrot}{0} +\image{\picV}{\datefour}{\latfour}{\longfour}{\picVrot}{\^} +\image{\picE}{\datefive}{\latfive}{\longfive}{\picErot}{3} +\image{\picSecond}{\datesix}{\latsix}{\longsix}{\picSecondrot}{sec} +\image{\picI}{\dateone}{\latone}{\longone}{\picIrot}{i} +\image{\picL}{\datetwo}{\lattwo}{\longtwo}{\picLrot}{l} +\image{\picO}{\datethree}{\latthree}{\longthree}{\picOrot}{0} +\image{\picV}{\datefour}{\latfour}{\longfour}{\picVrot}{\^} +\image{\picE}{\datefive}{\latfive}{\longfive}{\picErot}{3} +\image{\picSecond}{\datesix}{\latsix}{\longsix}{\picSecondrot}{sec} +\image{\picI}{\dateone}{\latone}{\longone}{\picIrot}{i} +\image{\picL}{\datetwo}{\lattwo}{\longtwo}{\picLrot}{l} +\image{\picO}{\datethree}{\latthree}{\longthree}{\picOrot}{0} +\image{\picV}{\datefour}{\latfour}{\longfour}{\picVrot}{\^} +\image{\picE}{\datefive}{\latfive}{\longfive}{\picErot}{3} +\image{\picSecond}{\datesix}{\latsix}{\longsix}{\picSecondrot}{sec} +%\image{\picFirst}{\dateseven}{\latseven}{\longseven}{\picFirstrot}{first} +\image{\picFour}{\dateseven}{\latseven}{\longseven}{\picFourrot}{kat} +%\image{\picSixth}{\dateseven}{\latseven}{\longseven}{\picSixthrot}{sixth} +\image{\picSeven}{\dateseven}{\latseven}{\longseven}{\picSevenrot}{cet} +\image{\picEight}{\dateseven}{\latseven}{\longseven}{\picEightrot}{uit} +\image{\picFourteen}{\dateseven}{\latseven}{\longseven}{\picFourteenrot}{qtrz} +%\image{\picFiveteen}{\dateseven}{\latseven}{\longseven}{\picFiveteenrot}{fifteenth} +%\image{\picSeventeen}{\dateseven}{\latseven}{\longseven}{\picSeventeenrot}{seventeenth} +%\image{\picEighteen}{\dateseven}{\latseven}{\longseven}{\picEighteenrot}{eighteenth} +\image{\picHeart}{\dateeight}{\lateight}{\longeight}{\picHeartrot}{k} +\image{\picExclamation}{\datenine}{\latnine}{\longnine}{\picExclamationrot}{punct} \image{\picHeart}{\dateeight}{\lateight}{\longeight}{\picHeartrot}{k} \image{\picExclamation}{\datenine}{\latnine}{\longnine}{\picExclamationrot}{punct} \end{document} diff --git a/photo numérique/activité_décryptage_image/test_tp_adrian.py b/photo numérique/activité_décryptage_image/test_tp_adrian.py new file mode 100644 index 0000000..3e5ac6c --- /dev/null +++ b/photo numérique/activité_décryptage_image/test_tp_adrian.py @@ -0,0 +1,89 @@ +# -*- coding: cp1252 -*- +import subprocess +import os +import re + +couleurs = {"K": "black","R": "red","G": "green","B": "blue","W": "white"} + +text = """ +\newcommand{\picI}{\K\B\B\B\K\W\K\G\K\W\\\K\W\G\W\K\W\K\G\K\W\\\K\R\R\R\K} % Un I +% La seconde est sa rotation +\newcommand{\picIrot}{180°} +\newcommand{\picL}{\B\R\G\G\G\B\K\G\G\G\\\B\R\G\G\G\B\K\G\G\G\\\B\R\K\R\G} % Un L +\newcommand{\picLrot}{0°} +\newcommand{\picO}{\K\B\G\R\K\K\W\W\W\K\\\W\B\G\R\W\K\W\W\W\K\\\K\B\G\R\K} % Un O +\newcommand{\picOrot}{90°} +\newcommand{\picV}{\B\G\B\G\B\R\G\R\G\R\\\K\G\K\G\K\R\G\R\G\R\\\B\B\G\B\B} % Un V +\newcommand{\picVrot}{0°} +\newcommand{\picE}{\K\K\K\K\K\W\W\W\W\W\\\W\R\W\R\W\W\R\R\R\W\\\R\R\B\R\R} % Un E +\newcommand{\picErot}{90°} +\newcommand{\picSecond}{\W\W\W\B\W\B\K\W\K\B\\\W\W\W\B\K\W\K\B\K\B\\\W\W\W\B\K} % Un 2 +\newcommand{\picSecondrot}{0°} +\newcommand{\picHeart}{\K\R\K\R\K\R\G\R\G\R\\\R\G\W\G\R\K\R\G\R\K\\\K\K\R\K\K} % Un cœur +\newcommand{\picHeartrot}{0°} +\newcommand{\picExclamation}{\R\K\G\B\W\R\K\G\B\W\\\R\K\G\B\W\R\R\G\W\W\\\R\K\G\B\W} % Deux points d’exclamation +\newcommand{\picExclamationrot}{0°} + +\newcommand{\picFirst}{\K\B\B\B\R\K\K\B\R\R\\\W\W\B\W\W\R\R\B\B\K\\\R\R\B\K\K} % Un 1 +\newcommand{\picFirstrot}{180°} +\newcommand{\picFour}{\K\W\K\K\K\K\B\K\K\K\\\K\G\G\G\K\K\R\K\R\K\\\K\W\K\W\K} % Un 4 +\newcommand{\picFourrot}{180°} +\newcommand{\picSixth}{\G\B\B\B\G\W\B\W\W\W\\\G\B\B\B\G\W\B\W\B\W\\\G\B\B\B\G} % Un 6 +\newcommand{\picSixthrot}{0°} +\newcommand{\picSeven}{\R\R\K\K\K\B\G\B\G\B\\\G\R\K\K\K\B\R\K\K\K\\\R\R\K\K\K} % Un 7 +\newcommand{\picSevenrot}{-90°} +\newcommand{\picEight}{\G\B\W\B\G\K\K\K\K\K\\\K\R\K\R\K\K\K\K\K\K\\\G\B\W\B\G} % Un 8 +\newcommand{\picEightrot}{90°} +\newcommand{\picFourteen}{\R\R\R\R\R\K\W\K\W\K\\\W\K\G\G\G\K\W\G\B\B\\\G\G\G\G\G} % Un 14 +\newcommand{\picFourteenrot}{90°} +\newcommand{\picFiveteen}{\G\R\G\G\G\G\R\G\W\G\\\G\G\G\W\G\R\R\R\W\W\\\B\B\B\B\B} % Un 15 +\newcommand{\picFiveteenrot}{-90°} +\newcommand{\picSeventeen}{\K\G\K\K\K\K\W\G\W\K\\\K\G\G\G\K\K\W\G\W\K\\\K\G\G\G\K} % Un 17 +\newcommand{\picSeventeenrot}{0°} +\newcommand{\picEighteen}{\R\R\R\R\R\K\W\K\W\K\\\G\G\G\G\G\G\B\G\B\G\\\G\G\G\G\G} % Un 18 +\newcommand{\picEighteenrot}{90°} +""" + +dir_path = os.path.dirname(os.path.realpath(__file__)) +#firefox_path = 'D:/Program Files/Mozilla Firefox/firefox.exe' +firefox_path = 'firefox' + +def openFirefoxWithHtml(html) : + if os.path.exists('tmp.html'): + os.remove('tmp.html') + with open('tmp.html', 'w', encoding = 'utf8') as f: + f.write(html) + subprocess.run([firefox_path, 'file://'+dir_path+'/tmp.html']) + +def imageInTab(image): + string = '' + for i in range(0,5) : + string += '' + for j in range(0,5) : + string += getPixelImage(image[i*5+j]) + string += '' + string += '
' + return string + +def getPixelImage(pixel): + return '' + +def test(tab): + string = '' + for image in tab: + string += imageInTab(image) + openFirefoxWithHtml(string) + +def text_to_list(text): + res = [] + p = re.compile('(\\\\[RGBKW]\\\\[RGBKW]\\\\[RGBKW]\\\\[RGBKW]\\\\[RGBKW]\\\\[RGBKW]\\\\[RGBKW]\\\\[RGBKW]\\\\[RGBKW]\\\\[RGBKW]\\\\\\\\[RGBKW]\\\\[RGBKW]\\\\[RGBKW]\\\\[RGBKW]\\\\[RGBKW]\\\\[RGBKW]\\\\[RGBKW]\\\\[RGBKW]\\\\[RGBKW]\\\\[RGBKW]\\\\\\\\[RGBKW]\\\\[RGBKW]\\\\[RGBKW]\\\\[RGBKW]\\\\[RGBKW])') + for line in text.split('\n'): + found = p.search(line) + if not found: + continue + res.append(list(found.group(0).replace('\\', ''))) + return res + + +test(text_to_list(text)) +