π
<-

[Librairie] Compress - Compressez vos données/images !

Pour TI-Nspire OS 3.0 ou ultérieur.

Re: [Librairie] Compress - Compressez vos données/images !

Unread postby Adriweb » 12 Jun 2013, 15:37

Bon travail :)

Au passage, peut-être seras-tu intéressé par ce code que j'ai fait ya quelques jours pour justement avoir des fonctions de base pour un lecteur d'images en Lua :
viewtopic.php?p=142571#p142571

Le tien propose de bouger, le mien propose en plus des fonctions de zoom :)

Reprends le code comme tu le souhaites :)

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.9%
 
Posts: 14836
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: [Librairie] Compress - Compressez vos données/images !

Unread postby Morhaus » 12 Jun 2013, 16:22

Je viens juste d'apprendre que la méthode copy permettait en effet de scaler des images :) Le mode d'interpolation est loin d'être idéal pour les annales par exemple où le texte n'est pas lissé, mais c'est mieux que rien. J'en ai profité pour intégrer assez rapidement des raccourcis pour zoomer / dézoomer / 1:1 / adapter.
User avatar
Morhaus
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 78.1%
 
Posts: 19
Joined: 16 Jan 2013, 14:04
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: TS

Re: [Librairie] Compress - Compressez vos données/images !

Unread postby Morhaus » 12 Jun 2013, 19:37

Nouvelle version !
https://mega.co.nz/#!UxYBAZQR!BfvEC079- ... 5xsJMV1KYY

Changelog :
  • image.py n'effectue plus de correction de couleur.
  • lzw.compress est beaucoup plus efficace.
  • convert.py lance une erreur lorsque aucun fichier d'entrée n'a été trouvé.
  • convert.py peut créer des scripts & classeurs contenant plusieurs images avec le paramètre -z ou --zip.
  • convert.py accepte le paramètre facultatif -l[N] qui limiter la taille maximale du dictionnaire de codes de l'algorithme LZW (utile en cas de manque de mémoire).
  • convert.py accepte le paramètre facultatif --rle qui force l'utilisation de la compression RLE
  • touches de zoom :
    • +: zoom avant
    • -: zoom arrière
    • *: l'image occupe toute la largeur de l'écran
    • /: l'image occupe toute la hauteur de l'écran
    • 0: zoom 1:1
  • les touches 1, 2, 3, 4, 6, 7, 8, 9 envoient à un coin de l'image.
  • les touches A, B, C, ..., Z permettent de naviguer entre les images.
User avatar
Morhaus
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 78.1%
 
Posts: 19
Joined: 16 Jan 2013, 14:04
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: TS

Re: [Librairie] Compress - Compressez vos données/images !

Unread postby Lionel Debroux » 13 Jun 2013, 06:29

Ca avance bien :)
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.4%
 
Posts: 6873
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: [Librairie] Compress - Compressez vos données/images !

Unread postby Adriweb » 13 Jun 2013, 07:20

En effet, bon boulot !)

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.9%
 
Posts: 14836
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: [Librairie] Compress - Compressez vos données/images !

Unread postby Morhaus » 13 Jun 2013, 17:22

surprise surprise... la limite d'utilisation mémoire des scripts lua est située quelque part entre 28 et 32mb. Et certains des plus gros fichiers (notamment lorsqu'ils sont mis en classeurs) vont faire dépasser cette limite au décompresseur lorsqu'il s'agit de restaurer la string d'origine (table.concat).
J'ai donc ajouté un paramètre de plus en ligne de commande nommé -p [N]/--part-size [N] qui va spécifier une taille pour découper la décompression en plusieurs parties, afin d'appeler garbagecollect() entre chaque table.concat. Ce n'est pas idéal et des problèmes persistent (évidemment). Une solution serait de découper les images trop grandes en plusieurs parties, une autre de les réduire au préalable.

Edit : ou bien décharger une image et la recharger à la demande.
User avatar
Morhaus
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 78.1%
 
Posts: 19
Joined: 16 Jan 2013, 14:04
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: TS

Re: [Librairie] Compress - Compressez vos données/images !

Unread postby Morhaus » 13 Jun 2013, 18:57

Bonne nouvelle :)
La décompression est suffisamment performante pour permettre la décompression des différentes images d'un classeur à la volée (~2s de chargement pour une page d'annale en 700*1200). Les problèmes de mémoire sont donc inexistants !
Cette approche permet aussi de charger les fichiers 2 à 3x plus rapidement.

Du coup je vais compresser tous les sujets d'annales pour diminuer le nombre de classeurs dans la TI-Nspire.

Autre info, si la taille vous préoccupe beaucoup, réenregistrez les classeurs créés par luna dans Student Software, ça devrait récupérer environ 10% de la taille du fichier.
User avatar
Morhaus
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 78.1%
 
Posts: 19
Joined: 16 Jan 2013, 14:04
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: TS

Re: [Librairie] Compress - Compressez vos données/images !

Unread postby Levak » 13 Jun 2013, 19:01

Morhaus wrote:Autre info, si la taille vous préoccupe beaucoup, réenregistrez les classeurs créés par luna dans Student Software, ça devrait récupérer environ 10% de la taille du fichier.

Ah ? En 3.1 on avait trouvé que Luna optimisait à 30% plus que TI-Nspire Computer Software qui compressait moins à 40% que la calto (il ajoutait surement des choses)...
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: [Librairie] Compress - Compressez vos données/images !

Unread postby Morhaus » 13 Jun 2013, 19:07

Je pense que ça dépend beaucoup du format de donnée. Compressées, les images sont des suites de nombres séparés par des virgules, ce qui est donc extrêmement répétitif. Je ne fais que constater : sur tous les classeurs que j'ai réenregistré sous Student Software, j'ai pu constater un gain de l'ordre de 10% (sur le plus gros, 207ko -> 189ko).
User avatar
Morhaus
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 78.1%
 
Posts: 19
Joined: 16 Jan 2013, 14:04
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: TS

Re: [Librairie] Compress - Compressez vos données/images !

Unread postby Excale » 13 Jun 2013, 19:18

En utilisant 7-zip au lieu de la lib normale, on peut les compresser encore bien plus^^.
User avatar
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.9%
 
Posts: 2955
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile

PreviousNext

Return to Nspire-Lua

Who is online

Users browsing this forum: ClaudeBot [spider] and 2 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1146 utilisateurs:
>1136 invités
>5 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)