La machine à Scanner (4)

Configuration et optimisation

La machine à Scanner (1)
La machine à Scanner (2)
La machine à Scanner (3)

Optimisations mécaniques apportées au concept initial

Durant les premiers tests de configuration des appareils photo, 3 défauts de conception sont apparus.

  • La lumière était trop jaune
  • La plaque de base n’était pas assez mobile
  • Le chariot doit toucher la plaque de base dans sa position la plus basse

Sous l’influence du type de lumière et de la couleur des pages, les appareils  amplifient la couleur jaune de ces dernières. Il a donc fallut changer la lumière et dans notre cas, les ampoules. Heureusement, au Brico du coin, se trouvaientt des ampoules halogène de 1200 lumens pour 2.10 €.  Les Halogènes fournissent le meilleur éclairage pour les scanners car  elles produisent une lumière très blanche. Changer les ampoules standards par des ampoules halogène s’est avéré suffisant pour résoudre le problème du jaunissement excessif des pages.

La mobilité de la plaque et le défaut d’alignement vers le bas du chariot ont tous les deux été résolus par l’ajout de petites roulettes fixes sous la plaque de base. En fait c’est le chariot en s’abaissant qui positionne le berceau. Celui-ci s’adapte de lui-même à la position idéale pour que le chariot puisse descendre au plus bas. Pour que cela puisse se faire, la plaque de base qui porte le berceau, doit être d’une mobilité facile. Les roulettes ont aussi l’heureux effet de surélever la plaque de base, ce qui corrige le défaut de hauteur. Quand un commence à scanner un livre, la première page (de gauche) pour être plaquée et bien aplatie contre le berceau par le chariot, nécessite que ce dernier s’abaisse au maximum jusqu’à toucher la  plaque de base. A ce moment, la pointe basse du chariot n’est séparée de la plaque de base que par l’épaisseur du dos de la reliure. Dans le cas d’un carton souple, c’est moins d’un millimètre. Dans la photo ci-dessous, prise avant la pose des roulettes, on voit bien que ce n’était pas le cas et un espace permet aux premières pages de gondoler allègrement. Les roulettes mises, le plateau entier à été surélevé et le problème à disparu.

Mise des roulettes:

et voilà le travail !

Configuration des appareils photo

Les appareils photos doivent être configurés afin de répondre à 3 besoins fondamentaux:

  • Le focus doit être fixe pour ne pas être recalculé à chaque prise, ce qui implique de désactiver l’autofocus
  • Le flash doit être impérativement désactivé, car il induit d’horribles reflets des plaques transparentes du chariot et vide les batteries
  • le zoom doit être programmé en position fixe.

Les appareils Canon compacts ont seul un langage de programmation. Les autres marques n’en font pas ou bien les réservent aux Reflex bien plus coûteux. La communauté des scripteurs s’articule autour du CHDK : « Canon Hacker Development KIT » dont le site est:

http://chdk.wikia.com/wiki/CHDK

Vous y trouverez les binaires adaptés à votre appareil. Si votre appareil n’est pas dans la liste suivante, il ne vous reste qu’a en changer, car ce constat est sans appel.

http://view-source:http://chdk.wikia.com/wiki/FAQ

Aussi on ne saurais trop recommander de consulter cette liste religieusement.

Première étape

Il faut identifier le firmware de votre appareil pour savoir quel CHDK il vous faut prendre, car à chaque modèle peux correspondre plusieurs Firmwares. Pour cela il va vous falloir écrire sur votre carte micro SD. Sachez que vous ne pouvez pas le faire en branchant votre appareil sur le PC via le câble USB. La connexion USB ne permet d’interaction que par l’applicatif image et ne concerne que les manipulations qui concernent les photos. L’édition des fichiers n’en fait pas partie. C’est dommage mais c’est comme ça.

Pour charger ou modifier des fichiers sur la MICRO SD, on utilise un « card reader » USB. J’ai acheté le mien pour 8€ ce n’est donc pas un problème. Mais il faut dès le départ vous résigner à ce que toute modification sur la carte SD,  implique qu’il faut la sortir de l’appareil photo pour la mettre dans le « card reader » pour devoir la remettre dans l’appareil après.

Pour identifier votre modèle de firmware, formattez votre carte SD et créez un fichier vide ‘ver.req’ et ‘vers.req’ (celui utilisé est fonction du modèle, aussi on met les deux). Allumez votre Canon en appuyant sur ‘PLAY’ et ‘FUNCTION’ simultanément. Notez que le bouton ‘PLAY’ est  le même que ‘ALT’ c’est parce que en CHDK on assigne par défaut ’ALT’ sur ‘PLAY’ mais c’est configurable. ‘ALT’ permet de se mettre en mode script.

