Parcourir la source

Modification du readme, ajout de la possibilité d'avoir plusieurs fonctions appelable dans la dll

synave il y a 2 ans
Parent
commit
db4373d13a
3 fichiers modifiés avec 43 ajouts et 40 suppressions
  1. 14 0
      HDRip/Full_process.cpp
  2. 11 7
      HDRip/Full_process.hpp
  3. 18 33
      README.md

+ 14 - 0
HDRip/Full_process.cpp

@@ -19,6 +19,20 @@
 
 
 
+float* exposure(float* data, unsigned int width, unsigned int height, float exposure)
+{
+  ImageHDR img(data, width, height);
+
+  img.exposure(exposure);
+
+  float* ret = new float[width * height * 3];
+  memcpy(ret, img.data, width * height * 3 * sizeof(float));
+
+  return ret;
+}
+
+
+
 float* full_process(float* data, unsigned int width, unsigned int height,
   float exposure,
   float contrast,

+ 11 - 7
HDRip/Full_process.hpp

@@ -7,12 +7,16 @@
 #define HDRIP_API __declspec(dllimport)
 #endif
 
-extern "C" HDRIP_API float* full_process(float* data, unsigned int width, unsigned int height,
-  float exposure,
-  float contrast,
-  float yCs, float yCb, float yCm, float yCw, float yCh,
-  bool lms, bool lmb, bool lmm, bool lmw, bool lmh,
-  float saturation,
-  float ce_sel_light_l, float ce_sel_light_h, float ce_sel_chr_l, float ce_sel_chr_h, float ce_sel_hue_l, float ce_sel_hue_h, float ce_tol, float ce_edit_hue, float ce_edit_expo, float ce_edit_con, float ce_edit_sat, bool ce_mask);
+extern "C" {
+  HDRIP_API float* full_process(float* data, unsigned int width, unsigned int height,
+    float exposure,
+    float contrast,
+    float yCs, float yCb, float yCm, float yCw, float yCh,
+    bool lms, bool lmb, bool lmm, bool lmw, bool lmh,
+    float saturation,
+    float ce_sel_light_l, float ce_sel_light_h, float ce_sel_chr_l, float ce_sel_chr_h, float ce_sel_hue_l, float ce_sel_hue_h, float ce_tol, float ce_edit_hue, float ce_edit_expo, float ce_edit_con, float ce_edit_sat, bool ce_mask);
+
+  HDRIP_API float* exposure(float* data, unsigned int width, unsigned int height, float exposure);
+}
 
 #endif

+ 18 - 33
README.md

@@ -1,53 +1,38 @@
-#HDRip
+# HDRip
 
 Prérequis
 ==========
 
-Testé pour windows 10 et visual studio community 2019.
-
-Avant de lancer le projet, veuillez lire les instructions ci dessous. Commencez par ajouter le fichier 2489.hdr (fichier 2489_HDR.hdr que vous renommez en 2489.hdr) dans le répertoire contenant la solution (donc dans le même répertoire que celui qui contient **Image.sln**). Vous pouvez mettre une autre image mais, dans ce cas, vous devrez modifier les paramètres du projet.
-
-OpenCV
--------
-
-Il faut télécharger opencv ici :
-https://sourceforge.net/projects/opencvlibrary/files/4.5.2/opencv-4.5.2-vc14_vc15.exe/download
-
-On double clique sur le .exe pour auto extraire le contenu. Mettre le répertoire **opencv** dans **C:\ ** .
-
-Ensuite, il faut modifier la variable d'environnement **Path** de l'utilisateur pour y ajouter le chemin :
-
-C:\opencv\build\x64\vc15\bin
+Pas de prérequi particulier. La bibliothèque eigen utilisée est fournie avec le code de HDRip.
 
 Eigen
 -----
+ 
+La bibliothèque HDRip utilise la bibliothèque eigen dont vous pourrez trouver une version originale ici : https://eigen.tuxfamily.org
 
-Il faut télécharger eigen ici :
-https://gitlab.com/libeigen/eigen/-/archive/3.3.9/eigen-3.3.9.zip
+Plateformes de test
+------------------
 
-Décompressez cette archive et renommez le répertoire **libeigen**. Mettre ce répertoire dans **C:\ ** .
+Testé sous Microsoft Windows 10 et Microsoft Visual Studio Community 2019.
 
-pthread
--------
+Testé sous linux. Version Ubuntu 20.04.
 
-Je ne sais pas si les pthreads viennent avec la solution Visual Studio ou pas. A la première ouverture du projet, allez dans Projet -> Gérer les packages NuGet.
-
-Cliquez sur **Installé**. Si pthread apparait, vous pouvez fermer l'onglet NuGet. Dans le cas contraire, cliquez sur **Parcourir**, recherchez *pthread*, sélectionnez *pthread par Tim Rogers* puis **installer** dans la fenêtre de droite.
-
-**Attention !!!!** Dans tous les cas, à la première compilation, une erreur de redéfinition va apparaitre. Vous n'avez plus qu'à commenter la structure pointée par Visual Studio lorsque vous double cliquez sur l'erreur.
-
-Lancement du projet
+Compilation de la bibliothèque
 ===================
 
-Normalement, vous pouvez maintenant ouvrir le fichier **Image.sln** avec Visual Studio 2019. Avant de lancer l'exécution du projet :
-1- passez en mode release
-2- Ajoutez les arguments de la ligne de commande en allant dans le menu **Projet** -> **Propriétés de Image** -> **débogage**. Dans **Arguments de la commande**, mettez : *2489.hdr 2489_exp4.hdr*
+Sous windows
+------------
+Pour compiler la bibliothèque, vous pouvez ouvrir le fichier **HDRip.sln** avec Microsoft Visual Studio Community 2019. Avant la compilation, veuillez vérifier que la solution est bien configurée en mode Release.
 
-Vous pouvez valider et exécuter le projet.
+Vous pouvez ensuite compiler la bibliothèque en passant par le menu "Générer" -> "Générer la solution".
 
-Je pense que toutes les autres configs particulières sont stockées dans le projet.
+La bibliothèque "HDRip.dll" se trouvera alors dans le répertoire x64\Release
 
 TODO
+====
 
 Commentaire/Documentation
+
 Ajouter la licence
+
+Ajouter toutes les entrées possibles vers les différentes méthodes