Je suis nouveau sur Python alors s'il vous plaît soyez patient avec moi.
Fondamentalement, mon script devrait fonctionner comme ceci:Lire le fichier SVG avec Python/PIL
1) Chargez une image et le diviser en R, G, canaux B
2) Marquer une zone de cette image avec un chemin existant enregistré en tant que fichier svg et
3) effectuer quelques calculs avec les valeurs R, G, B de cette zone.
(en outre envoyer l'image soit vers le dossier A ou B, en fonction du résultat de la calc)
J'ai fait 1) et des parties de 3) mais mon problème actuel est de charger le fichier svg et d'appliquer sur mon image.
L'image est une photographie prise avec un objectif fisheye. Je veux juste obtenir les valeurs RVB de la photo réelle - pas le fond noir. J'ai créé le fichier svg en dessinant le chemin désiré avec GIMP (pas un cercle).
Ma question est:
Comment charger un fichier svg existant (et le lire comme un chemin) avec python et appliquer le chemin sur une image?
Je suis sûr qu'il existe un moyen simple de le faire, mais je ne l'ai pas encore trouvé.
Des conseils et des recommandations seront appréciés!
Edit:
Le fichier svg:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
`"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg xmlns="http://www.w3.org/2000/svg"
width="22.2222in" height="16.6667in"
viewBox="0 0 1600 1200">
<path id="Auswahl"
fill="none" stroke="black" stroke-width="1"
d="M 848.00,103.21
C 848.00,103.21 861.00,103.96 861.00,103.96
891.77,105.30 921.91,109.93 952.00,116.58
988.30,124.59 1023.25,137.24 1057.00,152.69
1210.78,223.11 1322.55,368.09 1353.61,534.00
1358.02,557.54 1361.00,581.11 1362.04,605.00
1362.04,605.00 1363.00,616.00 1363.00,616.00
1363.00,616.00 1363.00,649.00 1363.00,649.00
1363.00,649.00 1362.04,662.00 1362.04,662.00
1360.12,705.99 1352.05,749.92 1338.98,792.00
1289.63,950.77 1167.62,1077.58 1011.00,1133.31
962.90,1150.42 911.98,1160.82 861.00,1163.04
861.00,1163.04 848.00,1164.00 848.00,1164.00
848.00,1164.00 815.00,1164.00 815.00,1164.00
815.00,1164.00 804.00,1163.04 804.00,1163.04
756.47,1160.97 709.15,1151.72 664.00,1136.67
608.47,1118.16 556.55,1090.63 510.00,1055.12
469.68,1024.36 434.97,988.81 404.88,948.00
288.05,789.50 269.64,577.90 355.26,401.00
418.58,270.18 535.32,170.13 674.00,127.02
700.27,118.86 729.73,111.96 757.00,108.28
757.00,108.28 795.00,104.17 795.00,104.17
795.00,104.17 809.00,103.21 809.00,103.21
809.00,103.21 848.00,103.21 848.00,103.21 Z" />
</svg>
Et le lien vers l'image: http://img153.imageshack.us/img153/5330/skybig.jpg
Si vous pourrait partager un exemple d'image et un fichier svg, il serait plus facile de comprendre ce que vous avez l'intention de faire. Quel genre de calcul faites-vous dans la 3ème étape? – Offe
Une petite mise à jour: je n'ai pas trouvé un moyen de le faire avec PIL mais avec GIMP – seb
@seb Si vous avez trouvé un moyen d'utiliser GIMP alors soyez-le. Vous pouvez vous interfacer avec GIMP en utilisant Python, donc le problème est résolu (pourquoi insisteriez-vous sur l'utilisation d'un outil qui ne résout pas votre problème?). – mmgp