Vous devrier voire apparaitre sur l’écran OSD le nom de votre firmware. Cela ressemble à ’100b’ ou bien ’1100.100a’. Dans tous les cas, c’est la dernière partie qui est significative, c’est à dire le ’100b’ ou ’100a’.

Deuxième étape

Vous avez downloadé votre binaire, il va falloir maintenant le mettre sur votre carte SD et booter votre Canon avec. Il y a plusieurs manières de le faire, celle qui est décrite maintenant est la plus simple.

Voici la traduction de http://chdk.wikia.com/wiki/Bootable_SD_card

Méthode 1 – Utilisation du CHDK pour rendre la carte SD bootable.

  1. Commencez avec le commutateur de verrouillage de carte SD en position déverrouillée (il y aura un petit commutateur sur le côté de la carte – voir photo ci-dessus -. Assurez-vous qu’il est en position déverrouillée – vers le haut – pour commencer ce processus)
  2. Formattez la carte dans l’appareil photo ou par PC via le ‘card reader’. La carte contient maintenant une seule partition FAT32. Assurez-vous que votre appareil n’a pas formaté la carte en exFAT – voir la note d’avertissement au début de cette section – vous pouvez avoir besoin d’utiliser quelque chose comme format FAT32 pour formater le. carte dans votre PC en est ainsi. Si votre carte à plus que 4G vous devez peut -être la partionner.
  3. Retirez la carte de votre appareil photo et mettez la dans le lecteur de carte SD. Décompresser le firmware CHDK directement sur la carte (y compris tous les sous-répertoires). Le décompresser sur le PC et copier le tout marche aussi.
  4. Remettre la carte dans votre appareil photo. La carte est encore déverouillée
  5. Allumez votre appareil photo en appuyant sur le bouton de lecture ‘PLAY’. Ne commencez pas l’appareil avec le commutateur marche / arrêt ou ce processus ne fonctionne pas.
  6. Appuyez sur ‘Menu’ et  trouver l’option Mise à jour du firmware dans les menus Canon.  A la question FIRMWARE upgrade 1.0 vers 1.1 ,  répondez Oui.
  7. Après l’affichage du logo  CHDK, Entrez dans le menu CHDK en utilisant le bouton <ALT> de votre appareil photo.
  8.  Appuyez sur ‘MENU’ et vous êtes dans le menu CHDK. Sélectionnez Miscellaneous stuff -> Make Card Bootable
  9. Éteignez votre appareil photo, Sortez la carte SD et mettez la protection en écriture de la carte SD en déplaçant le petit interrupteur sur le côté de la carte à la position verrouillée (vers le bas) et insérez la carte dans votre appareil photo. CHDK est installé!

Troisième étapes

Bootez votre canon en appuyant sur  ‘PLAY’  et quand il est allumé, appuyer sur ‘ALT’ (c’est la même touche :p)  La une petite icône ‘ALT’ sur l’écran OSD signifie que vous êtes en mode ‘Alternate’ donc en configuration. Le bouton déclencheur ne prend pas des photo mais lance le script couramment chargé.

Maintenant appuyez sur ‘MENU’ pour montrer le menu CHDK et puis directiement sur ‘FUNCTION SET’  pour entrer dans ‘EXTRA PHOTO OPERATIONS’.

Voici les paramètres de ma configuration. J’ai mesuré la distance entre mon appareil et la surface du panneau en vis-à-vis du berceau et elle est de 54 cm. Ce qui explique que j’ai mis ‘Override subject dist value’ à 535 (mm). Adaptez cette valeur à  votre mesure. Les lignes ‘value factor’ sont les incréments du paramètre de la ligne du dessus. Ainsi pour obtenir 535 dans ‘Override Subj. Dist. V’,  j’ai mis ‘value factor’ en dessous a 100 puis appuyé 5 fois au dessus ce qui donne 500, mis ‘value factor’ à ’10′,  appuyé 3 fois au dessus, ce qui donne 530  et avec ‘value factor’ à ’1′  appuyé 5 fois, on atteint 535.

Quatrième étapes

