From b3871fa4152f97b2a8a8742c4b855ee5f121f34e Mon Sep 17 00:00:00 2001 From: Guillaume Courrier Date: Mon, 16 Dec 2019 16:40:34 +0100 Subject: [PATCH] =?UTF-8?q?r=C3=A9organisation=20et=20debuggage=20des=20de?= =?UTF-8?q?scripteurs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- learning/code/algo.c | 176 ++++++++++++++++++ learning/code/algo.h | 6 + learning/code/code | Bin 0 -> 3952 bytes learning/code/constant.h | 10 + learning/code/data_set.m | 4 + learning/code/descripteurfouriernorm.m | 28 +++ learning/code/dict | Bin 0 -> 2760 bytes learning/code/global.c | 25 +++ learning/code/global.h | 25 +++ learning/code/kmoyennes.m | 41 ++++ learning/code/learning.m | 58 ++++++ learning/code/makefile | 8 + learning/code/max_contour.m | 18 ++ learning/code/quantvec | Bin 0 -> 18040 bytes learning/code/quantvec.c | 63 +++++++ learning/code/resconstrdesfour.m | 11 ++ learning/code/rgb_filter.m | 23 +++ learning/code/traitement.h | 3 + learning/code/vecteurs | Bin 0 -> 166000 bytes .../images}/arret/arret0001.jpg | Bin .../images}/arret/arret0002.jpg | Bin .../images}/arret/arret0003.jpg | Bin .../images}/arret/arret0004.jpg | Bin .../images}/arret/arret0005.jpg | Bin .../images}/arret/arret0006.jpg | Bin .../images}/arret/arret0007.jpg | Bin .../images}/arret/arret0008.jpg | Bin .../images}/arret/arret0009.jpg | Bin .../images}/arret/arret0010.jpg | Bin .../images}/arret/arret0011.jpg | Bin .../images}/arret/arret0012.jpg | Bin .../images}/arret/arret0013.jpg | Bin .../images}/arret/arret0014.jpg | Bin .../images}/arret/arret0015.jpg | Bin .../images}/arret/arret0016.jpg | Bin .../images}/arret/arret0017.jpg | Bin .../images}/arret/arret0018.jpg | Bin .../images}/arret/arret0019.jpg | Bin .../images}/arret/arret0020.jpg | Bin .../images}/arret/arret0021.jpg | Bin .../images}/arret/arret0022.jpg | Bin .../images}/arret/arret0023.jpg | Bin .../images}/arret/arret0024.jpg | Bin .../images}/arret/arret0025.jpg | Bin .../images}/arret/arret0026.jpg | Bin .../images}/arret/arret0027.jpg | Bin .../images}/arret/arret0028.jpg | Bin .../images}/arret/arret0029.jpg | Bin .../images}/arret/arret0030.jpg | Bin .../images}/arret/arret0031.jpg | Bin .../images}/arret/arret0032.jpg | Bin .../images}/arret/arret0033.jpg | Bin .../images}/arret/arret0034.jpg | Bin .../images}/arret/arret0035.jpg | Bin .../images}/arret/arret0036.jpg | Bin .../images}/arret/arret0037.jpg | Bin .../images}/arret/arret0038.jpg | Bin .../images}/arret/arret0039.jpg | Bin .../images}/arret/arret0040.jpg | Bin .../images}/arret/arret0041.jpg | Bin .../images}/arret/arret0042.jpg | Bin .../images}/arret/arret0043.jpg | Bin .../images}/arret/arret0044.jpg | Bin .../images}/arret/arret0045.jpg | Bin .../images}/arret/arret0046.jpg | Bin .../images}/arret/arret0047.jpg | Bin .../images}/arret/arret0048.jpg | Bin .../images}/arret/arret0049.jpg | Bin .../images}/arret/arret0050.jpg | Bin .../images}/arret/arret0051.jpg | Bin .../images}/arret/arret0052.jpg | Bin .../images}/arret/arret0053.jpg | Bin .../images}/arret/arret0054.jpg | Bin .../images}/arret/arret0055.jpg | Bin .../images}/arret/arret0056.jpg | Bin .../images}/arret/arret0057.jpg | Bin .../images}/arret/arret0058.jpg | Bin .../images}/arret/arret0059.jpg | Bin .../images}/arret/arret0060.jpg | Bin .../images}/arret/arret0061.jpg | Bin .../images}/arret/arret0062.jpg | Bin .../images}/arret/arret0063.jpg | Bin .../images}/arret/arret0064.jpg | Bin .../images}/arret/arret0065.jpg | Bin .../images}/arret/arret0066.jpg | Bin .../images}/arret/arret0067.jpg | Bin .../images}/arret/arret0068.jpg | Bin .../images}/arret/arret0069.jpg | Bin .../images}/arret/arret0070.jpg | Bin .../images}/arret/arret0071.jpg | Bin .../images}/arret/arret0072.jpg | Bin .../images}/arret/arret0073.jpg | Bin .../images}/arret/arret0074.jpg | Bin .../images}/arret/arret0075.jpg | Bin .../images}/arret/arret0076.jpg | Bin .../images}/arret/arret0077.jpg | Bin .../images}/arret/arret0078.jpg | Bin .../images}/arret/arret0079.jpg | Bin .../images}/arret/arret0080.jpg | Bin .../images}/arret/arret0081.jpg | Bin .../images}/arret/arret0082.jpg | Bin .../images}/arret/arret0083.jpg | Bin .../images}/arret/arret0084.jpg | Bin .../images}/arret/arret0085.jpg | Bin .../images}/arret/arret0086.jpg | Bin .../images}/arret/arret0087.jpg | Bin .../images}/arret/arret0088.jpg | Bin .../images}/arret/arret0089.jpg | Bin .../images}/arret/arret0090.jpg | Bin .../images}/arret/arret0091.jpg | Bin .../images}/arret/arret0092.jpg | Bin .../images}/arret/arret0093.jpg | Bin .../images}/arret/arret0094.jpg | Bin .../images}/arret/arret0095.jpg | Bin .../images}/arret/arret0096.jpg | Bin .../images}/arret/arret0097.jpg | Bin .../images}/arret/arret0098.jpg | Bin .../images}/arret/arret0099.jpg | Bin .../images}/arret/arret0100.jpg | Bin .../images}/arret/arret0101.jpg | Bin .../images}/arret/arret0102.jpg | Bin .../images}/arret/arret0103.jpg | Bin .../images}/arret/arret0104.jpg | Bin .../images}/arret/arret0105.jpg | Bin .../images}/arret/arret0106.jpg | Bin .../images}/arret/arret0107.jpg | Bin .../images}/arret/arret0108.jpg | Bin .../images}/arret/arret0109.jpg | Bin .../images}/arret/arret0110.jpg | Bin .../images}/arret/arret0111.jpg | Bin .../images}/arret/arret0112.jpg | Bin .../images}/arret/arret0113.jpg | Bin .../images}/arret/arret0114.jpg | Bin .../images}/arret/arret0115.jpg | Bin .../images}/arret/arret0116.jpg | Bin .../images}/arret/arret0117.jpg | Bin .../images}/arret/arret0118.jpg | Bin .../images}/arret/arret0119.jpg | Bin .../images}/arret/arret0120.jpg | Bin .../images}/arret/arret0121.jpg | Bin .../images}/arret/arret0122.jpg | Bin .../images}/arret/arret0123.jpg | Bin .../images}/arret/arret0124.jpg | Bin .../images}/arret/arret0125.jpg | Bin .../images}/arret/arret0126.jpg | Bin .../images}/arret/arret0127.jpg | Bin .../images}/arret/arret0128.jpg | Bin .../images}/arret/arret0129.jpg | Bin .../images}/arret/arret0130.jpg | Bin .../images}/arret/arret0131.jpg | Bin .../images}/arret/arret0132.jpg | Bin .../images}/arret/arret0133.jpg | Bin .../images}/arret/arret0134.jpg | Bin .../images}/arret/arret0135.jpg | Bin .../images}/arret/arret0136.jpg | Bin .../images}/arret/arret0137.jpg | Bin .../images}/arret/arret0138.jpg | Bin .../images}/arret/arret0139.jpg | Bin .../images}/arret/arret0140.jpg | Bin .../images}/arret/arret0141.jpg | Bin .../images}/arret/arret0142.jpg | Bin .../images}/arret/arret0143.jpg | Bin .../images}/arret/arret0144.jpg | Bin .../images}/arret/arret0145.jpg | Bin .../images}/arret/arret0146.jpg | Bin .../images}/arret/arret0147.jpg | Bin .../images}/arret/arret0148.jpg | Bin .../images}/arret/arret0149.jpg | Bin .../images}/arret/arret0150.jpg | Bin .../images}/arret/arret0151.jpg | Bin .../images}/arret/arret0152.jpg | Bin .../images}/arret/arret0153.jpg | Bin .../images}/arret/arret0154.jpg | Bin .../images}/arret/arret0155.jpg | Bin .../images}/arret/arret0156.jpg | Bin .../images}/arret/arret0157.jpg | Bin .../images}/arret/arret0158.jpg | Bin .../images}/arret/arret0159.jpg | Bin .../images}/arret/arret0160.jpg | Bin .../images}/arret/arret0161.jpg | Bin .../images}/arret/arret0162.jpg | Bin .../images}/arret/arret0163.jpg | Bin .../images}/arret/arret0164.jpg | Bin .../images}/arret/arret0165.jpg | Bin .../images}/arret/arret0166.jpg | Bin .../images}/arret/arret0167.jpg | Bin .../images}/arret/arret0168.jpg | Bin .../images}/arret/arret0169.jpg | Bin .../images}/arret/arret0170.jpg | Bin .../images}/arret/arret0171.jpg | Bin .../images}/arret/arret0172.jpg | Bin .../images}/arret/arret0173.jpg | Bin .../images}/arret/arret0174.jpg | Bin .../images}/arret/arret0175.jpg | Bin .../images}/arret/arret0176.jpg | Bin .../images}/arret/arret0177.jpg | Bin .../images}/arret/arret0178.jpg | Bin .../images}/arret/arret0179.jpg | Bin .../images}/arret/arret0180.jpg | Bin .../images}/arret/arret0181.jpg | Bin .../images}/arret/arret0182.jpg | Bin .../images}/arret/arret0183.jpg | Bin .../images}/arret/arret0184.jpg | Bin .../images}/arret/arret0185.jpg | Bin .../images}/arret/arret0186.jpg | Bin .../images}/arret/arret0187.jpg | Bin .../images}/arret/arret0188.jpg | Bin .../images}/arret/arret0189.jpg | Bin .../images}/arret/arret0190.jpg | Bin .../images}/arret/arret0191.jpg | Bin .../images}/arret/arret0192.jpg | Bin .../images}/arret/arret0193.jpg | Bin .../images}/arret/arret0194.jpg | Bin .../images}/arret/arret0195.jpg | Bin .../images}/arret/arret0196.jpg | Bin .../images}/arret/arret0197.jpg | Bin .../images}/arret/arret0198.jpg | Bin .../images}/arret/arret0199.jpg | Bin .../images}/arret/arret0200.jpg | Bin .../images}/arret/arret0201.jpg | Bin .../images}/arret/arret0202.jpg | Bin .../images}/arret/arret0203.jpg | Bin .../images}/arret/arret0204.jpg | Bin .../images}/arret/arret0205.jpg | Bin .../images}/arret/arret0206.jpg | Bin .../images}/arret/arret0207.jpg | Bin .../images}/arret/arret0208.jpg | Bin .../images}/arret/arret0209.jpg | Bin .../images}/arret/arret0210.jpg | Bin .../images}/arret/arret0211.jpg | Bin .../images}/arret/arret0212.jpg | Bin .../images}/arret/arret0213.jpg | Bin .../images}/arret/arret0214.jpg | Bin .../images}/arret/arret0215.jpg | Bin .../images}/arret/arret0216.jpg | Bin .../images}/arret/arret0217.jpg | Bin .../images}/arret/arret0218.jpg | Bin .../images}/avance/avance0001.jpg | Bin .../images}/avance/avance0002.jpg | Bin .../images}/avance/avance0003.jpg | Bin .../images}/avance/avance0004.jpg | Bin .../images}/avance/avance0005.jpg | Bin .../images}/avance/avance0006.jpg | Bin .../images}/avance/avance0007.jpg | Bin .../images}/avance/avance0008.jpg | Bin .../images}/avance/avance0009.jpg | Bin .../images}/avance/avance0010.jpg | Bin .../images}/avance/avance0011.jpg | Bin .../images}/avance/avance0012.jpg | Bin .../images}/avance/avance0013.jpg | Bin .../images}/avance/avance0014.jpg | Bin .../images}/avance/avance0015.jpg | Bin .../images}/avance/avance0016.jpg | Bin .../images}/avance/avance0017.jpg | Bin .../images}/avance/avance0018.jpg | Bin .../images}/avance/avance0019.jpg | Bin .../images}/avance/avance0020.jpg | Bin .../images}/avance/avance0021.jpg | Bin .../images}/avance/avance0022.jpg | Bin .../images}/avance/avance0023.jpg | Bin .../images}/avance/avance0024.jpg | Bin .../images}/avance/avance0025.jpg | Bin .../images}/avance/avance0026.jpg | Bin .../images}/avance/avance0027.jpg | Bin .../images}/avance/avance0028.jpg | Bin .../images}/avance/avance0029.jpg | Bin .../images}/avance/avance0030.jpg | Bin .../images}/avance/avance0031.jpg | Bin .../images}/avance/avance0032.jpg | Bin .../images}/avance/avance0033.jpg | Bin .../images}/avance/avance0034.jpg | Bin .../images}/avance/avance0035.jpg | Bin .../images}/avance/avance0036.jpg | Bin .../images}/avance/avance0037.jpg | Bin .../images}/avance/avance0038.jpg | Bin .../images}/avance/avance0039.jpg | Bin .../images}/avance/avance0040.jpg | Bin .../images}/avance/avance0041.jpg | Bin .../images}/avance/avance0042.jpg | Bin .../images}/avance/avance0043.jpg | Bin .../images}/avance/avance0044.jpg | Bin .../images}/avance/avance0045.jpg | Bin .../images}/avance/avance0046.jpg | Bin .../images}/avance/avance0047.jpg | Bin .../images}/avance/avance0048.jpg | Bin .../images}/avance/avance0049.jpg | Bin .../images}/avance/avance0050.jpg | Bin .../images}/avance/avance0051.jpg | Bin .../images}/avance/avance0052.jpg | Bin .../images}/avance/avance0053.jpg | Bin .../images}/avance/avance0054.jpg | Bin .../images}/avance/avance0055.jpg | Bin .../images}/avance/avance0056.jpg | Bin .../images}/avance/avance0057.jpg | Bin .../images}/avance/avance0058.jpg | Bin .../images}/avance/avance0059.jpg | Bin .../images}/avance/avance0060.jpg | Bin .../images}/avance/avance0061.jpg | Bin .../images}/avance/avance0062.jpg | Bin .../images}/avance/avance0063.jpg | Bin .../images}/avance/avance0064.jpg | Bin .../images}/avance/avance0065.jpg | Bin .../images}/avance/avance0066.jpg | Bin .../images}/avance/avance0067.jpg | Bin .../images}/avance/avance0068.jpg | Bin .../images}/avance/avance0069.jpg | Bin .../images}/avance/avance0070.jpg | Bin .../images}/avance/avance0071.jpg | Bin .../images}/avance/avance0072.jpg | Bin .../images}/avance/avance0073.jpg | Bin .../images}/avance/avance0074.jpg | Bin .../images}/avance/avance0075.jpg | Bin .../images}/avance/avance0076.jpg | Bin .../images}/avance/avance0077.jpg | Bin .../images}/avance/avance0078.jpg | Bin .../images}/avance/avance0079.jpg | Bin .../images}/avance/avance0080.jpg | Bin .../images}/avance/avance0081.jpg | Bin .../images}/avance/avance0082.jpg | Bin .../images}/avance/avance0083.jpg | Bin .../images}/avance/avance0084.jpg | Bin .../images}/avance/avance0085.jpg | Bin .../images}/avance/avance0086.jpg | Bin .../images}/avance/avance0087.jpg | Bin .../images}/avance/avance0088.jpg | Bin .../images}/avance/avance0089.jpg | Bin .../images}/avance/avance0090.jpg | Bin .../images}/avance/avance0091.jpg | Bin .../images}/avance/avance0092.jpg | Bin .../images}/avance/avance0093.jpg | Bin .../images}/avance/avance0094.jpg | Bin .../images}/avance/avance0095.jpg | Bin .../images}/avance/avance0096.jpg | Bin .../images}/avance/avance0097.jpg | Bin .../images}/avance/avance0098.jpg | Bin .../images}/avance/avance0099.jpg | Bin .../images}/avance/avance0100.jpg | Bin .../images}/avance/avance0101.jpg | Bin .../images}/avance/avance0102.jpg | Bin .../images}/avance/avance0103.jpg | Bin .../images}/avance/avance0104.jpg | Bin .../images}/avance/avance0105.jpg | Bin .../images}/avance/avance0106.jpg | Bin .../images}/avance/avance0107.jpg | Bin .../images}/avance/avance0108.jpg | Bin .../images}/avance/avance0109.jpg | Bin .../images}/avance/avance0110.jpg | Bin .../images}/avance/avance0111.jpg | Bin .../images}/avance/avance0112.jpg | Bin .../images}/avance/avance0113.jpg | Bin .../images}/avance/avance0114.jpg | Bin .../images}/avance/avance0115.jpg | Bin .../images}/avance/avance0116.jpg | Bin .../images}/avance/avance0117.jpg | Bin .../images}/avance/avance0118.jpg | Bin .../images}/avance/avance0119.jpg | Bin .../images}/avance/avance0120.jpg | Bin .../images}/avance/avance0121.jpg | Bin .../images}/avance/avance0122.jpg | Bin .../images}/avance/avance0123.jpg | Bin .../images}/avance/avance0124.jpg | Bin .../images}/avance/avance0125.jpg | Bin .../images}/avance/avance0126.jpg | Bin .../images}/avance/avance0127.jpg | Bin .../images}/avance/avance0128.jpg | Bin .../images}/avance/avance0129.jpg | Bin .../images}/avance/avance0130.jpg | Bin .../images}/avance/avance0131.jpg | Bin .../images}/avance/avance0132.jpg | Bin .../images}/avance/avance0133.jpg | Bin .../images}/avance/avance0134.jpg | Bin .../images}/avance/avance0135.jpg | Bin .../images}/avance/avance0136.jpg | Bin .../images}/avance/avance0137.jpg | Bin .../images}/avance/avance0138.jpg | Bin .../images}/avance/avance0139.jpg | Bin .../images}/avance/avance0140.jpg | Bin .../images}/avance/avance0141.jpg | Bin .../images}/avance/avance0142.jpg | Bin .../images}/avance/avance0143.jpg | Bin .../images}/avance/avance0144.jpg | Bin .../images}/avance/avance0145.jpg | Bin .../images}/avance/avance0146.jpg | Bin .../images}/avance/avance0147.jpg | Bin .../images}/avance/avance0148.jpg | Bin .../images}/avance/avance0149.jpg | Bin .../images}/avance/avance0150.jpg | Bin .../images}/avance/avance0151.jpg | Bin .../images}/avance/avance0152.jpg | Bin .../images}/avance/avance0153.jpg | Bin .../images}/avance/avance0154.jpg | Bin .../images}/avance/avance0155.jpg | Bin .../images}/avance/avance0156.jpg | Bin .../images}/avance/avance0157.jpg | Bin .../images}/avance/avance0158.jpg | Bin .../images}/avance/avance0159.jpg | Bin .../images}/avance/avance0160.jpg | Bin .../images}/avance/avance0161.jpg | Bin .../images}/avance/avance0162.jpg | Bin .../images}/avance/avance0163.jpg | Bin .../images}/avance/avance0164.jpg | Bin .../images}/avance/avance0165.jpg | Bin .../images}/avance/avance0166.jpg | Bin .../images}/avance/avance0167.jpg | Bin .../images}/avance/avance0168.jpg | Bin .../images}/avance/avance0169.jpg | Bin .../images}/avance/avance0170.jpg | Bin .../images}/avance/avance0171.jpg | Bin .../images}/avance/avance0172.jpg | Bin .../images}/avance/avance0173.jpg | Bin .../images}/avance/avance0174.jpg | Bin .../images}/avance/avance0175.jpg | Bin .../images}/avance/avance0176.jpg | Bin .../images}/avance/avance0177.jpg | Bin .../images}/avance/avance0178.jpg | Bin .../images}/avance/avance0179.jpg | Bin .../images}/avance/avance0180.jpg | Bin .../images}/avance/avance0181.jpg | Bin .../images}/avance/avance0182.jpg | Bin .../images}/avance/avance0183.jpg | Bin .../images}/avance/avance0184.jpg | Bin .../images}/avance/avance0185.jpg | Bin .../images}/avance/avance0186.jpg | Bin .../images}/avance/avance0187.jpg | Bin .../images}/avance/avance0188.jpg | Bin .../images}/avance/avance0189.jpg | Bin .../images}/avance/avance0190.jpg | Bin .../images}/avance/avance0191.jpg | Bin .../images}/avance/avance0192.jpg | Bin .../images}/avance/avance0193.jpg | Bin .../images}/avance/avance0194.jpg | Bin .../images}/avance/avance0195.jpg | Bin .../images}/avance/avance0196.jpg | Bin .../images}/avance/avance0197.jpg | Bin .../images}/avance/avance0198.jpg | Bin .../images}/avance/avance0199.jpg | Bin .../images}/avance/avance0200.jpg | Bin .../images}/avance/avance0201.jpg | Bin .../images}/avance/avance0202.jpg | Bin .../images}/avance/avance0203.jpg | Bin .../images}/avance/avance0204.jpg | Bin .../images}/avance/avance0205.jpg | Bin .../images}/avance/avance0206.jpg | Bin .../images}/avance/avance0207.jpg | Bin .../images}/avance/avance0208.jpg | Bin .../images}/avance/avance0209.jpg | Bin .../images}/avance/avance0210.jpg | Bin .../images}/avance/avance0211.jpg | Bin .../images}/avance/avance0212.jpg | Bin .../images}/avance/avance0213.jpg | Bin .../images}/avance/avance0214.jpg | Bin .../images}/avance/avance0215.jpg | Bin .../images}/avance/avance0216.jpg | Bin .../images}/avance/avance0217.jpg | Bin .../images}/avance/avance0218.jpg | Bin .../images}/avance/avance0219.jpg | Bin .../images}/avance/avance0220.jpg | Bin .../images}/avance/avance0221.jpg | Bin .../images}/avance/avance0222.jpg | Bin .../images}/avance/avance0223.jpg | Bin .../images}/avance/avance0224.jpg | Bin .../images}/avance/avance0225.jpg | Bin .../images}/avance/avance0226.jpg | Bin .../images}/avance/avance0227.jpg | Bin .../images}/avance/avance0228.jpg | Bin .../images}/avance/avance0229.jpg | Bin .../images}/avance/avance0230.jpg | Bin .../images}/avance/avance0231.jpg | Bin .../images}/avance/avance0232.jpg | Bin .../images}/avance/avance0233.jpg | Bin .../images}/avance/avance0234.jpg | Bin .../images}/avance/avance0235.jpg | Bin .../images}/avance/avance0236.jpg | Bin .../images}/avance/avance0237.jpg | Bin .../images}/avance/avance0238.jpg | Bin .../images}/avance/avance0239.jpg | Bin .../images}/avance/avance0240.jpg | Bin .../images}/avance/avance0241.jpg | Bin .../images}/avance/avance0242.jpg | Bin .../images}/avance/avance0243.jpg | Bin .../images}/avance/avance0244.jpg | Bin .../images}/avance/avance0245.jpg | Bin .../images}/avance/avance0246.jpg | Bin .../images}/avance/avance0247.jpg | Bin .../images}/avance/avance0248.jpg | Bin .../images}/avance/avance0249.jpg | Bin .../images}/avance/avance0250.jpg | Bin .../images}/avance/avance0251.jpg | Bin .../images}/avance/avance0252.jpg | Bin .../images}/avance/avance0253.jpg | Bin .../images}/avance/avance0254.jpg | Bin .../images}/avance/avance0255.jpg | Bin .../images}/avance/avance0256.jpg | Bin .../images}/avance/avance0257.jpg | Bin .../images}/avance/avance0258.jpg | Bin .../images}/avance/avance0259.jpg | Bin .../images}/avance/avance0260.jpg | Bin .../images}/avance/avance0261.jpg | Bin .../images}/avance/avance0262.jpg | Bin .../images}/avance/avance0263.jpg | Bin .../images}/avance/avance0264.jpg | Bin .../images}/avance/avance0265.jpg | Bin .../images}/avance/avance0266.jpg | Bin .../images}/avance/avance0267.jpg | Bin .../images}/avance/avance0268.jpg | Bin .../images}/avance/avance0269.jpg | Bin .../images}/avance/avance0270.jpg | Bin .../images}/avance/avance0271.jpg | Bin .../images}/avance/avance0272.jpg | Bin .../images}/avance/avance0273.jpg | Bin .../images}/avance/avance0274.jpg | Bin .../images}/avance/avance0275.jpg | Bin .../images}/avance/avance0276.jpg | Bin .../images}/avance/avance0277.jpg | Bin .../images}/avance/avance0278.jpg | Bin .../images}/avance/avance0279.jpg | Bin .../images}/avance/avance0280.jpg | Bin .../images}/avance/avance0281.jpg | Bin .../images}/avance/avance0282.jpg | Bin .../images}/avance/avance0283.jpg | Bin .../images}/avance/avance0284.jpg | Bin .../images}/avance/avance0285.jpg | Bin .../images}/avance/avance0286.jpg | Bin .../images}/avance/avance0287.jpg | Bin .../images}/avance/avance0288.jpg | Bin .../images}/avance/avance0289.jpg | Bin .../images}/avance/avance0290.jpg | Bin .../images}/avance/avance0291.jpg | Bin .../images}/avance/avance0292.jpg | Bin .../images}/avance/avance0293.jpg | Bin .../images}/avance/avance0294.jpg | Bin .../images}/avance/avance0295.jpg | Bin .../images}/avance/avance0296.jpg | Bin .../images}/avance/avance0297.jpg | Bin .../images}/avance/avance0298.jpg | Bin .../images}/avance/avance0299.jpg | Bin .../images}/avance/avance0300.jpg | Bin .../images}/avance/avance0301.jpg | Bin .../images}/avance/avance0302.jpg | Bin .../images}/avance/avance0303.jpg | Bin .../images}/avance/avance0304.jpg | Bin .../images}/avance/avance0305.jpg | Bin .../images}/avance/avance0306.jpg | Bin .../images}/avance/avance0307.jpg | Bin .../images}/avance/avance0308.jpg | Bin .../images}/avance/avance0309.jpg | Bin .../images}/avance/avance0310.jpg | Bin .../images}/avance/avance0311.jpg | Bin .../images}/avance/avance0312.jpg | Bin .../images}/avance/avance0313.jpg | Bin .../images}/avance/avance0314.jpg | Bin .../images}/avance/avance0315.jpg | Bin .../images}/avance/avance0316.jpg | Bin .../images}/avance/avance0317.jpg | Bin .../images}/avance/avance0318.jpg | Bin .../images}/avance/avance0319.jpg | Bin .../images}/avance/avance0320.jpg | Bin .../images}/avance/avance0321.jpg | Bin .../images}/avance/avance0322.jpg | Bin .../images}/avance/avance0323.jpg | Bin .../images}/avance/avance0324.jpg | Bin .../images}/avance/avance0325.jpg | Bin .../images}/avance/avance0326.jpg | Bin .../images}/avance/avance0327.jpg | Bin .../images}/avance/avance0328.jpg | Bin .../images}/avance/avance0329.jpg | Bin .../images}/avance/avance0330.jpg | Bin .../images}/avance/avance0331.jpg | Bin .../images}/avance/avance0332.jpg | Bin .../images}/avance/avance0333.jpg | Bin .../images}/avance/avance0334.jpg | Bin .../images}/avance/avance0335.jpg | Bin .../images}/avance/avance0336.jpg | Bin .../images}/avance/avance0337.jpg | Bin .../images}/avance/avance0338.jpg | Bin .../images}/avance/avance0339.jpg | Bin .../images}/avance/avance0340.jpg | Bin .../images}/avance/avance0341.jpg | Bin .../images}/avance/avance0342.jpg | Bin .../images}/avance/avance0343.jpg | Bin .../images}/avance/avance0344.jpg | Bin .../images}/avance/avance0345.jpg | Bin .../images}/avance/avance0346.jpg | Bin .../images}/avance/avance0347.jpg | Bin .../images}/avance/avance0348.jpg | Bin .../images}/avance/avance0349.jpg | Bin .../images}/avance/avance0350.jpg | Bin .../images}/avance/avance0351.jpg | Bin .../images}/avance/avance0352.jpg | Bin .../images}/avance/avance0353.jpg | Bin .../images}/avance/avance0354.jpg | Bin .../images}/avance/avance0355.jpg | Bin .../images}/avance/avance0356.jpg | Bin .../images}/avance/avance0357.jpg | Bin .../images}/avance/avance0358.jpg | Bin .../images}/avance/avance0359.jpg | Bin .../images}/avance/avance0360.jpg | Bin .../images}/avance/avance0361.jpg | Bin .../images}/avance/avance0362.jpg | Bin .../images}/avance/avance0363.jpg | Bin .../images}/avance/avance0364.jpg | Bin .../images}/avance/avance0365.jpg | Bin .../images}/avance/avance0366.jpg | Bin .../images}/avance/avance0367.jpg | Bin .../images}/avance/avance0368.jpg | Bin .../images}/avance/avance0369.jpg | Bin .../images}/avance/avance0370.jpg | Bin .../images}/avance/avance0371.jpg | Bin .../images}/avance/avance0372.jpg | Bin .../images}/avance/avance0373.jpg | Bin .../images}/avance/avance0374.jpg | Bin .../images}/avance/avance0375.jpg | Bin .../images}/avance/avance0376.jpg | Bin .../images}/avance/avance0377.jpg | Bin .../images}/avance/avance0378.jpg | Bin .../images}/avance/avance0379.jpg | Bin .../images}/avance/avance0380.jpg | Bin .../images}/avance/avance0381.jpg | Bin .../images}/avance/avance0382.jpg | Bin .../images}/avance/avance0383.jpg | Bin .../images}/avance/avance0384.jpg | Bin .../images}/avance/avance0385.jpg | Bin .../images}/avance/avance0386.jpg | Bin .../images}/droite/droite0001.jpg | Bin .../images}/droite/droite0002.jpg | Bin .../images}/droite/droite0003.jpg | Bin .../images}/droite/droite0004.jpg | Bin .../images}/droite/droite0005.jpg | Bin .../images}/droite/droite0006.jpg | Bin .../images}/droite/droite0007.jpg | Bin .../images}/droite/droite0008.jpg | Bin .../images}/droite/droite0009.jpg | Bin .../images}/droite/droite0010.jpg | Bin .../images}/droite/droite0011.jpg | Bin .../images}/droite/droite0012.jpg | Bin .../images}/droite/droite0013.jpg | Bin .../images}/droite/droite0014.jpg | Bin .../images}/droite/droite0015.jpg | Bin .../images}/droite/droite0016.jpg | Bin .../images}/droite/droite0017.jpg | Bin .../images}/droite/droite0018.jpg | Bin .../images}/droite/droite0019.jpg | Bin .../images}/droite/droite0020.jpg | Bin .../images}/droite/droite0021.jpg | Bin .../images}/droite/droite0022.jpg | Bin .../images}/droite/droite0023.jpg | Bin .../images}/droite/droite0024.jpg | Bin .../images}/droite/droite0025.jpg | Bin .../images}/droite/droite0026.jpg | Bin .../images}/droite/droite0027.jpg | Bin .../images}/droite/droite0028.jpg | Bin .../images}/droite/droite0029.jpg | Bin .../images}/droite/droite0030.jpg | Bin .../images}/droite/droite0031.jpg | Bin .../images}/droite/droite0032.jpg | Bin .../images}/droite/droite0033.jpg | Bin .../images}/droite/droite0034.jpg | Bin .../images}/droite/droite0035.jpg | Bin .../images}/droite/droite0036.jpg | Bin .../images}/droite/droite0037.jpg | Bin .../images}/droite/droite0038.jpg | Bin .../images}/droite/droite0039.jpg | Bin .../images}/droite/droite0040.jpg | Bin .../images}/droite/droite0041.jpg | Bin .../images}/droite/droite0042.jpg | Bin .../images}/droite/droite0043.jpg | Bin .../images}/droite/droite0044.jpg | Bin .../images}/droite/droite0045.jpg | Bin .../images}/droite/droite0046.jpg | Bin .../images}/droite/droite0047.jpg | Bin .../images}/droite/droite0048.jpg | Bin .../images}/droite/droite0049.jpg | Bin .../images}/droite/droite0050.jpg | Bin .../images}/droite/droite0051.jpg | Bin .../images}/droite/droite0052.jpg | Bin .../images}/droite/droite0053.jpg | Bin .../images}/droite/droite0054.jpg | Bin .../images}/droite/droite0055.jpg | Bin .../images}/droite/droite0056.jpg | Bin .../images}/droite/droite0057.jpg | Bin .../images}/droite/droite0058.jpg | Bin .../images}/droite/droite0059.jpg | Bin .../images}/droite/droite0060.jpg | Bin .../images}/droite/droite0061.jpg | Bin .../images}/droite/droite0062.jpg | Bin .../images}/droite/droite0063.jpg | Bin .../images}/droite/droite0064.jpg | Bin .../images}/droite/droite0065.jpg | Bin .../images}/droite/droite0066.jpg | Bin .../images}/droite/droite0067.jpg | Bin .../images}/droite/droite0068.jpg | Bin .../images}/droite/droite0069.jpg | Bin .../images}/droite/droite0070.jpg | Bin .../images}/droite/droite0071.jpg | Bin .../images}/droite/droite0072.jpg | Bin .../images}/droite/droite0073.jpg | Bin .../images}/droite/droite0074.jpg | Bin .../images}/droite/droite0075.jpg | Bin .../images}/droite/droite0076.jpg | Bin .../images}/droite/droite0077.jpg | Bin .../images}/droite/droite0078.jpg | Bin .../images}/droite/droite0079.jpg | Bin .../images}/droite/droite0080.jpg | Bin .../images}/droite/droite0081.jpg | Bin .../images}/droite/droite0082.jpg | Bin .../images}/droite/droite0083.jpg | Bin .../images}/droite/droite0084.jpg | Bin .../images}/droite/droite0085.jpg | Bin .../images}/droite/droite0086.jpg | Bin .../images}/droite/droite0087.jpg | Bin .../images}/droite/droite0088.jpg | Bin .../images}/droite/droite0089.jpg | Bin .../images}/droite/droite0090.jpg | Bin .../images}/droite/droite0091.jpg | Bin .../images}/droite/droite0092.jpg | Bin .../images}/droite/droite0093.jpg | Bin .../images}/droite/droite0094.jpg | Bin .../images}/droite/droite0095.jpg | Bin .../images}/droite/droite0096.jpg | Bin .../images}/droite/droite0097.jpg | Bin .../images}/droite/droite0098.jpg | Bin .../images}/droite/droite0099.jpg | Bin .../images}/droite/droite0100.jpg | Bin .../images}/droite/droite0101.jpg | Bin .../images}/droite/droite0102.jpg | Bin .../images}/droite/droite0103.jpg | Bin .../images}/droite/droite0104.jpg | Bin .../images}/droite/droite0105.jpg | Bin .../images}/droite/droite0106.jpg | Bin .../images}/droite/droite0107.jpg | Bin .../images}/droite/droite0108.jpg | Bin .../images}/droite/droite0109.jpg | Bin .../images}/droite/droite0110.jpg | Bin .../images}/droite/droite0111.jpg | Bin .../images}/droite/droite0112.jpg | Bin .../images}/droite/droite0113.jpg | Bin .../images}/droite/droite0114.jpg | Bin .../images}/droite/droite0115.jpg | Bin .../images}/droite/droite0116.jpg | Bin .../images}/droite/droite0117.jpg | Bin .../images}/droite/droite0118.jpg | Bin .../images}/droite/droite0119.jpg | Bin .../images}/droite/droite0120.jpg | Bin .../images}/droite/droite0121.jpg | Bin .../images}/droite/droite0122.jpg | Bin .../images}/droite/droite0123.jpg | Bin .../images}/droite/droite0124.jpg | Bin .../images}/droite/droite0125.jpg | Bin .../images}/droite/droite0126.jpg | Bin .../images}/droite/droite0127.jpg | Bin .../images}/droite/droite0128.jpg | Bin .../images}/droite/droite0129.jpg | Bin .../images}/droite/droite0130.jpg | Bin .../images}/droite/droite0131.jpg | Bin .../images}/droite/droite0132.jpg | Bin .../images}/droite/droite0133.jpg | Bin .../images}/droite/droite0134.jpg | Bin .../images}/droite/droite0135.jpg | Bin .../images}/droite/droite0136.jpg | Bin .../images}/droite/droite0137.jpg | Bin .../images}/droite/droite0138.jpg | Bin .../images}/droite/droite0139.jpg | Bin .../images}/droite/droite0140.jpg | Bin .../images}/droite/droite0141.jpg | Bin .../images}/droite/droite0142.jpg | Bin .../images}/droite/droite0143.jpg | Bin .../images}/droite/droite0144.jpg | Bin .../images}/droite/droite0145.jpg | Bin .../images}/droite/droite0146.jpg | Bin .../images}/droite/droite0147.jpg | Bin .../images}/droite/droite0148.jpg | Bin .../images}/droite/droite0149.jpg | Bin .../images}/droite/droite0150.jpg | Bin .../images}/droite/droite0151.jpg | Bin .../images}/droite/droite0152.jpg | Bin .../images}/droite/droite0153.jpg | Bin .../images}/droite/droite0154.jpg | Bin .../images}/droite/droite0155.jpg | Bin .../images}/droite/droite0156.jpg | Bin .../images}/droite/droite0157.jpg | Bin .../images}/droite/droite0158.jpg | Bin .../images}/droite/droite0159.jpg | Bin .../images}/droite/droite0160.jpg | Bin .../images}/droite/droite0161.jpg | Bin .../images}/droite/droite0162.jpg | Bin .../images}/droite/droite0163.jpg | Bin .../images}/droite/droite0164.jpg | Bin .../images}/droite/droite0165.jpg | Bin .../images}/droite/droite0166.jpg | Bin .../images}/droite/droite0167.jpg | Bin .../images}/droite/droite0168.jpg | Bin .../images}/droite/droite0169.jpg | Bin .../images}/droite/droite0170.jpg | Bin .../images}/droite/droite0171.jpg | Bin .../images}/droite/droite0172.jpg | Bin .../images}/droite/droite0173.jpg | Bin .../images}/droite/droite0174.jpg | Bin .../images}/droite/droite0175.jpg | Bin .../images}/droite/droite0176.jpg | Bin .../images}/droite/droite0177.jpg | Bin .../images}/droite/droite0178.jpg | Bin .../images}/droite/droite0179.jpg | Bin .../images}/droite/droite0180.jpg | Bin .../images}/droite/droite0181.jpg | Bin .../images}/droite/droite0182.jpg | Bin .../images}/droite/droite0183.jpg | Bin .../images}/droite/droite0184.jpg | Bin .../images}/droite/droite0185.jpg | Bin .../images}/droite/droite0186.jpg | Bin .../images}/droite/droite0187.jpg | Bin .../images}/droite/droite0188.jpg | Bin .../images}/droite/droite0189.jpg | Bin .../images}/droite/droite0190.jpg | Bin .../images}/droite/droite0191.jpg | Bin .../images}/droite/droite0192.jpg | Bin .../images}/droite/droite0193.jpg | Bin .../images}/droite/droite0194.jpg | Bin .../images}/droite/droite0195.jpg | Bin .../images}/droite/droite0196.jpg | Bin .../images}/droite/droite0197.jpg | Bin .../images}/droite/droite0198.jpg | Bin .../images}/droite/droite0199.jpg | Bin .../images}/droite/droite0200.jpg | Bin .../images}/droite/droite0201.jpg | Bin .../images}/droite/droite0202.jpg | Bin .../images}/droite/droite0203.jpg | Bin .../images}/droite/droite0204.jpg | Bin .../images}/droite/droite0205.jpg | Bin .../images}/droite/droite0206.jpg | Bin .../images}/droite/droite0207.jpg | Bin .../images}/droite/droite0208.jpg | Bin .../images}/droite/droite0209.jpg | Bin .../images}/droite/droite0210.jpg | Bin .../images}/gauche/gauche0001.jpg | Bin .../images}/gauche/gauche0002.jpg | Bin .../images}/gauche/gauche0003.jpg | Bin .../images}/gauche/gauche0004.jpg | Bin .../images}/gauche/gauche0005.jpg | Bin .../images}/gauche/gauche0006.jpg | Bin .../images}/gauche/gauche0007.jpg | Bin .../images}/gauche/gauche0008.jpg | Bin .../images}/gauche/gauche0009.jpg | Bin .../images}/gauche/gauche0010.jpg | Bin .../images}/gauche/gauche0011.jpg | Bin .../images}/gauche/gauche0012.jpg | Bin .../images}/gauche/gauche0013.jpg | Bin .../images}/gauche/gauche0014.jpg | Bin .../images}/gauche/gauche0015.jpg | Bin .../images}/gauche/gauche0016.jpg | Bin .../images}/gauche/gauche0017.jpg | Bin .../images}/gauche/gauche0018.jpg | Bin .../images}/gauche/gauche0019.jpg | Bin .../images}/gauche/gauche0020.jpg | Bin .../images}/gauche/gauche0021.jpg | Bin .../images}/gauche/gauche0022.jpg | Bin .../images}/gauche/gauche0023.jpg | Bin .../images}/gauche/gauche0024.jpg | Bin .../images}/gauche/gauche0025.jpg | Bin .../images}/gauche/gauche0026.jpg | Bin .../images}/gauche/gauche0027.jpg | Bin .../images}/gauche/gauche0028.jpg | Bin .../images}/gauche/gauche0029.jpg | Bin .../images}/gauche/gauche0030.jpg | Bin .../images}/gauche/gauche0031.jpg | Bin .../images}/gauche/gauche0032.jpg | Bin .../images}/gauche/gauche0033.jpg | Bin .../images}/gauche/gauche0034.jpg | Bin .../images}/gauche/gauche0035.jpg | Bin .../images}/gauche/gauche0036.jpg | Bin .../images}/gauche/gauche0037.jpg | Bin .../images}/gauche/gauche0038.jpg | Bin .../images}/gauche/gauche0039.jpg | Bin .../images}/gauche/gauche0040.jpg | Bin .../images}/gauche/gauche0041.jpg | Bin .../images}/gauche/gauche0042.jpg | Bin .../images}/gauche/gauche0043.jpg | Bin .../images}/gauche/gauche0044.jpg | Bin .../images}/gauche/gauche0045.jpg | Bin .../images}/gauche/gauche0046.jpg | Bin .../images}/gauche/gauche0047.jpg | Bin .../images}/gauche/gauche0048.jpg | Bin .../images}/gauche/gauche0049.jpg | Bin .../images}/gauche/gauche0050.jpg | Bin .../images}/gauche/gauche0051.jpg | Bin .../images}/gauche/gauche0052.jpg | Bin .../images}/gauche/gauche0053.jpg | Bin .../images}/gauche/gauche0054.jpg | Bin .../images}/gauche/gauche0055.jpg | Bin .../images}/gauche/gauche0056.jpg | Bin .../images}/gauche/gauche0057.jpg | Bin .../images}/gauche/gauche0058.jpg | Bin .../images}/gauche/gauche0059.jpg | Bin .../images}/gauche/gauche0060.jpg | Bin .../images}/gauche/gauche0061.jpg | Bin .../images}/gauche/gauche0062.jpg | Bin .../images}/gauche/gauche0063.jpg | Bin .../images}/gauche/gauche0064.jpg | Bin .../images}/gauche/gauche0065.jpg | Bin .../images}/gauche/gauche0066.jpg | Bin .../images}/gauche/gauche0067.jpg | Bin .../images}/gauche/gauche0068.jpg | Bin .../images}/gauche/gauche0069.jpg | Bin .../images}/gauche/gauche0070.jpg | Bin .../images}/gauche/gauche0071.jpg | Bin .../images}/gauche/gauche0072.jpg | Bin .../images}/gauche/gauche0073.jpg | Bin .../images}/gauche/gauche0074.jpg | Bin .../images}/gauche/gauche0075.jpg | Bin .../images}/gauche/gauche0076.jpg | Bin .../images}/gauche/gauche0077.jpg | Bin .../images}/gauche/gauche0078.jpg | Bin .../images}/gauche/gauche0079.jpg | Bin .../images}/gauche/gauche0080.jpg | Bin .../images}/gauche/gauche0081.jpg | Bin .../images}/gauche/gauche0082.jpg | Bin .../images}/gauche/gauche0083.jpg | Bin .../images}/gauche/gauche0084.jpg | Bin .../images}/gauche/gauche0085.jpg | Bin .../images}/gauche/gauche0086.jpg | Bin .../images}/gauche/gauche0087.jpg | Bin .../images}/gauche/gauche0088.jpg | Bin .../images}/gauche/gauche0089.jpg | Bin .../images}/gauche/gauche0090.jpg | Bin .../images}/gauche/gauche0091.jpg | Bin .../images}/gauche/gauche0092.jpg | Bin .../images}/gauche/gauche0093.jpg | Bin .../images}/gauche/gauche0094.jpg | Bin .../images}/gauche/gauche0095.jpg | Bin .../images}/gauche/gauche0096.jpg | Bin .../images}/gauche/gauche0097.jpg | Bin .../images}/gauche/gauche0098.jpg | Bin .../images}/gauche/gauche0099.jpg | Bin .../images}/gauche/gauche0100.jpg | Bin .../images}/gauche/gauche0101.jpg | Bin .../images}/gauche/gauche0102.jpg | Bin .../images}/gauche/gauche0103.jpg | Bin .../images}/gauche/gauche0104.jpg | Bin .../images}/gauche/gauche0105.jpg | Bin .../images}/gauche/gauche0106.jpg | Bin .../images}/gauche/gauche0107.jpg | Bin .../images}/gauche/gauche0108.jpg | Bin .../images}/gauche/gauche0109.jpg | Bin .../images}/gauche/gauche0110.jpg | Bin .../images}/gauche/gauche0111.jpg | Bin .../images}/gauche/gauche0112.jpg | Bin .../images}/gauche/gauche0113.jpg | Bin .../images}/gauche/gauche0114.jpg | Bin .../images}/gauche/gauche0115.jpg | Bin .../images}/gauche/gauche0116.jpg | Bin .../images}/gauche/gauche0117.jpg | Bin .../images}/gauche/gauche0118.jpg | Bin .../images}/gauche/gauche0119.jpg | Bin .../images}/gauche/gauche0120.jpg | Bin .../images}/gauche/gauche0121.jpg | Bin .../images}/gauche/gauche0122.jpg | Bin .../images}/gauche/gauche0123.jpg | Bin .../images}/gauche/gauche0124.jpg | Bin .../images}/gauche/gauche0125.jpg | Bin .../images}/gauche/gauche0126.jpg | Bin .../images}/gauche/gauche0127.jpg | Bin .../images}/gauche/gauche0128.jpg | Bin .../images}/gauche/gauche0129.jpg | Bin .../images}/gauche/gauche0130.jpg | Bin .../images}/gauche/gauche0131.jpg | Bin .../images}/gauche/gauche0132.jpg | Bin .../images}/gauche/gauche0133.jpg | Bin .../images}/gauche/gauche0134.jpg | Bin .../images}/gauche/gauche0135.jpg | Bin .../images}/gauche/gauche0136.jpg | Bin .../images}/gauche/gauche0137.jpg | Bin .../images}/gauche/gauche0138.jpg | Bin .../images}/gauche/gauche0139.jpg | Bin .../images}/gauche/gauche0140.jpg | Bin .../images}/gauche/gauche0141.jpg | Bin .../images}/gauche/gauche0142.jpg | Bin .../images}/gauche/gauche0143.jpg | Bin .../images}/gauche/gauche0144.jpg | Bin .../images}/gauche/gauche0145.jpg | Bin .../images}/gauche/gauche0146.jpg | Bin .../images}/gauche/gauche0147.jpg | Bin .../images}/gauche/gauche0148.jpg | Bin .../images}/gauche/gauche0149.jpg | Bin .../images}/gauche/gauche0150.jpg | Bin .../images}/gauche/gauche0151.jpg | Bin .../images}/gauche/gauche0152.jpg | Bin .../images}/gauche/gauche0153.jpg | Bin .../images}/gauche/gauche0154.jpg | Bin .../images}/gauche/gauche0155.jpg | Bin .../images}/gauche/gauche0156.jpg | Bin .../images}/gauche/gauche0157.jpg | Bin .../images}/gauche/gauche0158.jpg | Bin .../images}/gauche/gauche0159.jpg | Bin .../images}/gauche/gauche0160.jpg | Bin .../images}/gauche/gauche0161.jpg | Bin .../images}/gauche/gauche0162.jpg | Bin .../images}/gauche/gauche0163.jpg | Bin .../images}/gauche/gauche0164.jpg | Bin .../images}/gauche/gauche0165.jpg | Bin .../images}/gauche/gauche0166.jpg | Bin .../images}/gauche/gauche0167.jpg | Bin .../images}/gauche/gauche0168.jpg | Bin .../images}/gauche/gauche0169.jpg | Bin .../images}/gauche/gauche0170.jpg | Bin .../images}/gauche/gauche0171.jpg | Bin .../images}/gauche/gauche0172.jpg | Bin .../images}/gauche/gauche0173.jpg | Bin .../images}/gauche/gauche0174.jpg | Bin {videos => learning/videos}/arret | Bin {videos => learning/videos}/avance | Bin {videos => learning/videos}/droite | Bin {videos => learning/videos}/gauche | Bin tests/examples/main.cpp | 41 ++++ tests/examples/test-descripteurs.cpp | 10 +- tests/src/CMakeLists.txt | 4 +- tests/src/math.hpp | 77 ++++++-- 1015 files changed, 611 insertions(+), 20 deletions(-) create mode 100644 learning/code/algo.c create mode 100644 learning/code/algo.h create mode 100644 learning/code/code create mode 100644 learning/code/constant.h create mode 100644 learning/code/data_set.m create mode 100644 learning/code/descripteurfouriernorm.m create mode 100644 learning/code/dict create mode 100644 learning/code/global.c create mode 100644 learning/code/global.h create mode 100644 learning/code/kmoyennes.m create mode 100644 learning/code/learning.m create mode 100644 learning/code/makefile create mode 100644 learning/code/max_contour.m create mode 100755 learning/code/quantvec create mode 100644 learning/code/quantvec.c create mode 100644 learning/code/resconstrdesfour.m create mode 100644 learning/code/rgb_filter.m create mode 100644 learning/code/traitement.h create mode 100644 learning/code/vecteurs rename {images => learning/images}/arret/arret0001.jpg (100%) rename {images => learning/images}/arret/arret0002.jpg (100%) rename {images => learning/images}/arret/arret0003.jpg (100%) rename {images => learning/images}/arret/arret0004.jpg (100%) rename {images => learning/images}/arret/arret0005.jpg (100%) rename {images => learning/images}/arret/arret0006.jpg (100%) rename {images => learning/images}/arret/arret0007.jpg (100%) rename {images => learning/images}/arret/arret0008.jpg (100%) rename {images => learning/images}/arret/arret0009.jpg (100%) rename {images => learning/images}/arret/arret0010.jpg (100%) rename {images => learning/images}/arret/arret0011.jpg (100%) rename {images => learning/images}/arret/arret0012.jpg (100%) rename {images => learning/images}/arret/arret0013.jpg (100%) rename {images => learning/images}/arret/arret0014.jpg (100%) rename {images => learning/images}/arret/arret0015.jpg (100%) rename {images => learning/images}/arret/arret0016.jpg (100%) rename {images => learning/images}/arret/arret0017.jpg (100%) rename {images => learning/images}/arret/arret0018.jpg (100%) rename {images => learning/images}/arret/arret0019.jpg (100%) rename {images => learning/images}/arret/arret0020.jpg (100%) rename {images => learning/images}/arret/arret0021.jpg (100%) rename {images => learning/images}/arret/arret0022.jpg (100%) rename {images => learning/images}/arret/arret0023.jpg (100%) rename {images => learning/images}/arret/arret0024.jpg (100%) rename {images => learning/images}/arret/arret0025.jpg (100%) rename {images => learning/images}/arret/arret0026.jpg (100%) rename {images => learning/images}/arret/arret0027.jpg (100%) rename {images => learning/images}/arret/arret0028.jpg (100%) rename {images => learning/images}/arret/arret0029.jpg (100%) rename {images => learning/images}/arret/arret0030.jpg (100%) rename {images => learning/images}/arret/arret0031.jpg (100%) rename {images => learning/images}/arret/arret0032.jpg (100%) rename {images => learning/images}/arret/arret0033.jpg (100%) rename {images => learning/images}/arret/arret0034.jpg (100%) rename {images => learning/images}/arret/arret0035.jpg (100%) rename {images => learning/images}/arret/arret0036.jpg (100%) rename {images => learning/images}/arret/arret0037.jpg (100%) rename {images => learning/images}/arret/arret0038.jpg (100%) rename {images => learning/images}/arret/arret0039.jpg (100%) rename {images => learning/images}/arret/arret0040.jpg (100%) rename {images => learning/images}/arret/arret0041.jpg (100%) rename {images => learning/images}/arret/arret0042.jpg (100%) rename {images => learning/images}/arret/arret0043.jpg (100%) rename {images => learning/images}/arret/arret0044.jpg (100%) rename {images => learning/images}/arret/arret0045.jpg (100%) rename {images => learning/images}/arret/arret0046.jpg (100%) rename {images => learning/images}/arret/arret0047.jpg (100%) rename {images => learning/images}/arret/arret0048.jpg (100%) rename {images => learning/images}/arret/arret0049.jpg (100%) rename {images => learning/images}/arret/arret0050.jpg (100%) rename {images => learning/images}/arret/arret0051.jpg (100%) rename {images => learning/images}/arret/arret0052.jpg (100%) rename {images => learning/images}/arret/arret0053.jpg (100%) rename {images => learning/images}/arret/arret0054.jpg (100%) rename {images => learning/images}/arret/arret0055.jpg (100%) rename {images => learning/images}/arret/arret0056.jpg (100%) rename {images => learning/images}/arret/arret0057.jpg (100%) rename {images => learning/images}/arret/arret0058.jpg (100%) rename {images => learning/images}/arret/arret0059.jpg (100%) rename {images => learning/images}/arret/arret0060.jpg (100%) rename {images => learning/images}/arret/arret0061.jpg (100%) rename {images => learning/images}/arret/arret0062.jpg (100%) rename {images => learning/images}/arret/arret0063.jpg (100%) rename {images => learning/images}/arret/arret0064.jpg (100%) rename {images => learning/images}/arret/arret0065.jpg (100%) rename {images => learning/images}/arret/arret0066.jpg (100%) rename {images => learning/images}/arret/arret0067.jpg (100%) rename {images => learning/images}/arret/arret0068.jpg (100%) rename {images => learning/images}/arret/arret0069.jpg (100%) rename {images => learning/images}/arret/arret0070.jpg (100%) rename {images => learning/images}/arret/arret0071.jpg (100%) rename {images => learning/images}/arret/arret0072.jpg (100%) rename {images => learning/images}/arret/arret0073.jpg (100%) rename {images => learning/images}/arret/arret0074.jpg (100%) rename {images => learning/images}/arret/arret0075.jpg (100%) rename {images => learning/images}/arret/arret0076.jpg (100%) rename {images => learning/images}/arret/arret0077.jpg (100%) rename {images => learning/images}/arret/arret0078.jpg (100%) rename {images => learning/images}/arret/arret0079.jpg (100%) rename {images => learning/images}/arret/arret0080.jpg (100%) rename {images => learning/images}/arret/arret0081.jpg (100%) rename {images => learning/images}/arret/arret0082.jpg (100%) rename {images => learning/images}/arret/arret0083.jpg (100%) rename {images => learning/images}/arret/arret0084.jpg (100%) rename {images => learning/images}/arret/arret0085.jpg (100%) rename {images => learning/images}/arret/arret0086.jpg (100%) rename {images => learning/images}/arret/arret0087.jpg (100%) rename {images => learning/images}/arret/arret0088.jpg (100%) rename {images => learning/images}/arret/arret0089.jpg (100%) rename {images => learning/images}/arret/arret0090.jpg (100%) rename {images => learning/images}/arret/arret0091.jpg (100%) rename {images => learning/images}/arret/arret0092.jpg (100%) rename {images => learning/images}/arret/arret0093.jpg (100%) rename {images => learning/images}/arret/arret0094.jpg (100%) rename {images => learning/images}/arret/arret0095.jpg (100%) rename {images => learning/images}/arret/arret0096.jpg (100%) rename {images => learning/images}/arret/arret0097.jpg (100%) rename {images => learning/images}/arret/arret0098.jpg (100%) rename {images => learning/images}/arret/arret0099.jpg (100%) rename {images => learning/images}/arret/arret0100.jpg (100%) rename {images => learning/images}/arret/arret0101.jpg (100%) rename {images => learning/images}/arret/arret0102.jpg (100%) rename {images => learning/images}/arret/arret0103.jpg (100%) rename {images => learning/images}/arret/arret0104.jpg (100%) rename {images => learning/images}/arret/arret0105.jpg (100%) rename {images => learning/images}/arret/arret0106.jpg (100%) rename {images => learning/images}/arret/arret0107.jpg (100%) rename {images => learning/images}/arret/arret0108.jpg (100%) rename {images => learning/images}/arret/arret0109.jpg (100%) rename {images => learning/images}/arret/arret0110.jpg (100%) rename {images => learning/images}/arret/arret0111.jpg (100%) rename {images => learning/images}/arret/arret0112.jpg (100%) rename {images => learning/images}/arret/arret0113.jpg (100%) rename {images => learning/images}/arret/arret0114.jpg (100%) rename {images => learning/images}/arret/arret0115.jpg (100%) rename {images => learning/images}/arret/arret0116.jpg (100%) rename {images => learning/images}/arret/arret0117.jpg (100%) rename {images => learning/images}/arret/arret0118.jpg (100%) rename {images => learning/images}/arret/arret0119.jpg (100%) rename {images => learning/images}/arret/arret0120.jpg (100%) rename {images => learning/images}/arret/arret0121.jpg (100%) rename {images => learning/images}/arret/arret0122.jpg (100%) rename {images => learning/images}/arret/arret0123.jpg (100%) rename {images => learning/images}/arret/arret0124.jpg (100%) rename {images => learning/images}/arret/arret0125.jpg (100%) rename {images => learning/images}/arret/arret0126.jpg (100%) rename {images => learning/images}/arret/arret0127.jpg (100%) rename {images => learning/images}/arret/arret0128.jpg (100%) rename {images => learning/images}/arret/arret0129.jpg (100%) rename {images => learning/images}/arret/arret0130.jpg (100%) rename {images => learning/images}/arret/arret0131.jpg (100%) rename {images => learning/images}/arret/arret0132.jpg (100%) rename {images => learning/images}/arret/arret0133.jpg (100%) rename {images => learning/images}/arret/arret0134.jpg (100%) rename {images => learning/images}/arret/arret0135.jpg (100%) rename {images => learning/images}/arret/arret0136.jpg (100%) rename {images => learning/images}/arret/arret0137.jpg (100%) rename {images => learning/images}/arret/arret0138.jpg (100%) rename {images => learning/images}/arret/arret0139.jpg (100%) rename {images => learning/images}/arret/arret0140.jpg (100%) rename {images => learning/images}/arret/arret0141.jpg (100%) rename {images => learning/images}/arret/arret0142.jpg (100%) rename {images => learning/images}/arret/arret0143.jpg (100%) rename {images => learning/images}/arret/arret0144.jpg (100%) rename {images => learning/images}/arret/arret0145.jpg (100%) rename {images => learning/images}/arret/arret0146.jpg (100%) rename {images => learning/images}/arret/arret0147.jpg (100%) rename {images => learning/images}/arret/arret0148.jpg (100%) rename {images => learning/images}/arret/arret0149.jpg (100%) rename {images => learning/images}/arret/arret0150.jpg (100%) rename {images => learning/images}/arret/arret0151.jpg (100%) rename {images => learning/images}/arret/arret0152.jpg (100%) rename {images => learning/images}/arret/arret0153.jpg (100%) rename {images => learning/images}/arret/arret0154.jpg (100%) rename {images => learning/images}/arret/arret0155.jpg (100%) rename {images => learning/images}/arret/arret0156.jpg (100%) rename {images => learning/images}/arret/arret0157.jpg (100%) rename {images => learning/images}/arret/arret0158.jpg (100%) rename {images => learning/images}/arret/arret0159.jpg (100%) rename {images => learning/images}/arret/arret0160.jpg (100%) rename {images => learning/images}/arret/arret0161.jpg (100%) rename {images => learning/images}/arret/arret0162.jpg (100%) rename {images => learning/images}/arret/arret0163.jpg (100%) rename {images => learning/images}/arret/arret0164.jpg (100%) rename {images => learning/images}/arret/arret0165.jpg (100%) rename {images => learning/images}/arret/arret0166.jpg (100%) rename {images => learning/images}/arret/arret0167.jpg (100%) rename {images => learning/images}/arret/arret0168.jpg (100%) rename {images => learning/images}/arret/arret0169.jpg (100%) rename {images => learning/images}/arret/arret0170.jpg (100%) rename {images => learning/images}/arret/arret0171.jpg (100%) rename {images => learning/images}/arret/arret0172.jpg (100%) rename {images => learning/images}/arret/arret0173.jpg (100%) rename {images => learning/images}/arret/arret0174.jpg (100%) rename {images => learning/images}/arret/arret0175.jpg (100%) rename {images => learning/images}/arret/arret0176.jpg (100%) rename {images => learning/images}/arret/arret0177.jpg (100%) rename {images => learning/images}/arret/arret0178.jpg (100%) rename {images => learning/images}/arret/arret0179.jpg (100%) rename {images => learning/images}/arret/arret0180.jpg (100%) rename {images => learning/images}/arret/arret0181.jpg (100%) rename {images => learning/images}/arret/arret0182.jpg (100%) rename {images => learning/images}/arret/arret0183.jpg (100%) rename {images => learning/images}/arret/arret0184.jpg (100%) rename {images => learning/images}/arret/arret0185.jpg (100%) rename {images => learning/images}/arret/arret0186.jpg (100%) rename {images => learning/images}/arret/arret0187.jpg (100%) rename {images => learning/images}/arret/arret0188.jpg (100%) rename {images => learning/images}/arret/arret0189.jpg (100%) rename {images => learning/images}/arret/arret0190.jpg (100%) rename {images => learning/images}/arret/arret0191.jpg (100%) rename {images => learning/images}/arret/arret0192.jpg (100%) rename {images => learning/images}/arret/arret0193.jpg (100%) rename {images => learning/images}/arret/arret0194.jpg (100%) rename {images => learning/images}/arret/arret0195.jpg (100%) rename {images => learning/images}/arret/arret0196.jpg (100%) rename {images => learning/images}/arret/arret0197.jpg (100%) rename {images => learning/images}/arret/arret0198.jpg (100%) rename {images => learning/images}/arret/arret0199.jpg (100%) rename {images => learning/images}/arret/arret0200.jpg (100%) rename {images => learning/images}/arret/arret0201.jpg (100%) rename {images => learning/images}/arret/arret0202.jpg (100%) rename {images => learning/images}/arret/arret0203.jpg (100%) rename {images => learning/images}/arret/arret0204.jpg (100%) rename {images => learning/images}/arret/arret0205.jpg (100%) rename {images => learning/images}/arret/arret0206.jpg (100%) rename {images => learning/images}/arret/arret0207.jpg (100%) rename {images => learning/images}/arret/arret0208.jpg (100%) rename {images => learning/images}/arret/arret0209.jpg (100%) rename {images => learning/images}/arret/arret0210.jpg (100%) rename {images => learning/images}/arret/arret0211.jpg (100%) rename {images => learning/images}/arret/arret0212.jpg (100%) rename {images => learning/images}/arret/arret0213.jpg (100%) rename {images => learning/images}/arret/arret0214.jpg (100%) rename {images => learning/images}/arret/arret0215.jpg (100%) rename {images => learning/images}/arret/arret0216.jpg (100%) rename {images => learning/images}/arret/arret0217.jpg (100%) rename {images => learning/images}/arret/arret0218.jpg (100%) rename {images => learning/images}/avance/avance0001.jpg (100%) rename {images => learning/images}/avance/avance0002.jpg (100%) rename {images => learning/images}/avance/avance0003.jpg (100%) rename {images => learning/images}/avance/avance0004.jpg (100%) rename {images => learning/images}/avance/avance0005.jpg (100%) rename {images => learning/images}/avance/avance0006.jpg (100%) rename {images => learning/images}/avance/avance0007.jpg (100%) rename {images => learning/images}/avance/avance0008.jpg (100%) rename {images => learning/images}/avance/avance0009.jpg (100%) rename {images => learning/images}/avance/avance0010.jpg (100%) rename {images => learning/images}/avance/avance0011.jpg (100%) rename {images => learning/images}/avance/avance0012.jpg (100%) rename {images => learning/images}/avance/avance0013.jpg (100%) rename {images => learning/images}/avance/avance0014.jpg (100%) rename {images => learning/images}/avance/avance0015.jpg (100%) rename {images => learning/images}/avance/avance0016.jpg (100%) rename {images => learning/images}/avance/avance0017.jpg (100%) rename {images => learning/images}/avance/avance0018.jpg (100%) rename {images => learning/images}/avance/avance0019.jpg (100%) rename {images => learning/images}/avance/avance0020.jpg (100%) rename {images => learning/images}/avance/avance0021.jpg (100%) rename {images => learning/images}/avance/avance0022.jpg (100%) rename {images => learning/images}/avance/avance0023.jpg (100%) rename {images => learning/images}/avance/avance0024.jpg (100%) rename {images => learning/images}/avance/avance0025.jpg (100%) rename {images => learning/images}/avance/avance0026.jpg (100%) rename {images => learning/images}/avance/avance0027.jpg (100%) rename {images => learning/images}/avance/avance0028.jpg (100%) rename {images => learning/images}/avance/avance0029.jpg (100%) rename {images => learning/images}/avance/avance0030.jpg (100%) rename {images => learning/images}/avance/avance0031.jpg (100%) rename {images => learning/images}/avance/avance0032.jpg (100%) rename {images => learning/images}/avance/avance0033.jpg (100%) rename {images => learning/images}/avance/avance0034.jpg (100%) rename {images => learning/images}/avance/avance0035.jpg (100%) rename {images => learning/images}/avance/avance0036.jpg (100%) rename {images => learning/images}/avance/avance0037.jpg (100%) rename {images => learning/images}/avance/avance0038.jpg (100%) rename {images => learning/images}/avance/avance0039.jpg (100%) rename {images => learning/images}/avance/avance0040.jpg (100%) rename {images => learning/images}/avance/avance0041.jpg (100%) rename {images => learning/images}/avance/avance0042.jpg (100%) rename {images => learning/images}/avance/avance0043.jpg (100%) rename {images => learning/images}/avance/avance0044.jpg (100%) rename {images => learning/images}/avance/avance0045.jpg (100%) rename {images => learning/images}/avance/avance0046.jpg (100%) rename {images => learning/images}/avance/avance0047.jpg (100%) rename {images => learning/images}/avance/avance0048.jpg (100%) rename {images => learning/images}/avance/avance0049.jpg (100%) rename {images => learning/images}/avance/avance0050.jpg (100%) rename {images => learning/images}/avance/avance0051.jpg (100%) rename {images => learning/images}/avance/avance0052.jpg (100%) rename {images => learning/images}/avance/avance0053.jpg (100%) rename {images => learning/images}/avance/avance0054.jpg (100%) rename {images => learning/images}/avance/avance0055.jpg (100%) rename {images => learning/images}/avance/avance0056.jpg (100%) rename {images => learning/images}/avance/avance0057.jpg (100%) rename {images => learning/images}/avance/avance0058.jpg (100%) rename {images => learning/images}/avance/avance0059.jpg (100%) rename {images => learning/images}/avance/avance0060.jpg (100%) rename {images => learning/images}/avance/avance0061.jpg (100%) rename {images => learning/images}/avance/avance0062.jpg (100%) rename {images => learning/images}/avance/avance0063.jpg (100%) rename {images => learning/images}/avance/avance0064.jpg (100%) rename {images => learning/images}/avance/avance0065.jpg (100%) rename {images => learning/images}/avance/avance0066.jpg (100%) rename {images => learning/images}/avance/avance0067.jpg (100%) rename {images => learning/images}/avance/avance0068.jpg (100%) rename {images => learning/images}/avance/avance0069.jpg (100%) rename {images => learning/images}/avance/avance0070.jpg (100%) rename {images => learning/images}/avance/avance0071.jpg (100%) rename {images => learning/images}/avance/avance0072.jpg (100%) rename {images => learning/images}/avance/avance0073.jpg (100%) rename {images => learning/images}/avance/avance0074.jpg (100%) rename {images => learning/images}/avance/avance0075.jpg (100%) rename {images => learning/images}/avance/avance0076.jpg (100%) rename {images => learning/images}/avance/avance0077.jpg (100%) rename {images => learning/images}/avance/avance0078.jpg (100%) rename {images => learning/images}/avance/avance0079.jpg (100%) rename {images => learning/images}/avance/avance0080.jpg (100%) rename {images => learning/images}/avance/avance0081.jpg (100%) rename {images => learning/images}/avance/avance0082.jpg (100%) rename {images => learning/images}/avance/avance0083.jpg (100%) rename {images => learning/images}/avance/avance0084.jpg (100%) rename {images => learning/images}/avance/avance0085.jpg (100%) rename {images => learning/images}/avance/avance0086.jpg (100%) rename {images => learning/images}/avance/avance0087.jpg (100%) rename {images => learning/images}/avance/avance0088.jpg (100%) rename {images => learning/images}/avance/avance0089.jpg (100%) rename {images => learning/images}/avance/avance0090.jpg (100%) rename {images => learning/images}/avance/avance0091.jpg (100%) rename {images => learning/images}/avance/avance0092.jpg (100%) rename {images => learning/images}/avance/avance0093.jpg (100%) rename {images => learning/images}/avance/avance0094.jpg (100%) rename {images => learning/images}/avance/avance0095.jpg (100%) rename {images => learning/images}/avance/avance0096.jpg (100%) rename {images => learning/images}/avance/avance0097.jpg (100%) rename {images => learning/images}/avance/avance0098.jpg (100%) rename {images => learning/images}/avance/avance0099.jpg (100%) rename {images => learning/images}/avance/avance0100.jpg (100%) rename {images => learning/images}/avance/avance0101.jpg (100%) rename {images => learning/images}/avance/avance0102.jpg (100%) rename {images => learning/images}/avance/avance0103.jpg (100%) rename {images => learning/images}/avance/avance0104.jpg (100%) rename {images => learning/images}/avance/avance0105.jpg (100%) rename {images => learning/images}/avance/avance0106.jpg (100%) rename {images => learning/images}/avance/avance0107.jpg (100%) rename {images => learning/images}/avance/avance0108.jpg (100%) rename {images => learning/images}/avance/avance0109.jpg (100%) rename {images => learning/images}/avance/avance0110.jpg (100%) rename {images => learning/images}/avance/avance0111.jpg (100%) rename {images => learning/images}/avance/avance0112.jpg (100%) rename {images => learning/images}/avance/avance0113.jpg (100%) rename {images => learning/images}/avance/avance0114.jpg (100%) rename {images => learning/images}/avance/avance0115.jpg (100%) rename {images => learning/images}/avance/avance0116.jpg (100%) rename {images => learning/images}/avance/avance0117.jpg (100%) rename {images => learning/images}/avance/avance0118.jpg (100%) rename {images => learning/images}/avance/avance0119.jpg (100%) rename {images => learning/images}/avance/avance0120.jpg (100%) rename {images => learning/images}/avance/avance0121.jpg (100%) rename {images => learning/images}/avance/avance0122.jpg (100%) rename {images => learning/images}/avance/avance0123.jpg (100%) rename {images => learning/images}/avance/avance0124.jpg (100%) rename {images => learning/images}/avance/avance0125.jpg (100%) rename {images => learning/images}/avance/avance0126.jpg (100%) rename {images => learning/images}/avance/avance0127.jpg (100%) rename {images => learning/images}/avance/avance0128.jpg (100%) rename {images => learning/images}/avance/avance0129.jpg (100%) rename {images => learning/images}/avance/avance0130.jpg (100%) rename {images => learning/images}/avance/avance0131.jpg (100%) rename {images => learning/images}/avance/avance0132.jpg (100%) rename {images => learning/images}/avance/avance0133.jpg (100%) rename {images => learning/images}/avance/avance0134.jpg (100%) rename {images => learning/images}/avance/avance0135.jpg (100%) rename {images => learning/images}/avance/avance0136.jpg (100%) rename {images => learning/images}/avance/avance0137.jpg (100%) rename {images => learning/images}/avance/avance0138.jpg (100%) rename {images => learning/images}/avance/avance0139.jpg (100%) rename {images => learning/images}/avance/avance0140.jpg (100%) rename {images => learning/images}/avance/avance0141.jpg (100%) rename {images => learning/images}/avance/avance0142.jpg (100%) rename {images => learning/images}/avance/avance0143.jpg (100%) rename {images => learning/images}/avance/avance0144.jpg (100%) rename {images => learning/images}/avance/avance0145.jpg (100%) rename {images => learning/images}/avance/avance0146.jpg (100%) rename {images => learning/images}/avance/avance0147.jpg (100%) rename {images => learning/images}/avance/avance0148.jpg (100%) rename {images => learning/images}/avance/avance0149.jpg (100%) rename {images => learning/images}/avance/avance0150.jpg (100%) rename {images => learning/images}/avance/avance0151.jpg (100%) rename {images => learning/images}/avance/avance0152.jpg (100%) rename {images => learning/images}/avance/avance0153.jpg (100%) rename {images => learning/images}/avance/avance0154.jpg (100%) rename {images => learning/images}/avance/avance0155.jpg (100%) rename {images => learning/images}/avance/avance0156.jpg (100%) rename {images => learning/images}/avance/avance0157.jpg (100%) rename {images => learning/images}/avance/avance0158.jpg (100%) rename {images => learning/images}/avance/avance0159.jpg (100%) rename {images => learning/images}/avance/avance0160.jpg (100%) rename {images => learning/images}/avance/avance0161.jpg (100%) rename {images => learning/images}/avance/avance0162.jpg (100%) rename {images => learning/images}/avance/avance0163.jpg (100%) rename {images => learning/images}/avance/avance0164.jpg (100%) rename {images => learning/images}/avance/avance0165.jpg (100%) rename {images => learning/images}/avance/avance0166.jpg (100%) rename {images => learning/images}/avance/avance0167.jpg (100%) rename {images => learning/images}/avance/avance0168.jpg (100%) rename {images => learning/images}/avance/avance0169.jpg (100%) rename {images => learning/images}/avance/avance0170.jpg (100%) rename {images => learning/images}/avance/avance0171.jpg (100%) rename {images => learning/images}/avance/avance0172.jpg (100%) rename {images => learning/images}/avance/avance0173.jpg (100%) rename {images => learning/images}/avance/avance0174.jpg (100%) rename {images => learning/images}/avance/avance0175.jpg (100%) rename {images => learning/images}/avance/avance0176.jpg (100%) rename {images => learning/images}/avance/avance0177.jpg (100%) rename {images => learning/images}/avance/avance0178.jpg (100%) rename {images => learning/images}/avance/avance0179.jpg (100%) rename {images => learning/images}/avance/avance0180.jpg (100%) rename {images => learning/images}/avance/avance0181.jpg (100%) rename {images => learning/images}/avance/avance0182.jpg (100%) rename {images => learning/images}/avance/avance0183.jpg (100%) rename {images => learning/images}/avance/avance0184.jpg (100%) rename {images => learning/images}/avance/avance0185.jpg (100%) rename {images => learning/images}/avance/avance0186.jpg (100%) rename {images => learning/images}/avance/avance0187.jpg (100%) rename {images => learning/images}/avance/avance0188.jpg (100%) rename {images => learning/images}/avance/avance0189.jpg (100%) rename {images => learning/images}/avance/avance0190.jpg (100%) rename {images => learning/images}/avance/avance0191.jpg (100%) rename {images => learning/images}/avance/avance0192.jpg (100%) rename {images => learning/images}/avance/avance0193.jpg (100%) rename {images => learning/images}/avance/avance0194.jpg (100%) rename {images => learning/images}/avance/avance0195.jpg (100%) rename {images => learning/images}/avance/avance0196.jpg (100%) rename {images => learning/images}/avance/avance0197.jpg (100%) rename {images => learning/images}/avance/avance0198.jpg (100%) rename {images => learning/images}/avance/avance0199.jpg (100%) rename {images => learning/images}/avance/avance0200.jpg (100%) rename {images => learning/images}/avance/avance0201.jpg (100%) rename {images => learning/images}/avance/avance0202.jpg (100%) rename {images => learning/images}/avance/avance0203.jpg (100%) rename {images => learning/images}/avance/avance0204.jpg (100%) rename {images => learning/images}/avance/avance0205.jpg (100%) rename {images => learning/images}/avance/avance0206.jpg (100%) rename {images => learning/images}/avance/avance0207.jpg (100%) rename {images => learning/images}/avance/avance0208.jpg (100%) rename {images => learning/images}/avance/avance0209.jpg (100%) rename {images => learning/images}/avance/avance0210.jpg (100%) rename {images => learning/images}/avance/avance0211.jpg (100%) rename {images => learning/images}/avance/avance0212.jpg (100%) rename {images => learning/images}/avance/avance0213.jpg (100%) rename {images => learning/images}/avance/avance0214.jpg (100%) rename {images => learning/images}/avance/avance0215.jpg (100%) rename {images => learning/images}/avance/avance0216.jpg (100%) rename {images => learning/images}/avance/avance0217.jpg (100%) rename {images => learning/images}/avance/avance0218.jpg (100%) rename {images => learning/images}/avance/avance0219.jpg (100%) rename {images => learning/images}/avance/avance0220.jpg (100%) rename {images => learning/images}/avance/avance0221.jpg (100%) rename {images => learning/images}/avance/avance0222.jpg (100%) rename {images => learning/images}/avance/avance0223.jpg (100%) rename {images => learning/images}/avance/avance0224.jpg (100%) rename {images => learning/images}/avance/avance0225.jpg (100%) rename {images => learning/images}/avance/avance0226.jpg (100%) rename {images => learning/images}/avance/avance0227.jpg (100%) rename {images => learning/images}/avance/avance0228.jpg (100%) rename {images => learning/images}/avance/avance0229.jpg (100%) rename {images => learning/images}/avance/avance0230.jpg (100%) rename {images => learning/images}/avance/avance0231.jpg (100%) rename {images => learning/images}/avance/avance0232.jpg (100%) rename {images => learning/images}/avance/avance0233.jpg (100%) rename {images => learning/images}/avance/avance0234.jpg (100%) rename {images => learning/images}/avance/avance0235.jpg (100%) rename {images => learning/images}/avance/avance0236.jpg (100%) rename {images => learning/images}/avance/avance0237.jpg (100%) rename {images => learning/images}/avance/avance0238.jpg (100%) rename {images => learning/images}/avance/avance0239.jpg (100%) rename {images => learning/images}/avance/avance0240.jpg (100%) rename {images => learning/images}/avance/avance0241.jpg (100%) rename {images => learning/images}/avance/avance0242.jpg (100%) rename {images => learning/images}/avance/avance0243.jpg (100%) rename {images => learning/images}/avance/avance0244.jpg (100%) rename {images => learning/images}/avance/avance0245.jpg (100%) rename {images => learning/images}/avance/avance0246.jpg (100%) rename {images => learning/images}/avance/avance0247.jpg (100%) rename {images => learning/images}/avance/avance0248.jpg (100%) rename {images => learning/images}/avance/avance0249.jpg (100%) rename {images => learning/images}/avance/avance0250.jpg (100%) rename {images => learning/images}/avance/avance0251.jpg (100%) rename {images => learning/images}/avance/avance0252.jpg (100%) rename {images => learning/images}/avance/avance0253.jpg (100%) rename {images => learning/images}/avance/avance0254.jpg (100%) rename {images => learning/images}/avance/avance0255.jpg (100%) rename {images => learning/images}/avance/avance0256.jpg (100%) rename {images => learning/images}/avance/avance0257.jpg (100%) rename {images => learning/images}/avance/avance0258.jpg (100%) rename {images => learning/images}/avance/avance0259.jpg (100%) rename {images => learning/images}/avance/avance0260.jpg (100%) rename {images => learning/images}/avance/avance0261.jpg (100%) rename {images => learning/images}/avance/avance0262.jpg (100%) rename {images => learning/images}/avance/avance0263.jpg (100%) rename {images => learning/images}/avance/avance0264.jpg (100%) rename {images => learning/images}/avance/avance0265.jpg (100%) rename {images => learning/images}/avance/avance0266.jpg (100%) rename {images => learning/images}/avance/avance0267.jpg (100%) rename {images => learning/images}/avance/avance0268.jpg (100%) rename {images => learning/images}/avance/avance0269.jpg (100%) rename {images => learning/images}/avance/avance0270.jpg (100%) rename {images => learning/images}/avance/avance0271.jpg (100%) rename {images => learning/images}/avance/avance0272.jpg (100%) rename {images => learning/images}/avance/avance0273.jpg (100%) rename {images => learning/images}/avance/avance0274.jpg (100%) rename {images => learning/images}/avance/avance0275.jpg (100%) rename {images => learning/images}/avance/avance0276.jpg (100%) rename {images => learning/images}/avance/avance0277.jpg (100%) rename {images => learning/images}/avance/avance0278.jpg (100%) rename {images => learning/images}/avance/avance0279.jpg (100%) rename {images => learning/images}/avance/avance0280.jpg (100%) rename {images => learning/images}/avance/avance0281.jpg (100%) rename {images => learning/images}/avance/avance0282.jpg (100%) rename {images => learning/images}/avance/avance0283.jpg (100%) rename {images => learning/images}/avance/avance0284.jpg (100%) rename {images => learning/images}/avance/avance0285.jpg (100%) rename {images => learning/images}/avance/avance0286.jpg (100%) rename {images => learning/images}/avance/avance0287.jpg (100%) rename {images => learning/images}/avance/avance0288.jpg (100%) rename {images => learning/images}/avance/avance0289.jpg (100%) rename {images => learning/images}/avance/avance0290.jpg (100%) rename {images => learning/images}/avance/avance0291.jpg (100%) rename {images => learning/images}/avance/avance0292.jpg (100%) rename {images => learning/images}/avance/avance0293.jpg (100%) rename {images => learning/images}/avance/avance0294.jpg (100%) rename {images => learning/images}/avance/avance0295.jpg (100%) rename {images => learning/images}/avance/avance0296.jpg (100%) rename {images => learning/images}/avance/avance0297.jpg (100%) rename {images => learning/images}/avance/avance0298.jpg (100%) rename {images => learning/images}/avance/avance0299.jpg (100%) rename {images => learning/images}/avance/avance0300.jpg (100%) rename {images => learning/images}/avance/avance0301.jpg (100%) rename {images => learning/images}/avance/avance0302.jpg (100%) rename {images => learning/images}/avance/avance0303.jpg (100%) rename {images => learning/images}/avance/avance0304.jpg (100%) rename {images => learning/images}/avance/avance0305.jpg (100%) rename {images => learning/images}/avance/avance0306.jpg (100%) rename {images => learning/images}/avance/avance0307.jpg (100%) rename {images => learning/images}/avance/avance0308.jpg (100%) rename {images => learning/images}/avance/avance0309.jpg (100%) rename {images => learning/images}/avance/avance0310.jpg (100%) rename {images => learning/images}/avance/avance0311.jpg (100%) rename {images => learning/images}/avance/avance0312.jpg (100%) rename {images => learning/images}/avance/avance0313.jpg (100%) rename {images => learning/images}/avance/avance0314.jpg (100%) rename {images => learning/images}/avance/avance0315.jpg (100%) rename {images => learning/images}/avance/avance0316.jpg (100%) rename {images => learning/images}/avance/avance0317.jpg (100%) rename {images => learning/images}/avance/avance0318.jpg (100%) rename {images => learning/images}/avance/avance0319.jpg (100%) rename {images => learning/images}/avance/avance0320.jpg (100%) rename {images => learning/images}/avance/avance0321.jpg (100%) rename {images => learning/images}/avance/avance0322.jpg (100%) rename {images => learning/images}/avance/avance0323.jpg (100%) rename {images => learning/images}/avance/avance0324.jpg (100%) rename {images => learning/images}/avance/avance0325.jpg (100%) rename {images => learning/images}/avance/avance0326.jpg (100%) rename {images => learning/images}/avance/avance0327.jpg (100%) rename {images => learning/images}/avance/avance0328.jpg (100%) rename {images => learning/images}/avance/avance0329.jpg (100%) rename {images => learning/images}/avance/avance0330.jpg (100%) rename {images => learning/images}/avance/avance0331.jpg (100%) rename {images => learning/images}/avance/avance0332.jpg (100%) rename {images => learning/images}/avance/avance0333.jpg (100%) rename {images => learning/images}/avance/avance0334.jpg (100%) rename {images => learning/images}/avance/avance0335.jpg (100%) rename {images => learning/images}/avance/avance0336.jpg (100%) rename {images => learning/images}/avance/avance0337.jpg (100%) rename {images => learning/images}/avance/avance0338.jpg (100%) rename {images => learning/images}/avance/avance0339.jpg (100%) rename {images => learning/images}/avance/avance0340.jpg (100%) rename {images => learning/images}/avance/avance0341.jpg (100%) rename {images => learning/images}/avance/avance0342.jpg (100%) rename {images => learning/images}/avance/avance0343.jpg (100%) rename {images => learning/images}/avance/avance0344.jpg (100%) rename {images => learning/images}/avance/avance0345.jpg (100%) rename {images => learning/images}/avance/avance0346.jpg (100%) rename {images => learning/images}/avance/avance0347.jpg (100%) rename {images => learning/images}/avance/avance0348.jpg (100%) rename {images => learning/images}/avance/avance0349.jpg (100%) rename {images => learning/images}/avance/avance0350.jpg (100%) rename {images => learning/images}/avance/avance0351.jpg (100%) rename {images => learning/images}/avance/avance0352.jpg (100%) rename {images => learning/images}/avance/avance0353.jpg (100%) rename {images => learning/images}/avance/avance0354.jpg (100%) rename {images => learning/images}/avance/avance0355.jpg (100%) rename {images => learning/images}/avance/avance0356.jpg (100%) rename {images => learning/images}/avance/avance0357.jpg (100%) rename {images => learning/images}/avance/avance0358.jpg (100%) rename {images => learning/images}/avance/avance0359.jpg (100%) rename {images => learning/images}/avance/avance0360.jpg (100%) rename {images => learning/images}/avance/avance0361.jpg (100%) rename {images => learning/images}/avance/avance0362.jpg (100%) rename {images => learning/images}/avance/avance0363.jpg (100%) rename {images => learning/images}/avance/avance0364.jpg (100%) rename {images => learning/images}/avance/avance0365.jpg (100%) rename {images => learning/images}/avance/avance0366.jpg (100%) rename {images => learning/images}/avance/avance0367.jpg (100%) rename {images => learning/images}/avance/avance0368.jpg (100%) rename {images => learning/images}/avance/avance0369.jpg (100%) rename {images => learning/images}/avance/avance0370.jpg (100%) rename {images => learning/images}/avance/avance0371.jpg (100%) rename {images => learning/images}/avance/avance0372.jpg (100%) rename {images => learning/images}/avance/avance0373.jpg (100%) rename {images => learning/images}/avance/avance0374.jpg (100%) rename {images => learning/images}/avance/avance0375.jpg (100%) rename {images => learning/images}/avance/avance0376.jpg (100%) rename {images => learning/images}/avance/avance0377.jpg (100%) rename {images => learning/images}/avance/avance0378.jpg (100%) rename {images => learning/images}/avance/avance0379.jpg (100%) rename {images => learning/images}/avance/avance0380.jpg (100%) rename {images => learning/images}/avance/avance0381.jpg (100%) rename {images => learning/images}/avance/avance0382.jpg (100%) rename {images => learning/images}/avance/avance0383.jpg (100%) rename {images => learning/images}/avance/avance0384.jpg (100%) rename {images => learning/images}/avance/avance0385.jpg (100%) rename {images => learning/images}/avance/avance0386.jpg (100%) rename {images => learning/images}/droite/droite0001.jpg (100%) rename {images => learning/images}/droite/droite0002.jpg (100%) rename {images => learning/images}/droite/droite0003.jpg (100%) rename {images => learning/images}/droite/droite0004.jpg (100%) rename {images => learning/images}/droite/droite0005.jpg (100%) rename {images => learning/images}/droite/droite0006.jpg (100%) rename {images => learning/images}/droite/droite0007.jpg (100%) rename {images => learning/images}/droite/droite0008.jpg (100%) rename {images => learning/images}/droite/droite0009.jpg (100%) rename {images => learning/images}/droite/droite0010.jpg (100%) rename {images => learning/images}/droite/droite0011.jpg (100%) rename {images => learning/images}/droite/droite0012.jpg (100%) rename {images => learning/images}/droite/droite0013.jpg (100%) rename {images => learning/images}/droite/droite0014.jpg (100%) rename {images => learning/images}/droite/droite0015.jpg (100%) rename {images => learning/images}/droite/droite0016.jpg (100%) rename {images => learning/images}/droite/droite0017.jpg (100%) rename {images => learning/images}/droite/droite0018.jpg (100%) rename {images => learning/images}/droite/droite0019.jpg (100%) rename {images => learning/images}/droite/droite0020.jpg (100%) rename {images => learning/images}/droite/droite0021.jpg (100%) rename {images => learning/images}/droite/droite0022.jpg (100%) rename {images => learning/images}/droite/droite0023.jpg (100%) rename {images => learning/images}/droite/droite0024.jpg (100%) rename {images => learning/images}/droite/droite0025.jpg (100%) rename {images => learning/images}/droite/droite0026.jpg (100%) rename {images => learning/images}/droite/droite0027.jpg (100%) rename {images => learning/images}/droite/droite0028.jpg (100%) rename {images => learning/images}/droite/droite0029.jpg (100%) rename {images => learning/images}/droite/droite0030.jpg (100%) rename {images => learning/images}/droite/droite0031.jpg (100%) rename {images => learning/images}/droite/droite0032.jpg (100%) rename {images => learning/images}/droite/droite0033.jpg (100%) rename {images => learning/images}/droite/droite0034.jpg (100%) rename {images => learning/images}/droite/droite0035.jpg (100%) rename {images => learning/images}/droite/droite0036.jpg (100%) rename {images => learning/images}/droite/droite0037.jpg (100%) rename {images => learning/images}/droite/droite0038.jpg (100%) rename {images => learning/images}/droite/droite0039.jpg (100%) rename {images => learning/images}/droite/droite0040.jpg (100%) rename {images => learning/images}/droite/droite0041.jpg (100%) rename {images => learning/images}/droite/droite0042.jpg (100%) rename {images => learning/images}/droite/droite0043.jpg (100%) rename {images => learning/images}/droite/droite0044.jpg (100%) rename {images => learning/images}/droite/droite0045.jpg (100%) rename {images => learning/images}/droite/droite0046.jpg (100%) rename {images => learning/images}/droite/droite0047.jpg (100%) rename {images => learning/images}/droite/droite0048.jpg (100%) rename {images => learning/images}/droite/droite0049.jpg (100%) rename {images => learning/images}/droite/droite0050.jpg (100%) rename {images => learning/images}/droite/droite0051.jpg (100%) rename {images => learning/images}/droite/droite0052.jpg (100%) rename {images => learning/images}/droite/droite0053.jpg (100%) rename {images => learning/images}/droite/droite0054.jpg (100%) rename {images => learning/images}/droite/droite0055.jpg (100%) rename {images => learning/images}/droite/droite0056.jpg (100%) rename {images => learning/images}/droite/droite0057.jpg (100%) rename {images => learning/images}/droite/droite0058.jpg (100%) rename {images => learning/images}/droite/droite0059.jpg (100%) rename {images => learning/images}/droite/droite0060.jpg (100%) rename {images => learning/images}/droite/droite0061.jpg (100%) rename {images => learning/images}/droite/droite0062.jpg (100%) rename {images => learning/images}/droite/droite0063.jpg (100%) rename {images => learning/images}/droite/droite0064.jpg (100%) rename {images => learning/images}/droite/droite0065.jpg (100%) rename {images => learning/images}/droite/droite0066.jpg (100%) rename {images => learning/images}/droite/droite0067.jpg (100%) rename {images => learning/images}/droite/droite0068.jpg (100%) rename {images => learning/images}/droite/droite0069.jpg (100%) rename {images => learning/images}/droite/droite0070.jpg (100%) rename {images => learning/images}/droite/droite0071.jpg (100%) rename {images => learning/images}/droite/droite0072.jpg (100%) rename {images => learning/images}/droite/droite0073.jpg (100%) rename {images => learning/images}/droite/droite0074.jpg (100%) rename {images => learning/images}/droite/droite0075.jpg (100%) rename {images => learning/images}/droite/droite0076.jpg (100%) rename {images => learning/images}/droite/droite0077.jpg (100%) rename {images => learning/images}/droite/droite0078.jpg (100%) rename {images => learning/images}/droite/droite0079.jpg (100%) rename {images => learning/images}/droite/droite0080.jpg (100%) rename {images => learning/images}/droite/droite0081.jpg (100%) rename {images => learning/images}/droite/droite0082.jpg (100%) rename {images => learning/images}/droite/droite0083.jpg (100%) rename {images => learning/images}/droite/droite0084.jpg (100%) rename {images => learning/images}/droite/droite0085.jpg (100%) rename {images => learning/images}/droite/droite0086.jpg (100%) rename {images => learning/images}/droite/droite0087.jpg (100%) rename {images => learning/images}/droite/droite0088.jpg (100%) rename {images => learning/images}/droite/droite0089.jpg (100%) rename {images => learning/images}/droite/droite0090.jpg (100%) rename {images => learning/images}/droite/droite0091.jpg (100%) rename {images => learning/images}/droite/droite0092.jpg (100%) rename {images => learning/images}/droite/droite0093.jpg (100%) rename {images => learning/images}/droite/droite0094.jpg (100%) rename {images => learning/images}/droite/droite0095.jpg (100%) rename {images => learning/images}/droite/droite0096.jpg (100%) rename {images => learning/images}/droite/droite0097.jpg (100%) rename {images => learning/images}/droite/droite0098.jpg (100%) rename {images => learning/images}/droite/droite0099.jpg (100%) rename {images => learning/images}/droite/droite0100.jpg (100%) rename {images => learning/images}/droite/droite0101.jpg (100%) rename {images => learning/images}/droite/droite0102.jpg (100%) rename {images => learning/images}/droite/droite0103.jpg (100%) rename {images => learning/images}/droite/droite0104.jpg (100%) rename {images => learning/images}/droite/droite0105.jpg (100%) rename {images => learning/images}/droite/droite0106.jpg (100%) rename {images => learning/images}/droite/droite0107.jpg (100%) rename {images => learning/images}/droite/droite0108.jpg (100%) rename {images => learning/images}/droite/droite0109.jpg (100%) rename {images => learning/images}/droite/droite0110.jpg (100%) rename {images => learning/images}/droite/droite0111.jpg (100%) rename {images => learning/images}/droite/droite0112.jpg (100%) rename {images => learning/images}/droite/droite0113.jpg (100%) rename {images => learning/images}/droite/droite0114.jpg (100%) rename {images => learning/images}/droite/droite0115.jpg (100%) rename {images => learning/images}/droite/droite0116.jpg (100%) rename {images => learning/images}/droite/droite0117.jpg (100%) rename {images => learning/images}/droite/droite0118.jpg (100%) rename {images => learning/images}/droite/droite0119.jpg (100%) rename {images => learning/images}/droite/droite0120.jpg (100%) rename {images => learning/images}/droite/droite0121.jpg (100%) rename {images => learning/images}/droite/droite0122.jpg (100%) rename {images => learning/images}/droite/droite0123.jpg (100%) rename {images => learning/images}/droite/droite0124.jpg (100%) rename {images => learning/images}/droite/droite0125.jpg (100%) rename {images => learning/images}/droite/droite0126.jpg (100%) rename {images => learning/images}/droite/droite0127.jpg (100%) rename {images => learning/images}/droite/droite0128.jpg (100%) rename {images => learning/images}/droite/droite0129.jpg (100%) rename {images => learning/images}/droite/droite0130.jpg (100%) rename {images => learning/images}/droite/droite0131.jpg (100%) rename {images => learning/images}/droite/droite0132.jpg (100%) rename {images => learning/images}/droite/droite0133.jpg (100%) rename {images => learning/images}/droite/droite0134.jpg (100%) rename {images => learning/images}/droite/droite0135.jpg (100%) rename {images => learning/images}/droite/droite0136.jpg (100%) rename {images => learning/images}/droite/droite0137.jpg (100%) rename {images => learning/images}/droite/droite0138.jpg (100%) rename {images => learning/images}/droite/droite0139.jpg (100%) rename {images => learning/images}/droite/droite0140.jpg (100%) rename {images => learning/images}/droite/droite0141.jpg (100%) rename {images => learning/images}/droite/droite0142.jpg (100%) rename {images => learning/images}/droite/droite0143.jpg (100%) rename {images => learning/images}/droite/droite0144.jpg (100%) rename {images => learning/images}/droite/droite0145.jpg (100%) rename {images => learning/images}/droite/droite0146.jpg (100%) rename {images => learning/images}/droite/droite0147.jpg (100%) rename {images => learning/images}/droite/droite0148.jpg (100%) rename {images => learning/images}/droite/droite0149.jpg (100%) rename {images => learning/images}/droite/droite0150.jpg (100%) rename {images => learning/images}/droite/droite0151.jpg (100%) rename {images => learning/images}/droite/droite0152.jpg (100%) rename {images => learning/images}/droite/droite0153.jpg (100%) rename {images => learning/images}/droite/droite0154.jpg (100%) rename {images => learning/images}/droite/droite0155.jpg (100%) rename {images => learning/images}/droite/droite0156.jpg (100%) rename {images => learning/images}/droite/droite0157.jpg (100%) rename {images => learning/images}/droite/droite0158.jpg (100%) rename {images => learning/images}/droite/droite0159.jpg (100%) rename {images => learning/images}/droite/droite0160.jpg (100%) rename {images => learning/images}/droite/droite0161.jpg (100%) rename {images => learning/images}/droite/droite0162.jpg (100%) rename {images => learning/images}/droite/droite0163.jpg (100%) rename {images => learning/images}/droite/droite0164.jpg (100%) rename {images => learning/images}/droite/droite0165.jpg (100%) rename {images => learning/images}/droite/droite0166.jpg (100%) rename {images => learning/images}/droite/droite0167.jpg (100%) rename {images => learning/images}/droite/droite0168.jpg (100%) rename {images => learning/images}/droite/droite0169.jpg (100%) rename {images => learning/images}/droite/droite0170.jpg (100%) rename {images => learning/images}/droite/droite0171.jpg (100%) rename {images => learning/images}/droite/droite0172.jpg (100%) rename {images => learning/images}/droite/droite0173.jpg (100%) rename {images => learning/images}/droite/droite0174.jpg (100%) rename {images => learning/images}/droite/droite0175.jpg (100%) rename {images => learning/images}/droite/droite0176.jpg (100%) rename {images => learning/images}/droite/droite0177.jpg (100%) rename {images => learning/images}/droite/droite0178.jpg (100%) rename {images => learning/images}/droite/droite0179.jpg (100%) rename {images => learning/images}/droite/droite0180.jpg (100%) rename {images => learning/images}/droite/droite0181.jpg (100%) rename {images => learning/images}/droite/droite0182.jpg (100%) rename {images => learning/images}/droite/droite0183.jpg (100%) rename {images => learning/images}/droite/droite0184.jpg (100%) rename {images => learning/images}/droite/droite0185.jpg (100%) rename {images => learning/images}/droite/droite0186.jpg (100%) rename {images => learning/images}/droite/droite0187.jpg (100%) rename {images => learning/images}/droite/droite0188.jpg (100%) rename {images => learning/images}/droite/droite0189.jpg (100%) rename {images => learning/images}/droite/droite0190.jpg (100%) rename {images => learning/images}/droite/droite0191.jpg (100%) rename {images => learning/images}/droite/droite0192.jpg (100%) rename {images => learning/images}/droite/droite0193.jpg (100%) rename {images => learning/images}/droite/droite0194.jpg (100%) rename {images => learning/images}/droite/droite0195.jpg (100%) rename {images => learning/images}/droite/droite0196.jpg (100%) rename {images => learning/images}/droite/droite0197.jpg (100%) rename {images => learning/images}/droite/droite0198.jpg (100%) rename {images => learning/images}/droite/droite0199.jpg (100%) rename {images => learning/images}/droite/droite0200.jpg (100%) rename {images => learning/images}/droite/droite0201.jpg (100%) rename {images => learning/images}/droite/droite0202.jpg (100%) rename {images => learning/images}/droite/droite0203.jpg (100%) rename {images => learning/images}/droite/droite0204.jpg (100%) rename {images => learning/images}/droite/droite0205.jpg (100%) rename {images => learning/images}/droite/droite0206.jpg (100%) rename {images => learning/images}/droite/droite0207.jpg (100%) rename {images => learning/images}/droite/droite0208.jpg (100%) rename {images => learning/images}/droite/droite0209.jpg (100%) rename {images => learning/images}/droite/droite0210.jpg (100%) rename {images => learning/images}/gauche/gauche0001.jpg (100%) rename {images => learning/images}/gauche/gauche0002.jpg (100%) rename {images => learning/images}/gauche/gauche0003.jpg (100%) rename {images => learning/images}/gauche/gauche0004.jpg (100%) rename {images => learning/images}/gauche/gauche0005.jpg (100%) rename {images => learning/images}/gauche/gauche0006.jpg (100%) rename {images => learning/images}/gauche/gauche0007.jpg (100%) rename {images => learning/images}/gauche/gauche0008.jpg (100%) rename {images => learning/images}/gauche/gauche0009.jpg (100%) rename {images => learning/images}/gauche/gauche0010.jpg (100%) rename {images => learning/images}/gauche/gauche0011.jpg (100%) rename {images => learning/images}/gauche/gauche0012.jpg (100%) rename {images => learning/images}/gauche/gauche0013.jpg (100%) rename {images => learning/images}/gauche/gauche0014.jpg (100%) rename {images => learning/images}/gauche/gauche0015.jpg (100%) rename {images => learning/images}/gauche/gauche0016.jpg (100%) rename {images => learning/images}/gauche/gauche0017.jpg (100%) rename {images => learning/images}/gauche/gauche0018.jpg (100%) rename {images => learning/images}/gauche/gauche0019.jpg (100%) rename {images => learning/images}/gauche/gauche0020.jpg (100%) rename {images => learning/images}/gauche/gauche0021.jpg (100%) rename {images => learning/images}/gauche/gauche0022.jpg (100%) rename {images => learning/images}/gauche/gauche0023.jpg (100%) rename {images => learning/images}/gauche/gauche0024.jpg (100%) rename {images => learning/images}/gauche/gauche0025.jpg (100%) rename {images => learning/images}/gauche/gauche0026.jpg (100%) rename {images => learning/images}/gauche/gauche0027.jpg (100%) rename {images => learning/images}/gauche/gauche0028.jpg (100%) rename {images => learning/images}/gauche/gauche0029.jpg (100%) rename {images => learning/images}/gauche/gauche0030.jpg (100%) rename {images => learning/images}/gauche/gauche0031.jpg (100%) rename {images => learning/images}/gauche/gauche0032.jpg (100%) rename {images => learning/images}/gauche/gauche0033.jpg (100%) rename {images => learning/images}/gauche/gauche0034.jpg (100%) rename {images => learning/images}/gauche/gauche0035.jpg (100%) rename {images => learning/images}/gauche/gauche0036.jpg (100%) rename {images => learning/images}/gauche/gauche0037.jpg (100%) rename {images => learning/images}/gauche/gauche0038.jpg (100%) rename {images => learning/images}/gauche/gauche0039.jpg (100%) rename {images => learning/images}/gauche/gauche0040.jpg (100%) rename {images => learning/images}/gauche/gauche0041.jpg (100%) rename {images => learning/images}/gauche/gauche0042.jpg (100%) rename {images => learning/images}/gauche/gauche0043.jpg (100%) rename {images => learning/images}/gauche/gauche0044.jpg (100%) rename {images => learning/images}/gauche/gauche0045.jpg (100%) rename {images => learning/images}/gauche/gauche0046.jpg (100%) rename {images => learning/images}/gauche/gauche0047.jpg (100%) rename {images => learning/images}/gauche/gauche0048.jpg (100%) rename {images => learning/images}/gauche/gauche0049.jpg (100%) rename {images => learning/images}/gauche/gauche0050.jpg (100%) rename {images => learning/images}/gauche/gauche0051.jpg (100%) rename {images => learning/images}/gauche/gauche0052.jpg (100%) rename {images => learning/images}/gauche/gauche0053.jpg (100%) rename {images => learning/images}/gauche/gauche0054.jpg (100%) rename {images => learning/images}/gauche/gauche0055.jpg (100%) rename {images => learning/images}/gauche/gauche0056.jpg (100%) rename {images => learning/images}/gauche/gauche0057.jpg (100%) rename {images => learning/images}/gauche/gauche0058.jpg (100%) rename {images => learning/images}/gauche/gauche0059.jpg (100%) rename {images => learning/images}/gauche/gauche0060.jpg (100%) rename {images => learning/images}/gauche/gauche0061.jpg (100%) rename {images => learning/images}/gauche/gauche0062.jpg (100%) rename {images => learning/images}/gauche/gauche0063.jpg (100%) rename {images => learning/images}/gauche/gauche0064.jpg (100%) rename {images => learning/images}/gauche/gauche0065.jpg (100%) rename {images => learning/images}/gauche/gauche0066.jpg (100%) rename {images => learning/images}/gauche/gauche0067.jpg (100%) rename {images => learning/images}/gauche/gauche0068.jpg (100%) rename {images => learning/images}/gauche/gauche0069.jpg (100%) rename {images => learning/images}/gauche/gauche0070.jpg (100%) rename {images => learning/images}/gauche/gauche0071.jpg (100%) rename {images => learning/images}/gauche/gauche0072.jpg (100%) rename {images => learning/images}/gauche/gauche0073.jpg (100%) rename {images => learning/images}/gauche/gauche0074.jpg (100%) rename {images => learning/images}/gauche/gauche0075.jpg (100%) rename {images => learning/images}/gauche/gauche0076.jpg (100%) rename {images => learning/images}/gauche/gauche0077.jpg (100%) rename {images => learning/images}/gauche/gauche0078.jpg (100%) rename {images => learning/images}/gauche/gauche0079.jpg (100%) rename {images => learning/images}/gauche/gauche0080.jpg (100%) rename {images => learning/images}/gauche/gauche0081.jpg (100%) rename {images => learning/images}/gauche/gauche0082.jpg (100%) rename {images => learning/images}/gauche/gauche0083.jpg (100%) rename {images => learning/images}/gauche/gauche0084.jpg (100%) rename {images => learning/images}/gauche/gauche0085.jpg (100%) rename {images => learning/images}/gauche/gauche0086.jpg (100%) rename {images => learning/images}/gauche/gauche0087.jpg (100%) rename {images => learning/images}/gauche/gauche0088.jpg (100%) rename {images => learning/images}/gauche/gauche0089.jpg (100%) rename {images => learning/images}/gauche/gauche0090.jpg (100%) rename {images => learning/images}/gauche/gauche0091.jpg (100%) rename {images => learning/images}/gauche/gauche0092.jpg (100%) rename {images => learning/images}/gauche/gauche0093.jpg (100%) rename {images => learning/images}/gauche/gauche0094.jpg (100%) rename {images => learning/images}/gauche/gauche0095.jpg (100%) rename {images => learning/images}/gauche/gauche0096.jpg (100%) rename {images => learning/images}/gauche/gauche0097.jpg (100%) rename {images => learning/images}/gauche/gauche0098.jpg (100%) rename {images => learning/images}/gauche/gauche0099.jpg (100%) rename {images => learning/images}/gauche/gauche0100.jpg (100%) rename {images => learning/images}/gauche/gauche0101.jpg (100%) rename {images => learning/images}/gauche/gauche0102.jpg (100%) rename {images => learning/images}/gauche/gauche0103.jpg (100%) rename {images => learning/images}/gauche/gauche0104.jpg (100%) rename {images => learning/images}/gauche/gauche0105.jpg (100%) rename {images => learning/images}/gauche/gauche0106.jpg (100%) rename {images => learning/images}/gauche/gauche0107.jpg (100%) rename {images => learning/images}/gauche/gauche0108.jpg (100%) rename {images => learning/images}/gauche/gauche0109.jpg (100%) rename {images => learning/images}/gauche/gauche0110.jpg (100%) rename {images => learning/images}/gauche/gauche0111.jpg (100%) rename {images => learning/images}/gauche/gauche0112.jpg (100%) rename {images => learning/images}/gauche/gauche0113.jpg (100%) rename {images => learning/images}/gauche/gauche0114.jpg (100%) rename {images => learning/images}/gauche/gauche0115.jpg (100%) rename {images => learning/images}/gauche/gauche0116.jpg (100%) rename {images => learning/images}/gauche/gauche0117.jpg (100%) rename {images => learning/images}/gauche/gauche0118.jpg (100%) rename {images => learning/images}/gauche/gauche0119.jpg (100%) rename {images => learning/images}/gauche/gauche0120.jpg (100%) rename {images => learning/images}/gauche/gauche0121.jpg (100%) rename {images => learning/images}/gauche/gauche0122.jpg (100%) rename {images => learning/images}/gauche/gauche0123.jpg (100%) rename {images => learning/images}/gauche/gauche0124.jpg (100%) rename {images => learning/images}/gauche/gauche0125.jpg (100%) rename {images => learning/images}/gauche/gauche0126.jpg (100%) rename {images => learning/images}/gauche/gauche0127.jpg (100%) rename {images => learning/images}/gauche/gauche0128.jpg (100%) rename {images => learning/images}/gauche/gauche0129.jpg (100%) rename {images => learning/images}/gauche/gauche0130.jpg (100%) rename {images => learning/images}/gauche/gauche0131.jpg (100%) rename {images => learning/images}/gauche/gauche0132.jpg (100%) rename {images => learning/images}/gauche/gauche0133.jpg (100%) rename {images => learning/images}/gauche/gauche0134.jpg (100%) rename {images => learning/images}/gauche/gauche0135.jpg (100%) rename {images => learning/images}/gauche/gauche0136.jpg (100%) rename {images => learning/images}/gauche/gauche0137.jpg (100%) rename {images => learning/images}/gauche/gauche0138.jpg (100%) rename {images => learning/images}/gauche/gauche0139.jpg (100%) rename {images => learning/images}/gauche/gauche0140.jpg (100%) rename {images => learning/images}/gauche/gauche0141.jpg (100%) rename {images => learning/images}/gauche/gauche0142.jpg (100%) rename {images => learning/images}/gauche/gauche0143.jpg (100%) rename {images => learning/images}/gauche/gauche0144.jpg (100%) rename {images => learning/images}/gauche/gauche0145.jpg (100%) rename {images => learning/images}/gauche/gauche0146.jpg (100%) rename {images => learning/images}/gauche/gauche0147.jpg (100%) rename {images => learning/images}/gauche/gauche0148.jpg (100%) rename {images => learning/images}/gauche/gauche0149.jpg (100%) rename {images => learning/images}/gauche/gauche0150.jpg (100%) rename {images => learning/images}/gauche/gauche0151.jpg (100%) rename {images => learning/images}/gauche/gauche0152.jpg (100%) rename {images => learning/images}/gauche/gauche0153.jpg (100%) rename {images => learning/images}/gauche/gauche0154.jpg (100%) rename {images => learning/images}/gauche/gauche0155.jpg (100%) rename {images => learning/images}/gauche/gauche0156.jpg (100%) rename {images => learning/images}/gauche/gauche0157.jpg (100%) rename {images => learning/images}/gauche/gauche0158.jpg (100%) rename {images => learning/images}/gauche/gauche0159.jpg (100%) rename {images => learning/images}/gauche/gauche0160.jpg (100%) rename {images => learning/images}/gauche/gauche0161.jpg (100%) rename {images => learning/images}/gauche/gauche0162.jpg (100%) rename {images => learning/images}/gauche/gauche0163.jpg (100%) rename {images => learning/images}/gauche/gauche0164.jpg (100%) rename {images => learning/images}/gauche/gauche0165.jpg (100%) rename {images => learning/images}/gauche/gauche0166.jpg (100%) rename {images => learning/images}/gauche/gauche0167.jpg (100%) rename {images => learning/images}/gauche/gauche0168.jpg (100%) rename {images => learning/images}/gauche/gauche0169.jpg (100%) rename {images => learning/images}/gauche/gauche0170.jpg (100%) rename {images => learning/images}/gauche/gauche0171.jpg (100%) rename {images => learning/images}/gauche/gauche0172.jpg (100%) rename {images => learning/images}/gauche/gauche0173.jpg (100%) rename {images => learning/images}/gauche/gauche0174.jpg (100%) rename {videos => learning/videos}/arret (100%) rename {videos => learning/videos}/avance (100%) rename {videos => learning/videos}/droite (100%) rename {videos => learning/videos}/gauche (100%) create mode 100644 tests/examples/main.cpp diff --git a/learning/code/algo.c b/learning/code/algo.c new file mode 100644 index 0000000..32283f7 --- /dev/null +++ b/learning/code/algo.c @@ -0,0 +1,176 @@ +#define _CRT_SECURE_NO_DEPRECATE + +#include +#include +#include +#include +#include +#include "constant.h" +#include "global.h" +#include "algo.h" + +void Erreur(char * chaine,int numero) +{ + fprintf(stderr,chaine); + fprintf(stderr,"\nerreur %d\n",numero); + exit(numero); +} + +int LireVecteurs (void) +{ + int k; + if((ent=fopen(noment,"rb"))==NULL) + return 1; + fread(&M,sizeof(int),1,ent); + fread(&dimvec,sizeof(int),1,ent); + fread(&dico,sizeof(int),1,ent); + fread(&numiter,sizeof(int),1,ent); + if((vecteurs=(float**)calloc(M,sizeof(float *)))==NULL) + return 3; + for(k=0;kxYU}X@yh8dE=J0!C(YkJ-F5MBakJIh zxp&eB2Av zF5{j&TW=ivJ&%05z?b(u>x)m%W`LCw=hqLe+HudkVtP_{ZZAF?wtf>jqL&=yx6`-> zYgVysedo^V+l8%fbL=~B-f&ZXtLMwxlWkrz;S__@w;H*6%co|7m#a2>dra!=6n}f@ zmB8#XKKNp=?!OtziznuYyBIuGXFk3f{nUGRzMOuck1FPOLs=!J}R- zKDFxP`ReNtpIp0)dn7K0?y5QAx-Z=B9Iw1H4X@TL&cs=NXFbhZ?|6ITNuA%ea{?EK z8N#=>{KofIdhR}Ryv->`aZvM<_JFIWxE}WH4%(x8QX@vyHZzWRSo|=0v+=cqv-#^U z-rxUt_g=o2&iKt3UcCOj6@Gs4IQ6@KGdc6d*B!y)Cf%1g+TB~o!>f(gH=}>jzcFfH z@8|U{L>^aIac5R9@#bK~VTfIuwfR_To_1_jmdF!)xb$G_UEbNhwVmPhbMBt`;%du@ z#bt-^dgRMfVh(YtUR^rw;f-Gp{le^>nuEnecvvE$+TmK0Ho#_jWeBT=Di{y@~tKgH$I5t0(PU<%xQHee-JD3s#Qp+reR8 zibIZtsaM?HwRm;x?u8GQZV7813a7^V=-qE@+%uz|?sU)3Z%%%5Hs6E}R&ERK=CMD~ zUtRatchYZKUN5+2=i`zi?U3IbY&kvR;`e5(xL9veUSGLz`l?r_CUx#U)T*PTv)QTr z+P%84^>>b2O&rC#?@66H=Q#Q5V8q~A@$SFb%%hILI1_pGRIGZIx&!qDcjxMS)1*0Y i@TppNP%rrE;=&{E9@IArTaRM#PU=XrG`IcKs`~+`iW+qQ literal 0 HcmV?d00001 diff --git a/learning/code/constant.h b/learning/code/constant.h new file mode 100644 index 0000000..df75df5 --- /dev/null +++ b/learning/code/constant.h @@ -0,0 +1,10 @@ +#define NOM 50 +#define SEUIL 1e-5 + +typedef struct +{ + int index; + int popul; + float * vecteur; +} +TRI; diff --git a/learning/code/data_set.m b/learning/code/data_set.m new file mode 100644 index 0000000..e6e856b --- /dev/null +++ b/learning/code/data_set.m @@ -0,0 +1,4 @@ +function [image]=data_set(i, n) + + +end \ No newline at end of file diff --git a/learning/code/descripteurfouriernorm.m b/learning/code/descripteurfouriernorm.m new file mode 100644 index 0000000..4ac301c --- /dev/null +++ b/learning/code/descripteurfouriernorm.m @@ -0,0 +1,28 @@ +function [coeff,num]=descripteurfouriernorm(z,cmax) +cmin=-cmax; +z_moy=mean(z); +longc=length(z); +% on calcule les coefficients de Fourier +TC=fft(z-z_moy)/longc; +num=cmin:cmax; +% on sélectionne les coefficients entre cmin et cmax +coeff=zeros(cmax-cmin+1,1); +coeff(end-cmax:end)=TC(1:cmax+1); +coeff(1:-cmin)=TC(end+cmin+1:end); + +% on retourne la séquence si le parcours est dans le +% sens inverse du sens trigonométrique +if abs(coeff(num==-1))>abs(coeff(num==1)) + coeff=coeff(end:-1:1); +end + +% corrections de phase pour normaliser +% par rapport à la rotation et l'origine +% du signal z +Phi=angle(coeff(num==-1).*coeff(num==1))/2; +coeff=coeff*exp(-1i*Phi); +theta=angle(coeff(num==1)); +coeff=coeff.*exp(-1i*num'*theta); + +% correction pour normaliser la taille +coeff=coeff/abs(coeff(num==1)); diff --git a/learning/code/dict b/learning/code/dict new file mode 100644 index 0000000000000000000000000000000000000000..8e191cb0272a08bf8b7fc1bb0c210095dacdca71 GIT binary patch literal 2760 zcmW;Oc|4VA8wcmiX6G|!)Nt!oVS`lTL5yD7y#+GuV z$dul3p8I}`6H~SpA+$)cBuz>xrFu{P`2PRpp^wG@J>i|4yorBaW z7NUsVeW25Bg))?Du!oBifagc@Dd_{ytM3RooCMoh4g&V$?NivITa!NaTAt{2i*PA~`=HVT%=FBvC9Mlhc>`G>G{v(&oYItUniMw3-?%V}z$-@LuHpEf^)nr(>u1izvW67gw5ohP4id$Vb^_#BV4Ko+oZ8 zxf7uvJo!G1cmG^EdpVM#V_TYWno|(5eqzE}Mi&zAsX3(7SqESZ#%7wEn84pm7$xdB zmEE=m8~o>)XorD2e$7pzyi+K+VxbJwXg&S%*y*zG^W3*C3%NL+hN|9`aQUS^Tvkm- zx%(Q4J~Tv$o8D34cU-1XSi(5mZsNc5-a&1M(ZH$$_0*}hD>!dN2^R!x1J>ZC z_Af)d2IbFebTSs-qtbsL!w#`$aeC%3<14?DPY1U!^L1`Ar6w|Xx_2>CsZ>XOGu1(5 zk4kY_wLDZ;Cqn~XPQO!sLn1UQpP<|(S($^I;UNme~HpjGXz5r_8c z;OR90efbyA3b6{=m97Z(ZA#QQyOXKbYhlK2$&=y@Q^X;4F7Y;&W#l3&iAL@{$SlCT zMIS=S0<(DM{rxVn@s=j^M$ITtIQ*3OK9py@FBag91)E9et!>DdBSP^X7BXFfPL$ya zCu*ddhdv$TqH4S2)RnOTX7*w|bWmLyJ=C>_!RD5koDn?&XxkJH=SMyv>^_^3-JFEy z|8)$X6&K-uURdGOtr~b~?+X>QbT3~&AIRpgV zXS5BcDez9`*Jxd&$~}@q&DZn!=0%ZAPL3wCN-l`nGI5phjx|CHX7wQ9}drF<&sn)5Ym*hy2? zWvdWH$S$VmX-b~Is&vJHe$adIe{R^Oro6*C+ zN6AMrNbKL_;|bOV1#~%xlu}n?*I6C>k8jsg%sF#rEjJ5vMlRt$tX0XOs1r!az6B?) zKftp_l|p5u{L;WgBlh@eV>;;&heabSfEH8=SF?mY+U(bMGF@anKFooc2^``d6? zr(!Ll8J`Y*L=Lq^RuS>hbx_eoLveNnxhoTo7g+W{Ufgk{_RgEFO#VimOq#MNNnP(w z-l(CH#}B1eQ4d&U4?+(f;?UcKa;*I4cX;cGXK*6g3-VVBNXQ;X zyt^U6LZw!G?*WmDG$S4J&yYuPaxg#aHf(FEfUClJY?bL}QhG)M{Tld+=6HJ89?5jm zi@Ubn=tyR3sb08=?V~Gs?5P$O|J%QwcDm^SPL|>1xtow|F;2v@gLx2r&IsZIRza1T zF%dfFpfpB1AA;jzi={RUYwSGf=J8||Pv zB#+2EbtYD8y`c4uKFkZ&fC{8T)J1;ewWBG-Zz_OdduvkdH$WOKXF+OSDSbbe%iC8_ zuiqBYt9zocj_s@#;JP6moseq^`vPy0{q9cW6*mzY_E8|iSxFvEbyB+qbNIe3o2cRG zAE>h3(@cWTPgpN&J)W>WjRJLUBL0vKjP+H_^bS2BvXA2JK&xVWk@6xY}uX8vxNW^CrY=4+o^&FFi(q5nB56a0?3X*L&>egW_B5A~SZ6KP$hep| ze3K&M35!9zq8;B&U2J3Wp`Ynk+Qqjs7)Fl%V~`ay072JoklLtPbiEegBNb}A?5e{; zcZ+@=`OTGG-f2N+wRMw!_YqKTe}jYdeM!!k5iCRCY=gW8s-kg{YJ< z>lhPsjkg+)+`dMICd5*L3rE3NC5?`Dlh*&fN7I*l$lLk>nABcGE&jD0%{3^-;)xVg z)bGzoFHuES8_qGMM~^ZSk9sJhfNVyn$w4krVk*^N8!ue@K@@q#qdg?$p8dby+YF{di{IW&1^FRbd+Iw>OuZGTa45IWI|mTsN7g zu>$wwBp5V%Lb({Wp>0d&z!s4#VMJ?)9TG +#include "constant.h" + +char noment[NOM]; +char nomsor[NOM]; +char nomcod[NOM]; +int dimvec,M,dico,numiter; + +FILE * ent,* sor,* cod; + +float ** vecteurs; +float ** vecteurs_classes; +int * index_classes; +int * popul_classes; +float ** vecteurs_final; +int * index_final; +int * popul_final; +int etape; +double energie; +double energieminimale; + +TRI * buftri; + diff --git a/learning/code/global.h b/learning/code/global.h new file mode 100644 index 0000000..2451ecb --- /dev/null +++ b/learning/code/global.h @@ -0,0 +1,25 @@ + + + + + +extern char noment[NOM]; +extern char nomsor[NOM]; +extern char nomcod[NOM]; +extern int dimvec,M,dico,numiter; + +extern FILE * ent,* sor,* cod; + +extern float ** vecteurs; +extern float ** vecteurs_classes; +extern int * index_classes; +extern int * popul_classes; +extern float ** vecteurs_final; +extern int * index_final; +extern int * popul_final; +extern int etape; +extern double energie; +extern double energieminimale; + +extern TRI * buftri; + diff --git a/learning/code/kmoyennes.m b/learning/code/kmoyennes.m new file mode 100644 index 0000000..15a3a9e --- /dev/null +++ b/learning/code/kmoyennes.m @@ -0,0 +1,41 @@ +% kmoyennes.m +% [vecteursliste,code,occur]=kmoyennes(vecteurs,dico,numiter) +% vecteurs : vecteurs de la base (rangés en colonnes) +% dico : nombre de classes +% numiter : nombre d'essais pour trouver le dictionnaire +% vecteursliste : contient les vecteurs prototypes +% code : contient les index des classes +% occur : nombre d'éléments dans chaque classe + +function [vecteursliste,code,occur]=kmoyennes(vecteurs,dico,numiter) + +% nombre de lignes du tableau vecteurs : dimension des vecteurs +dimvec=size(vecteurs,1); +% nombre de colonnes du tableau vecteurs : nombre de vecteurs +M=size(vecteurs,2); + +% ecriture des fichiers nécessaires au fonctionnment du programme quantvec +fid=fopen('vecteurs','w'); +fwrite(fid,M,'int'); +fwrite(fid,dimvec,'int'); +fwrite(fid,dico,'int'); +fwrite(fid,numiter,'int'); +fwrite(fid,vecteurs,'float'); +fclose(fid); + +% lancement du programme quantvec +unix('./quantvec vecteurs dict code'); + +% lecture des fichiers résultat +fid=fopen('dict','r'); +dimvec=fread(fid,1,'int'); +dico=fread(fid,1,'int'); +vecteursliste=fread(fid,[dimvec dico],'float'); +occur=fread(fid,dico,'int'); +fclose(fid); +disp('vecteurs dans la liste') +disp([dimvec dico]) + +fid=fopen('code','r'); +code=fread(fid,M,'int'); +fclose(fid); diff --git a/learning/code/learning.m b/learning/code/learning.m new file mode 100644 index 0000000..a4f5ac1 --- /dev/null +++ b/learning/code/learning.m @@ -0,0 +1,58 @@ +close all + +%acceptable threshold values: 15-30 +threshold = 20; +cmax = 10; +cmin = -cmax; +n_classes = 16; +iterations = 50; +N = 200; + +dataset = dir('../images/*/*.jpg'); +dataset_size = length(dataset); + +vecteurs=zeros(2*(cmax-cmin+1),dataset_size); %TODO: renommer en vectors + +% c'est lent +% s'assurer que l'on choisit toutes les images +% +for n=1:dataset_size + % choix d'une image aléatoire + choix = 1 + floor(dataset_size*rand(dataset_size, 1)); + % extraction de l'image du dataset + image = dataset(choix(1)); + % lecture de l'image + img = imread([image.folder '/' image.name]); + % filtrage de la couleur de la peau + binary = rgb_filter(img, threshold); + % détermination du contour + c = contourc(binary); + % Détermination du contour de taille max + cont = max_contour(c); + % transformation en signal complex + z = cont(:,1) + 1i*cont(:,2); + % calcul des descripteurs de Fourrier + [coeff,ncoeff]=descripteurfouriernorm(z,cmax); + % Extraction des composantes + vecteurs(:,n)=[real(coeff);imag(coeff)]; + % affichage de l'avancement + disp(n/dataset_size); +end + +% utilisation de l'algorithme des kmeans +kmeans = kmoyennes(vecteurs, n_classes, iterations); + +% affichage des prototypes +figure +for n=1:n_classes + contfil=resconstrdesfour(kmeans(1:end/2,n)+1i*kmeans(end/2+1:end,n),N,cmax); + subplot(4,4,n) + h=plot(real(contfil),imag(contfil),'-',real(contfil(1)),imag(contfil(1)),'o'); + title(['prototype ' int2str(n)]) + set(h(1),'LineWidth',2) + set(h(2),'LineWidth',3) + grid on + axis equal + axis ij + drawnow +end \ No newline at end of file diff --git a/learning/code/makefile b/learning/code/makefile new file mode 100644 index 0000000..ed3a63a --- /dev/null +++ b/learning/code/makefile @@ -0,0 +1,8 @@ +all : quantvec + +quantvec : *.c *.h + g++ -O3 -Wall *.c -o quantvec + +clean : + rm quantvec + diff --git a/learning/code/max_contour.m b/learning/code/max_contour.m new file mode 100644 index 0000000..1366af0 --- /dev/null +++ b/learning/code/max_contour.m @@ -0,0 +1,18 @@ +function [cont]=max_contour(contours) +i=1; +id=1; +max = 0; +while i+contours(2, id) < size(contours, 2) + contours(2,i); + if contours(2,i) > max + max = contours(2,i); + id = i; + end + i=i+1+contours(2,i); +end + +cont = zeros(max, 2); +cont(1:end,1) = contours(1, id+1:id+max); +cont(1:end,2) = contours(2, id+1:id+max); + +end \ No newline at end of file diff --git a/learning/code/quantvec b/learning/code/quantvec new file mode 100755 index 0000000000000000000000000000000000000000..237498181aafd452c0d943ad7a841d62a00fd7c6 GIT binary patch literal 18040 zcmeHPdvp|4ny-G52uW85iAF?enIHj8NF%QXGNwZZsx=_;8f1i~>2#nqujy1na9v>R z1nFrz;?Z%KIrCtLJv+>-?&{gmLC4V!C@*Ceadl8;R`4;?O+*7YkWrxb_uaa;Q{5zI z_Uzd|DNg6R_xC;ScfWh@S5>#F*i>6L$7nD};xI|yl&EGe)R1b zz4!XzKOxy`@e||53fu(Y&a*KwHBh_qAm;EZVd-Ci*$2RVzy^}98w9T$1Yb7@PVpGX z{`f)g{lM+`q4K@2)H%Mx*DIocMjg2jSsVUIZ z7EmRxx1lu@Y*rh*{@hrGYt=WPf!`x=7} z1yH4Cy=|&5q4hJa2Ym zOLJhcZ*?OXT+`Ij%nf=q(E$auDQ?7C5&vkNh%&8qt!w~lKuxS;^@iXzlySCl?5QW7 zMmjJ_Pw{$qB=L>X&rqjBzjZRI$WQZ zk~$m?WsY7QF8V~wJ{?YTM;v0F(7Ax}fjC;Zd>#Obk2uu^3KjGNHmR-OC-9WLweBRX8a z4wcAf`AW?4?l`-obS6||`iK&FJ%6v1o-zYadh9Ixl}A^jMD?{~F?Ax1W9%fVQ>ar% zSbYN3X)2@=tUiY76!O$_tUi+J6zbFtRv%7v3UO*1s}H665UOuxbtBa&)Tvfh|LRuM zDa5H&tbUg2G?h{dSp5{$Db%TIR{x0V6yj7RtA9Xs3T?`s(Qnv>Iy+oTT#J`1QljT5 zAd$3LEmGoD`!T~_r7k8f!Eq(lmJiTaW|v-e5SYB2P6M<7d=}1X;5!;v0&rOdd=;Q0 zog9aTqx+M+s3m(~u`?le{sTf3D;x_^C04ZsJ}U9zdeN>Uk-P&svBGOKeuKteq2pi6 z_$P@GtD2+nm+ScF&{(YScN+gzjsGnjpZraJj&UGoj${0i-_6r1zePpy7k`hbPPtpN za68CZ*=8wVw8(OCEE?|q$e5f7JCI(cNf&F<=LPpB@}hVq(9WY9s~yK3r{&R`De#zk zCrQX(Ouj|lFetHEB>+F+no4YPi4xhHpFDmkopzT04e+Kn8{{tzx?`4YBonK;7X(NG zft!PlIS#TR+fCzkR-RCJ2y9TxK1T05K;F-1<(1vZcVRVB^;1+0a+d;?-;r8feC%6T zBt7j774ql~a+CGB1Y&S>15>sY8bBN5iUaH0xIYr{V^!Uy%%7vtRKFwW7<@Pc7k9!i zipA5ImHQ5zmEp#G);Y2-ckMxI$xCcN)M#{HUGy)>O&E#PLm23Of0Wpim(UKH`wc&+1f@|lZlI1VzIDO)trHC!~=1#Zmp462=pjWcO|BjooH*I)co5Lf>| ze4FcJ24W#}-OlnB;F}IoFbychiv9STqRG}Ek9JEmAP3>x3*X3$%|)d5{(#WPR6>PD z=5|K4k$DCREF?40OmZqxTW2C%nk+;vLwd4eRlNy2(S6AWF;JAM9EoqQaNX}(u@|iM zI8%VN0IZ(3P|wrq)u^W?A;f^*(zMG78m>V<)S!_Bh0rSV-*MU#eS4)6{YZ&?(z{@B zUEH!9E-3NBkKq#8`5MDf{PY;R^d*xA^b#sdl(^-2P{rA&L_bw;Kv*B3Dts?okv`Es zek=A;)cfnu-#~)#DIsQN{AK7X-Iq;Dv{&g)-l-V&DQ{m^X=ymP!2&WU=4YWQ>JOLOQ1zcv&nI! zAMIA6mSR9`#VVZ#<&F>G2m)dQ_%cRCdew|S$>`sxwZc=ZwW1u-x$~@R(&Y%E*#kPonl)@~h{DO#EY( z)!;@yK&~=4k8G@j#U%hV&t+lJ{inY0ySu43G`>H%mS zzL`u>2&u#W#qP0rhlM{{sLx-}h5G%`6zX&EGiE8G1```yT7$NRZM-2%AA~keKw}qB z&>DMQ7@@}gK<%&yBf6TO2Q!k7l4NubhBW|ew*^fpok!&kx}bo`A7=ztW&|gb;1D4= zO%q(75uB0{yp06&grHRuyelJEK!Owz%U3s}n@=U=7ZcqlOsP+iF=>6U@k#w5lRsVG zaxLZ8B$3a`+_Azm)M~Lfy1q8x9CzArJZ9+yggkpXlBAPM5+{J$OOw~4Avzl(GZ$aL zE2k<-AATK_I)7Y7H)6OdL?FmZU(5c$VM3%e*a01Dl zIVDC|Eg-%nt7gS>PP&cqMEle18+rR6aj4l1$Y3BZ)?IBo1f&MKx#Y*v{P zpKDW``;_<`oBZS+#kpU8GLgSW?l_Iexgvc9@|KTLLe8so97NhPDi@ALPMFl`=VaTE zNT0#=5^PK76F5fM?uv9iV$_}_7y=a&SdN|WFD z5-0m9d%>V_U8K=br7$v^t77InTx#n)FL%W-)$3wa&0t^%y&&2JQLOxKl;hymRvX<{^l- zS)s1qmpCUc$J|_YBz!VvxgORq(sI{gSaZi)FEfkUz}Grpa27M@iR{DhRa3+0xZL#? zT2W$m+!ZT0=U(Ikdr^NolKT^Zqe6z+cHa(2s)e~mG5$8K5$9>O^G%aIg}<8s$H zIOI5<$+xap!FH_P&dGpz-gY~WJxpfDLzS)U5=>+S{|rnZ_#c5F;BPWg{uW5A+z3$& zZFEGbJ9>X$E1j<&N=iHF7Cm-eO0gE_$SYJ;oK2 zv#vB>ex#i`c@!5n_ndRdHY3K3osv;mW-i6wBBMHmI5o6TUuNqREO)7ycr|9Vgfa79 zX6u!4@);-J743<3JJPQ4dzJ2!Y~B91Cq8Ouo#CXb`*T{im_~-kegoPu$>Yr?TDorM zg;3HReLr&YqTBg?+*~AgoX6lO{=P`U;E5N!?0f_3&431$nP0(*!yJ20;}bKR6;}+- z!*bV)jDOG*pY=WP^O)*mamDC74E;R0>*;~{Cc$5)@iFtr1Z$rg(e#%Rf4hRQf(wse zyfR*NFb5y6fq*-Pp=NXHMT{jT%*7H+nD`#7EfA5J;-s~E`&v6u)VBb-x zHu_gr_i1DQ^)J%!5V$X|+=Jny+<;8{?)sEF+KWtV*zb1s${l6wq`IHhCE|nxk0#(z ze6GRmJRrxfA@=qwxkkqAVWGZ~Yhv8PgK&|oyXCHbXWYns3#q%Df77=vcRfK|KQ6ft z@wj<6qMpU?+z5Wm^6_Ubw>(W(vys=!#GRLGrOUfl zi7hTIq0Gzur>S5z;_osuTkP!Yiu}7L{Ap?xns&vjaXU7GpBxY{GqQA%IZw;dN5ZF5 z7jX@V#F_^`*yMi+VMITETa13}gwNE1kzJ*-R4HqlySR2G1%L5U z5O#qI8x<(iiJY#0a57KM*R*c~?EGL8&fA3rq!g=qV}!V>y^XbA^(BDh&pyNUQG#DV zBgAfUcgkm)*JmNYdiOr0w5!|S0OGwns+Pl-eIyer`~?VismhOXav!P0svf8Ej7%eR z-Avb?p6DOw5)`{3w-&Km+j63dT+vIO==r+wpR${W?n|cRZ+c*+^R#NGAauYjI$wNM z7d`Kee&I@w_#@pTD9%5HPibAC+jTZ+w)L<7b9>Pz+Ka^HJBnBwMrkOv>jUACeQfI?ar z0%|DGCN;M-tquk3^#S|3fL}#ZZT1VZBe23Ha zKr>K#K=ri-+HjjdN57x?ZXkI6MqgVSV$Bc3ji#B6DAPvlu2ed`8+7ZbbovD7c2FDA z%`RlKt*Gz*BAxC7?E|%8DQ`W43;W5-0#T+q%m1{rsWU>9ehs zE^8S?APSWlYrbn3#bq+u-iD0)0m|9_8}|zDS^puYAos5zxrJ7n@h)pV#X<$X8F3wE zMg@lBL)Pi&TTVyV^R$bw(+)d)>X5ao$JGd2jlk6iT#dlh2waW8)d*aTz|{y`jlk6i z3>pFPKAm`f4!0ES5R~qF>B#3dhvJ>Cr|9Mq#|;|Eyr*{~uZw%hk-RS6*W+rL_a^^( zIo(1c;{F#8QP{DA?yYdpqf9yy{3eIrzDvCtEYW=>9VHr(ia8a8_IBx5Hqp+gxL2Ca zJ4p9=bkLJfI!s;^R`EW3Hg1wsF_Cl(lVr}!V;v0pmdyOk#)n8^o@e8Ek{JJNJYRbWKo6p9 z!dDJre(G5!X=r91XXC>%>p2@Qkn97Di%G(&7ZY8lV3MqoZ9rU>M1IhT!%v&ELnHtl z!-Ti3#dicc81loVq*zcoh6!)diuZzbFyu!_BF|*w#rQ75u7_CJBwd%u3woxBvOwiP z@+Fz~zO&^;7VJkUy_lsl>3&2jQ9d0Ar@UiCJQs)r%N5Bo;oEZX+c_@sHW!y_P%t1H zmT~_@9>162SH`EE+Y#phVW)%1Um53}zz6dGSA*b#_4hxR{ozvSEhyw11KICpGS^-) zzDI!@ko9xN_c)i&ohP3&{L1-8pB5Pgm=D(jA5QV-^HwbTalnfZ=XM@vv23Prd~*&? zFPZ4yV`gsP&obb4QPEM_W2AO>6loya_eAkYIA9-Oem(|y^5;3;E!@T$l zE}!7?lQ{lw9DgOp&aXJWo#UdvF95f}9~;L-ORsSG)*SgaIsWS$`?N1UP<(D-_?7wO z6NX!*6Z`^$?d78J^Bk|lt9x|J(uib2+$cWFa@xIyepeC*X3<7ul~s7tx|$t@UcB|7&|qHor_%F&esv!`-Xf0_kVZJxEu!0M(fLAN2&k# zfw05#p?DTzg&mU5orfd2{RKJk83UZwmpFg1y?it?j>~V&k)O`x(Fi-(^9z)QA|Mq1 z9Xayzxt(h6zgS;Om>tcA{x5xbKz6Eg?6eFb|J_0G?~@&jZ*Cm^X%P8WfZO$s@bY_P z2mWl!@#jO1ug$@GfR7o#&Jf_kag{FaAB0FAkDHVep9cq-KUOYp&uLfsPT1G1;&Et& zU-F04HZ|PPfMWmWOt#9$JX>3{TYxLIBvrVrr+%EZBnpztJYM{Pi z+EnMXfraRctDx5x3i&p81I=m(-)PZ8S#N!~sc8dLbTuzM*vu03HLhuaOIpJyc)fEL zy5`k-Yv;SY_{1t(0iSre@0;(M=b4?&VV`&b!gq+?T7_Fs+zTb|+`4;eTy@@i=FC}C zyV$$fRZ~|>R@sMP{e>!((PVAeQi)8bc*{1NA=DCy9sH+V^Z=`dj$7Z`sP;<&H^< z=wb70&Hr_hcllK90qz2SP-4$@c@No>YAMhh2(1YQnlKbiK77@teQbB7(KN=Yg^&IEmGPCH*K-dP z>x0eSa9aQ~VYyT5HXg07V_y&UOS3WRA7q+z(mb@cx~+}3&4VDZ&jK@{7E=H*o$7&7 z&Iq>PJpxtxY%#m7)!_y;gjnO-#%zZ6d15x^_2Q$#%>34U;n*)m-zTyU5eNLbP`E2; zGgTYa>~A0YO;IQ?zuHNUp-J_v2312ET`NlX@-h%=l`5KB)If!+##65P z*6`Yz=5WR8a1b932kWH@s;%|4t(7Y3H#EbZM%9qUSr=gMNn};L;DrK>K2qSN)<#vT zU?Ww5V#S&kRMkK`{!)5@PzzfY6@j%pp{%Wk5mD1rwalVvh%#F6H3j|fiB?qwrhrs| ztj2~?%eb=eU&smiAo#TBB;sDH2tmbu9Yol{!z-#% z6eYdB*xwNJL`G68@XI@Kna93M*6U~XLHNFh@K=}-bwPguhF)J>ZwmUzwL&wyeSz-G z(HHwFg63|&<_IfCu{xlO{?|Sh5kt}XzmGp zvCkm>pN(D~zs&sPhD02+HO{8#))go|gmLSNi}35GDIr#VB+M60>MV|)VBd4`5W^jqXl lVhi7yBL7n|Lo1BQnQ)?AAzOsPK>9QIo0pe`Ag8(d{{s!B0rCI< literal 0 HcmV?d00001 diff --git a/learning/code/quantvec.c b/learning/code/quantvec.c new file mode 100644 index 0000000..4fefdf9 --- /dev/null +++ b/learning/code/quantvec.c @@ -0,0 +1,63 @@ +#define _CRT_SECURE_NO_DEPRECATE + +#include +#include +#include +#include +#include +#include +#include "constant.h" +#include "global.h" +#include "algo.h" + +int main(int ac,char ** av) +{ + int erreur,iter,p; + if(ac != 4) + Erreur((char*)"Il faut 3 parametres",1); + strncpy(noment,av[1],NOM-1); + strncpy(nomsor,av[2],NOM-1); + strncpy(nomcod,av[3],NOM-1); + + srand( (unsigned)time( NULL ) ); + + if((erreur=LireVecteurs())!=0) + Erreur((char*)"Erreur de lecture des vecteurs",erreur); + fprintf(stderr,"nombre de vecteurs : %d\n",M); + fprintf(stderr,"dimension des vecteurs : %d\n",dimvec); + fprintf(stderr,"taille du dictionnaire : %d\n",dico); + fprintf(stderr,"nombre d'iterations : %d\n",numiter); + if((erreur=InitDictionnaire())!=0) + Erreur((char*)"Erreur d'initialisation du dictionnaire",erreur); + + iter=0; + if((erreur=CalculDictionnaire())!=0) + Erreur((char*)"Erreur de calcul itératif du dictionnaire",erreur); + energieminimale=energie; + memcpy(index_final,index_classes,M*sizeof(int)); + memcpy(popul_final,popul_classes,dico*sizeof(int)); + for(p=0;p g && r > b) + if (r-b > threshold || r-g > threshold) + filtered_img(i, j, 1) = 1; + else + filtered_img(i, j, 1) = 0; + end + end + end +end + +end \ No newline at end of file diff --git a/learning/code/traitement.h b/learning/code/traitement.h new file mode 100644 index 0000000..0156ca4 --- /dev/null +++ b/learning/code/traitement.h @@ -0,0 +1,3 @@ +int InitInfo(void); +void TraiteErreur(int,char*); +DWORD WINAPI Traitement(LPVOID); diff --git a/learning/code/vecteurs b/learning/code/vecteurs new file mode 100644 index 0000000000000000000000000000000000000000..e3b981fda8de751c3961a1f68b9aacee61c3c20a GIT binary patch literal 166000 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

