Enlighten : un semblant de mode nuit pour les anciens iPhone jailbreakés
- Julien Antoine
- Il y a 4 ans
- 💬 2
L'iPhone 11, sorti en septembre 2019, a apporté une nouveauté qui était attendue depuis des années : un mode nuit. Ce dernier est très efficace, et rivalise même avec celui de Google, intégré dans ses Pixels. Cependant, bien que logiciel, ce mode nuit n'est pas disponible sur les iPhone munis d'une puce A12 ou antérieure, Apple ayant estimé que ces appareils ne possédaient pas la puissance de calcul nécessaire à son bon fonctionnement. XCXiao, un étudiant hongkongais, a donc développé un tweak permettant de simuler un mode nuit sur les appareils oubliés par Apple : Enlighten.
Aperçu du tweak
Pour configurer Enlighten, il faut vous rendre dans les réglages de votre appareil. Vous pourrez :
- activer/désactiver le tweak
- activer le mode haute qualité (recommandé uniquement pour les puces A11 et supérieures)
Fonctionnement du tweak
Contrairement au mode nuit d'Apple, ou à des applications telles que NeuralCam, qui combinent plusieurs clichés afin de capter plus de lumière et d'éliminer le bruit autant que possible, Enlighten ne se base lui que sur un seul cliché pour effectuer son amélioration. Il utilise la librairie de traitement d'images OpenCV pour accomplir ses prouesses. La méthode utilisée est la suivante : une fois la photo prise, la luminosité est augmentée de manière intelligente, en fonction de l'éclairage de chaque zone de l'image. Cela permet d'éviter de brûler directement les parties les plus claires. L'opération est exécutée une ou deux fois, dépendamment de l'option sélectionnée dans l'appareil photo (1x ou 2x). Ensuite, un algorithme de réduction de bruit est appliqué, pour limiter le bruit introduit lors de la première étape.
Le tweak déclenche la méthode une fois la photo prise, ce qui signifie que vous aurez 2 photos dans votre bibliothèque : l'originale, en JPEG ou HEIC en fonction des paramètres de votre téléphone, et une deuxième, en JPEG, qui est le résultat d'Enlighten. En fonction de la puissance de votre appareil, le temps de traitement sera plus ou moins long. A titre d'exemple, il varie entre 1 et 3 secondes sur un iPhone XR avec le mode haute qualité activé.
Etant donné que le traitement s'effectue sur une image, cela signifie que la méthode pourrait être appliquée à des photos prises dans le passé. Le développeur n'a pour le moment pas l'intention d'implémenter cette fonctionnalité, mais cela pourrait évoluer dans le futur. Il travaille actuellement sur une version améliorée de l'algorithme, qui devrait donner de meilleurs résultats dans une prochaine version.
Comparaisons de photos
Nous avons testé Enlighten dans des conditions assez sombres, sur plusieurs scènes différentes. Dans l'ensemble, la qualité est au rendez-vous, et le tweak permet de récupérer beaucoup de détails, même si le bruit commence à devenir omniprésent à 2x. Il faut garder à l'esprit que cette méthode est limitée à la qualité de l'image d'origine.
Dans toutes les comparaisons suivantes, 4 images sont présentées :
- l'originale
- l'image améliorée par Enlighten avec le paramètre 1x
- l'image améliorée par Enlighten avec le paramètre 2x
- une photo réalisée avec l'application NeuralCam
NeuralCam est une application disponible sur l'App Store pour 3,49€, qui utilise une toute autre technique qu'Enlighten. L'avantage de NeuralCam réside dans la prise d'une multitude de clichés, assemblés par une intelligence artificielle, ce qui permet d'obtenir des résultats de meilleure qualité en général. Cette technique a néanmoins l'inconvénient de nécessiter de rester immobile pendant les quelques secondes que durent la prise. De plus, la photo finale a une résolution moindre, qui dépend de la puissance et de la mémoire vive de votre appareil. Enfin, étant donné que c'est une application, elle n'est pas intégrée à l'application Appareil photo d'Apple, ce qui signifie qu'il faudra passer de l'une à l'autre selon ce que vous prenez en photo, là où Enlighten permet d'activer le mode faible luminosité de la même manière que le retardateur, dans la barre du haut de l'interface de l'appareil photo.
Scène 1
La première scène représente une armoire faiblement éclairée, contenant des verres à bière. De toutes les scènes, c'est celle qui met le plus en difficulté les applications testées, probablement à cause du verre qui réfléchit et réfracte la lumière, et du contraste entre la couleur du meuble et des verres.
Dans cette première scène, la photo originale est sombre, mais les verres sont pour la plupart distinguables, et le bruit est assez contrôlé. En utilisant Enlighten, avec le paramètre 1x, on récupère de nombreux détails dans les zones sombres de l'image, ce qui permet de voir certains verres qui n'étaient presque pas visibles sur l'originale (sur la deuxième rangée en partant du haut, sur la gauche par exemple). Cependant, les verres qui bénéficiaient d'un éclairage satisfaisant sur l'originale deviennent trop clairs, sans brûler la photo toutefois. Le paramètre 2x pousse le traitement à un niveau supérieur, ce qui résulte dans ce cas à une image qui n'est plus très naturelle. Toutes les zones d'ombre sont débouchées, permettant ainsi d'observer les derniers détails invisibles dans les deux images précédentes. Cela se fait malheureusement au prix d'un bruit exacerbé, d'autant plus dérangeant qu'on zoome dans l'image. Enfin, la photo obtenue avec l'application NeuralCam, a une apparence un peu plus brillante. Les couleurs sont un peu plus naturelles que ce que propose Enlighten, et le bruit est mieux maîtrisé, ce qui est normal étant donné la technique utilisée. Le rendu est un peu similaire à la deuxième image, mais avec un contraste mieux défini.
Scène 2
La deuxième scène représente une cuisine faiblement éclairée. Ici, l'image originale est sous-exposée, mais on arrive quand même à distinguer la structure principale de la scène. L'image obtenue avec Enlighten en 1x permet de récupérer une grande quantité de détails. Le reflet dans le micro-ondes, l'essuie bleu accroché au four ou les miettes de pain devant le grille-pain permettent de s'en rendre compte assez rapidement. L'image reste sous-exposée, mais est bien plus agréable à regarder que l'originale. En 2x, la luminosité est encore augmentée, permettant d'encore mieux distinguer certaines zones sombres de l'image : l'essuie bleu est désormais parfaitement visible, de même que le carrelage du sol dont on peut apercevoir certains motifs. Le bruit commence néanmoins à être fort présent, et les zones plus claires comme les portes des armoires sont surexposées et paraissent un peu trop lisses. NeuralCam propose de nouveau une image plus contrastée mais plus brillante, qui paraît cette fois-ci un peu moins naturelle qu'Enlighten en 1x. Comme précédemment, le bruit est mieux contenu.
En zoomant sur deux parties de l'image, on observe plus facilement comment certains détails sont récupérés tandis que les zones plus claires deviennent surexposées en 2x.
Conclusion
Enlighten permet aux possesseurs d'iPhone plus anciens d'avoir un "mode nuit", certes moins convaincant que celui d'Apple, mais sans devoir acheter un iPhone de dernière génération. Le développeur a opté pour une technique se passant à posteriori, c'est-à-dire qu'il se base sur l'image originale prise par l'appareil photo, et y applique un algorithme de traitement d'image, contrairement à NeuralCam, qui prend une rafale de photos avant de les assembler via une intelligence artificielle. Comme expliqué dans l'article, chaque méthode possède ses avantages et inconvénients, à vous de voir celle qui vous correspond le mieux.
Si vous cherchez un moyen d'intégrer un semblant de mode nuit dans l'application Appareil photo, alors Enlighten devrait vous plaire. Il s'active facilement, de la même manière que le retardateur, et ne remplace pas la photo originale, ce qui signifie que vous pourrez sélectionner après coup lequel des deux clichés vous plait le mieux. Le tweak est actuellement en bêta publique, et les résultats iront donc en s'améliorant au fil du temps.
Enlighten est disponible pour 1,99$ sur le repo Packix. Compatible avec le jailbreak iOS 13 uniquement.