Il faut écrire un script qui va empêcher votre flash de s’activer, mettre le zoom à la valeur désirée et désactiver l’autofocus (pour empêcher un recalcul à chaque prise) . Le focus est normalement mis par la fonction ‘Override subject dist value’ mais on peut le répéter dans le script par mesure de sécurité.

Voici mon script ‘doit4.lua’ qui met en zoom x 4. J’en ai fait trois, un zoom3 pour les grand format et un zoom5 pour les petits formats. Tous ont les même focus. Vous devez copier votre script dans le directory SCRIPTS. La ligne ‘@title Doit4′ est lue et le tritre (doit4) sera  mis sur l’écran OSD. pratique pour savoir quel script on s’apprête à tourner.

--[[
@title Doit4
--]]
print_screen(3)

sleep(100)
set_record(1)
while not get_mode() do
sleep(10)
end
press("shoot_half")
repeat sleep(100) until get_shooting() == true

print("set zoom to 4")
set_zoom_speed(100)
sleep(100)
set_zoom(4)
while get_zoom() ~= 4 do
sleep(10)
end

sleep(2000)
print("Disabling Flash mode")
set_prop(143,2)

sleep(2000)
release("shoot_half")
repeat sleep(100) until get_shooting() == false
sleep(2000)

print("Disabling autofocus")
set_aflock(1)
sleep(2000)

set_av96(18)
set_tv96(10)
set_focus(545)
sleep(3000)

x=get_focus()
print("focus after lock ",x)

exit_alt(0)

Notes sur ce script:

  1. Avant de configurer quoique ce soit,  il mettre l’appareil en mode ‘SHOOT HALF’ qui signale qu’on s’apprête à configure. sinon les verrous précédemment mis restent en place et la configuration foire. Par exemple essayer de modifier le zoom sans être dans ce mode résulte en un shutdown du Canon.
  2. SET_RECORD(1) Met l’appareil en mode ‘record’ pour prendre des photos. Si l’objectif n’est pas sorti, il le sort.
  3. SET_AFLOCK(1) désactive l’autofocus.
  4. EXIT_ALT(0) sort du mode CHDK configuration car dans le mode CHDK, le déclencheur sert à démarrer le script sélectionné.
  5. Tout configuration ne prend effet qu’après le prochain déclenchement. Aussi il st de bon ton de faire un déclenchement à vide avant une séance de scan.

Pour des facilités de choix j’ai mis tous les scripts existant dans /SCRIPTS dans le sous-directory TEST et copié 3 scripts : doit3.lua, doit4.lua, doit5.lua.

Pour sélectionner un script, ‘ALT’ puis SELECT SCRIPT. Pour démarrer le script, appuyer sur le déclencheur. Le script sortira lui même du mode ALT avec l’instruction ‘exist_alt(0)’.

Utilisation:

Je met mon appareil en place et j’allume via ‘PLAY’, je ré-appuye dessus pour entrer en mode ‘ALT et sélectionne le bon script. Puis sur le déclencheur et le script se déroule. Quand il a fini, appuyer sur le déclencheur prend une photo. J’ai appris à  mes dépends,  qu’il ne faut pas que le script se déroule alors qu’il n’y rien ou une page blanche sur le panneau. Le focus ne se met pas  bien du tout. Par contre si on a du texte, il se met correctement à la distance requise. Aussi j’ai imprimé des mires et j’utilise cela pour l’allumage. C’est certes étrange, mais Il faut se rappeler que le CHDK du Cannon a800 n’est qu’une version Beta.

Voici un exemple de scan. La page est jaune mais c’est acceptable pour l’OCR:

Ou encore en format A4:

J’ai passé ces grand format a l’OCR et ça marche. Mais il est certain que les appareils 10mp montrent ici leurs limites. Je suis obligé de jouer d’Aperture et autre valeur EV  pour maximiser la netteté. J’aurais avantage à utiliser des 16mp. Mais attention les images montrées ici sont de 900k maximum due aux limitations du Blog. Les images réelles pour l’OCR sont de 4 mega.

Voilà pour le moment. J’ai encore des projets pour améliorer cette machine, notamment en introduisant un lien direct avec un ordi (CHDK PTP) , mais ce sera pour 2013.

Bernard Polarski

Une réflexion au sujet de « La machine à Scanner (4) »

  1. Bravo…..Un tres grand Bravo…..travail d’excellence qui merite une Révérence tres digne.Et en plus un grand Merci…pour avoir demontré qu’il existe ,encore,des gens qui peuvent « creer » et non pas seulement « consommer ».
    Chapeau bas ….
    Mokhtar