oSLJE<{VoDvd7;rV~1;) z-qsE>ezZIes5OMRXkWCV&K<_t zWulHX2{6<7HZ~QEowY7-p!XitQ^RSGuy;!&>-NH$Lvx)gXDkrmoE%13XaBVj*1`5h z>EHwG2w=yxuHajSoYwN&!m4`BBZtGFvAZ9(C6uPpsg8> z>KkvsZ*yC;ZfZP)RAe$fKiY^-_y#7kX%w_}2B5no>tW@F^Gu}YZ8BiG7SG-v&x-gO z2;;m+_z{{NaUJVlIZb9wyM*xHY{*?4j<)nSlZ0~$XpWHzs79Ap=#*?`3Sah-UoPs% zlD7oiyI~8Z0)EkRDm&@CK^L4YeOOy$02>NcoeY~0M#ldUd6uFE8gAnFw&W+W!BGv} z?^^-~9X-+ID;99!oei^Ae;ZkK)&!*raC6U*m^cFk*ZDA6pb)p8080b3Ansk*KI= z6zXKq!utYkPp=Bz+GI!S(YP6hq!wo#-!;o{+u?P3henOUGX8H#(Z)FPWG6+VTPSbR zvpJ}5yAs4t%w@X5Uy%O_?(DxZZ)01%lxgevMc%Ey!<4@j@WMGuvo<~n_>Q*)-8|M8 zZ#b&X{q+5SFWv4I#?R=*shrlWDsXhwWgQ!)b6#uRX)h5)>y|I1Yw>nukN@yw|BmJL zZW7E^CtLslA%&n%vl8p)8M9SSUQol0_3#G!qh=qytdF8$dBtl-=vlU$;ts_+u{3TD zoq8#UaK*-4=!2)UYz%_Ni<9w(*O=ZdGsJR+&RFinG-_LXmToH()L*0faYxcpI_z!3 zIc?@K9toe=QqwTuJqo&Ag9dU_IBq$BrPDY3JAj9S6Ef-Mk#pz-=S}$d^%?l(NF%K5 zsZ4z~Y@&uUP4QRP%eY3*nfAT@KnI>%;9+&b20aVP>fUaq-w^7o8?^BeH=ox88%!

