Logicielsmoto.com

Nous sommes le 28 Mar 2024, 15:32

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 165 messages ]  Aller à la page Précédente  1 ... 7, 8, 9, 10, 11
Auteur Message
 Sujet du message: Re: Convertion images & photos
MessagePosté: 20 Avr 2018, 23:53 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Mieux en quel sens ? Là je trouve que le choix des 16 couleurs fixes pour toutes les images marche plutôt bien, en tout cas nettement mieux que nos couleurs de base. En revanche si on s'autorise à changer la palette pour chaque image, certaines rendront mieux avec une palette dédiée.

La question peut-être aussi pourquoi avoir des couleurs fixes pour toutes les images? Bonne question, ca permet par exemple de faire des animations entre deux images dans un slideshow sans mix curieux des couleurs (scroll de l'écran, remplacement lignes par lignes, etc.)

Au fait pendant que j'y suis je n'ai pas trouvé la fonction permettant de charger ou sauver une image programmatiquement sous GraphX2. Comment faut-il faire? Pulko ?

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Convertion images & photos
MessagePosté: 21 Avr 2018, 17:53 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Hmm je pense qu'il y a quelque chose à faire sur Thomson avec cette palette "passe partout". Je viens de convertir plein d'images du jeu "Borderlands" avec elle au format 320x200x16 avec contraintes, et c'est vraiment bon. (Je le répète, mais ce sont les mêmes 16 couleurs pour toutes ces images!)
Image

Si vous voulez récupérer les fichier *.MAP thomson, ils sont >>ici<< (lien cjoint: ne dure pas dans le temps!)

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Convertion images & photos
MessagePosté: 21 Avr 2018, 21:32 
Hors ligne

Inscription: 27 Juin 2006, 19:44
Messages: 1061
Localisation: France (24)
C'est fabuleux :bien: On a effectivement du mal à croire, de loin, que c'est du 40 colonnes.

_________________
Marche a suivre pour s'inscrire sur ce forum
Do not forget to contact one of the administrators to validate your registration.
Le site des démos de Puls
L'émulateur Teo


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Convertion images & photos
MessagePosté: 22 Avr 2018, 12:56 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Il me semble que sur CPC ils ont fait un jeu d'aventure point&click basé sur des images statiques.
https://www.youtube.com/watch?v=yM1BSm3Bsho

Peut-être qu'une version thomson serait sympa, mais c'est pas certain que le source soit dispo, et puis ca ne serait qu'un portage.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Convertion images & photos
MessagePosté: 23 Avr 2018, 08:29 
Hors ligne

Inscription: 06 Juin 2004, 08:23
Messages: 492
C'est completement incroyable ! :eek:


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Convertion images & photos
MessagePosté: 28 Mai 2018, 07:44 
Hors ligne

Inscription: 24 Juil 2010, 16:08
Messages: 454
Localisation: France
Il n'y a pas encore de moyen de sauvegarder une image depuis un script Lua. Il faut que je rajoute ça un jour.

Pour Orion Prime, il utilise un mode proche du bitmap 16, mais le CPC permet d'agrandir l'écran en supprimant les bordures, ce qui permet d'avoir beaucoup plus de pixels.

Les sources ne sont pas disponibles mais de toutes façons c'est de l'assembleur z80 donc on ne pourrait pas en faire grand chose. Il faudrait plutôt récupérer les modèles 3D qui ont servi de base aux graphismes et travailler sur une version Thomson à partir de là. On peut toujours essayer de négocier avec les auteurs du jeu pour ça!

Plus récemment ils ont publié un jeu de Mah Jong qui utilise un mélange de deux modes vidéos équivalents du bitmap 4 et bitmap 16 en alternance sur les lignes paires et impaires. Ce qui permet d'avoir 16 couleurs mais aussi des pixels plus fin. Presque aussi bien que le mode 40 colonnes de Thomson :W


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Convertion images & photos
MessagePosté: 23 Déc 2018, 18:13 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
bonjour,

couleur Hex ->> valeur palette Thomson

Je cherche un peu partout dans le forum et les scripts à dispo, j'essaye des choses du genre (b*256+g*16+r-273) mais je galère !

Est ce qu'il y aurait une formule "magique" pour passer de :
par exemple couleur Hex #ff00fd -> palette 1,???? valeur palette to8 (en prenant compte du gamma et des valeurs possible sur les 4096) ??

merci beaucoup d'avance du coup de pousse.

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Convertion images & photos
MessagePosté: 23 Déc 2018, 23:46 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Perso j'utilise les valeurs PC suivantes obtenues de façon empirique: 0=0,1=100,2=127,3=142,4=163,5=179,6=191,7=203,8=215,9=223,10=231,11=239,12=243,13=247,14=251,15=255 (lire to=pc avec to=indice palette thomson, pc=indice palette PC).

En 1ère approximation on peut dire que pc=255*(to/15)^0.33 avec un erreur plus petite que 5%:
Code:
TO      PC      formule   écart
1       100     104     3%
2       127     131     3%
3       142     149     4%
4       163     164     0%
5       179     177     -1%
6       191     188     -1%
7       203     198     -2%
8       215     207     -3%
9       223     215     -3%
10      231     223     -3%
11      239     230     -3%
12      243     236     -2%
13      247     243     -1%
14      251     249     0%
15      255     255     0%

Après pour passer d'un code PC à un code TO, il faut inverser la formule et on a TO=15*(PC/255)^3 (approximativement.) Ceci est à appliquer pour chacune des composantes RGB.

En résumé, à une palette PC, on extrait R=int(PC/65536), G=int(PC/256) MOD 256, B=PC MOD 256, et on cacule la palette TO = int(15*(B/255)^3)*256 + int(15*(G/255)^3) + int(15*(R/255)^3).

Bien entendu tout cela est en 1ère approximation. Après on peu peaufiner en remplaçant l'arrondi vers le bas du int(x) par un arrondi au plus proche type int(0.5 + x).

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Convertion images & photos
MessagePosté: 24 Déc 2018, 03:40 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
merci pour ces infos,

La colonne TO correspond à la valeur PC ? donc exemple la couleur

Code:
HEX           DEC                  TO
#FFFFFF    255,255,255    15,15,15


c'est le mappage des valeurs pc (0 à 255) donc (0 à 15) . pour le R, le G, le B

j'ai bien compris ??

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Convertion images & photos
MessagePosté: 24 Déc 2018, 09:39 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
La colonne TO c'est la valeur thomson correspondant à la valeur de PC dans la formule TO=15*(PC/255)^3. Exemple avec un niveau PC=100, la formule donne TO=15*(100/255)^3 = 0.9 qu'on arrondit à 1. Le niveau PC=100 correspond au niveau thomson TO=1. Similairement un niveau PC=164 donne TO=15*(164/255)^3=3.99 qu'on arrondi à 4. Ca colle! :)

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Convertion images & photos
MessagePosté: 24 Déc 2018, 13:17 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
ok merci,

et bonnes fêtes à tous.

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Convertion images & photos
MessagePosté: 07 Fév 2021, 23:11 
Hors ligne

Inscription: 24 Juil 2010, 16:08
Messages: 454
Localisation: France
Hello,

Puisque SAM déterre le topic sur la lecture de MOD, je déterre celui-ci :D

Je suis tombé là-dessus aujourd'hui: https://surma.dev/things/ditherpunk/ et donc sur ceci: https://www.compuphase.com/riemer.htm

Ça semble peut-être intéressant pour faire du dithering sur Thomson. L'idée est de parcourir les pixels dans un ordre particulier ("space filling curve") pour faire du dithering par diffusion d'erreur. Les résultats ont l'air plutôt sympa même avec seulement du noir et blanc (images 1-bit).

Du coup je me suis demandé si on ne pourrait pas faire une "space filling curve" spéciale Thomson prenant d'une certaine façon en compte les contraintes de proximité. C'est probablement pas si simple que ça, mais en tout cas je vais garder ça dans un coin si jamais j'ai des conversions d'images à faire, car le dithering obtenu semble bien meilleur qu'avec les algos classiques.

Parmis les trucs mentionnés il y a aussi le dithering Atkinson que je ne connaissais pas et qui donne des trames assez intéressantes.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Convertion images & photos
MessagePosté: 08 Fév 2021, 11:47 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Ces algos space-filling curve (courbe de Hilbert) sont implémentés dans ImageMagick que j'ai longtemps utilisé.. mais sans être convaincu du résultat, même en l'absence de color-clash. Cf l'étude très complète faite par la "libCaCa": Riemersma à gauche, vs le standard Floyd-Steinberg à droite
Image Image

En fait je vois cette histoire de Hilbert comme de la pure hype "fractal-magique-donc-ca-marche-mieux" alors qu'elle n'a pas de bonne propriétés de répartition en fréquence des erreurs. En plus on trompe les gens en disant que la courbe reste dans le voisinage car il y a une infinité (en pratique: un très grand nombre) de points, tous à des coordonnées remarquables (ca saute aux yeux) qui bien que voisins, sont à une distance hyper grande les uns des autres le long de la courbe. Du coup le bruit n'est pas bleu, et même est en pratique plutôt blanc. On utiliserait du pure random() que le résultat serait pareil.

Pour moi le meilleur algo "simple" est celui des coefficients variables de Victor Ostromoukhov qui est conçu pour avoir les bonne propriétés de bruit bleu qui rendent la diffusion bien plus belle à l'oeil.
Image

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Convertion images & photos
MessagePosté: 08 Fév 2021, 20:12 
Hors ligne

Inscription: 24 Juil 2010, 16:08
Messages: 454
Localisation: France
Je vois pas ça comme un truc magique, l'idée serait plutôt de faire "un peu plus intelligent qu'un parcours de gauche à droite et de haut en bas".

En particulier le truc qui me plaît pas avec Floyd-Steinberg, c'est dans les zones ou l'image est "presque blanche" ou "presque noire" et ou on va accumuler l'erreur petit à petit et faire un pixel de temps en temps. On se retrouve donc avec des points assez visiblement alignés

On voit ça très bien sur cette image dans le ciel:

Image

L'idée de la courbe de Hilbert, c'est que si on évite de parcourir les pixels en ligne droite, ce genre de problème serait moins directement visible.

L'inconvénient, c'est effectivement que la diffusion d'erreur se fait en 1 seule dimension le long de la courbe, et donc on perd plein d'autres intérêts des ditherings à matrice de diffusion 2D. Je vois que libcaca propose un "spatial hilbert dithering" qui semble combiner les deux.

L'autre intérêt que j'y vois, spécifiquement pour les Thomson, ce serait de parcourir les pixels dans un ordre qui pourrait prendre en compte les contraintes du mode vidéo. Je ne pense pas que le Floyd-Steinberg classique marche très bien si il diffuse l'erreur principalement sur le pixel juste à droite du pixel en cours, et donc probablement dans le même bloc de 8 pixels. Inévitablement cette erreur va se retrouver sur le groupe de 8 pixels suivants, alors que probablement il faudrait la diffuser plutôt verticalement sur la ligne d'en-dessous.

Et donc peut être que traiter les pixels par exemple dans un ordre de ce genre pourrait être intéressant :

Code:
A D E H I L M P ...
B C F G J K N O ...
...


En particulier si les 2 groupes de 8 pixels ont des couleurs qui se complètent bien.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Convertion images & photos
MessagePosté: 09 Fév 2021, 00:12 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Citation:
En particulier le truc qui me plaît pas avec Floyd-Steinberg, c'est dans les zones ou l'image est "presque blanche" ou "presque noire" et ou on va accumuler l'erreur petit à petit et faire un pixel de temps en temps. On se retrouve donc avec des points assez visiblement alignés
Ca c'est le worm effect. C'est lié à deux choses:
  1. un parcours uniquement de gauche à droite alors que pour une bonne diffusion d'erreur ll faut faire gauche à droite puis droite à gauche (serpentine disent les anglais)
  2. le fait de ne pas utiliser les coefficients variables de Viktor Ostromoukhov qui sont précisément conçus pour éliminer cet effet.
Citation:
L'autre intérêt que j'y vois, spécifiquement pour les Thomson, ce serait de parcourir les pixels dans un ordre qui pourrait prendre en compte les contraintes du mode vidéo. Je ne pense pas que le Floyd-Steinberg classique marche très bien si il diffuse l'erreur principalement sur le pixel juste à droite du pixel en cours, et donc probablement dans le même bloc de 8 pixels. Inévitablement cette erreur va se retrouver sur le groupe de 8 pixels suivants, alors que probablement il faudrait la diffuser plutôt verticalement sur la ligne d'en-dessous.
Bah tu peux balayer autrement que de haut en bas, et faire colonne par colonne pour pousser le plus gros coef (40% de l'erreur) au groupe de 8 pixels au dessus ou au dessous.

Cela dit, le plus gros coef est plus petit que la somme des autres lors du balayage classique, donc en fait l'erreur est quand même essentiellement (60%) poussée "en dessous". Du coup les contraintes thomsons sont encaissées sans trop de soucis vu que l'essentiel des erreurs est poussé (en étant plus diffusée certes) vers le bas. J'avais même, au tout début de ce fil, sur des images depuis disparues utilisé des coefficients exclusivement "en dessous" (genre 0.25, 0.5, 0.25). Ca crée des artefacts très "thomson" (à savoir des alternances de lignes horiz). C'est un style comme on dit, mais je ne l'ai pas retenu (les coefs variables de Ostro rendent bien mieux) :)

La lecture des discussion de la wiki au sujet du dither par Sam Hocevar est instructive. Il y explique pourquoi il a viré cet algo de la wiki et je suis assez d'accord d'avec ce qu'il dit:
Sam_Hocevar a écrit:
I removed mention of Riemersma (Hilbert-Peano) (...). Riemersma dithering is either a joke or a disgrace for dithering algorithm designers. It gives pathetic results, performs irregularly depending on the image dimensions, offers no demonstrated performance gain and breaks cache efficiency.
Bon après j'imagine que ca dépend des images et qu'il faut peut-être expérimenter sur celles qu'on veut convertir.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 165 messages ]  Aller à la page Précédente  1 ... 7, 8, 9, 10, 11

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 26 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
cron
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com