G9G~6M2f2o-*wpAe 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 A8vp +#include +#include +#include +#include + +using namespace std; +using namespace math; + +int main (int ac,char ** av) { + csignal coord = {0,1,0,0,0,0,0}; + coord = {0,1,0,0,0}; + csignal res; + res = fft_rec(coord); + + for(int n=0; n 1) { imagename = argv[1]; @@ -22,6 +22,7 @@ int main(int argc, char** argv) { cv::namedWindow("New Contour", CV_WINDOW_AUTOSIZE); cv::Mat image = cv::imread(imagename, CV_LOAD_IMAGE_COLOR); + std::cout << image.size() << std::endl; cv::Mat binaire(image.rows, image.cols, CV_8UC1); cv::Mat contour_image(image.rows, image.cols, CV_8UC1); cv::Mat new_contour_image(image.rows, image.cols, CV_8UC1); @@ -38,6 +39,7 @@ int main(int argc, char** argv) { math::contour c = contours[index]; c = math::simplify_contour(c, cmax); std::array bounds = math::bounds(c); + //math::display(c); c = math::transform(c, bounds, new_contour_image.rows); contrs.push_back(contours[index]); @@ -52,6 +54,10 @@ int main(int argc, char** argv) { imshow("Contour", contour_image); imshow("New Contour", new_contour_image); - cv::waitKey(0); + while (true) { + if (cv::waitKey(0) == 27) { + return 0; + }; + } return 0; } diff --git a/tests/src/CMakeLists.txt b/tests/src/CMakeLists.txt index 5c34f0a..a47be66 100644 --- a/tests/src/CMakeLists.txt +++ b/tests/src/CMakeLists.txt @@ -4,8 +4,8 @@ add_executable(traitement traitement.cpp) target_link_libraries(traitement ${OpenCV_LIBS}) -add_executable(k_proches_voisins k_proches_voisins.cpp) -target_link_libraries(k_proches_voisins ${OpenCV_LIBS}) +#add_executable(k_proches_voisins k_proches_voisins.cpp) +#target_link_libraries(k_proches_voisins ${OpenCV_LIBS}) # target_include_directories(blk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) # target_compile_options (blk PUBLIC -std=c++11 ) diff --git a/tests/src/math.hpp b/tests/src/math.hpp index 02b23e2..dde4ed1 100644 --- a/tests/src/math.hpp +++ b/tests/src/math.hpp @@ -4,6 +4,7 @@ #include #include #include +#include namespace math { @@ -13,6 +14,27 @@ namespace math { using contour = std::vector; constexpr double pi() {return std::atan(1)*4;} + void displayi_abs(const csignal& s) { + int count=0; + for (auto d: s) { + std::cout << count++ << ' ' << std::abs(d) << std::endl; + } + } + + void display(const contour& s) { + int count=0; + for (auto d: s) { + std::cout << count++ << ' ' << d.x << ' ' << d.y << std::endl; + } + } + + void display(const csignal& s) { + int count=0; + for (auto d: s) { + std::cout << count++ << ' ' << d.real() << ' ' << d.imag() << std::endl; + } + } + void to_binary(const cv::Mat& img, cv::Mat& output) { for (int index=0,indexNB=0;index<3*img.rows*img.cols;index+=3,indexNB++) { unsigned char B = img.data[index ]; @@ -80,15 +102,30 @@ namespace math { csignal fft_rec(const csignal& input) { int size = input.size(); + std::cout << "Size: " << size << std::endl; if (size <= 1) { return input; + } else if (size == 2) { + csignal res; + res.push_back(input[0]+input[1]); + res.push_back(input[0]-input[1]); + return res; + } else if (size == 3) { + csignal res; + complex e2 = std::exp(complex(0, -2*pi()/3)); + complex e4 = std::exp(complex(0, -4*pi()/3)); + complex e8 = std::exp(complex(0, -8*pi()/3)); + res.push_back(input[0]+input[1]+input[2]); + res.push_back(input[0]+input[1]*e2+input[2]*e4); + res.push_back(input[0]+input[1]*e4+input[2]*e8); + return res; } else { csignal odd; csignal even; auto odd_back_it = std::back_inserter(odd); auto even_back_it = std::back_inserter(even); - bool insert_in_even = false; + bool insert_in_even = true; for (auto it = input.begin(); it != input.end(); ++it) { if (insert_in_even) { @@ -100,9 +137,9 @@ namespace math { } } + csignal res(size, complex()); csignal odd_fft = fft_rec(odd); csignal even_fft = fft_rec(even); - csignal res(size, complex()); for (int k=0; k