Aller au contenu

Matrices de bayer


Greg34

Messages recommandés

Bonsoir,

 

J'ai commencé hier (à cause du temps!) à écrire un soft pour lire les fichiers .ser

 

2eeiv5v.jpg

 

Lecture de l'entête ok...

Affichage de l'image ça craint!

 

En me documentant un peu, j'ai pu lire qu'en gros selon le nombre de bits utilisé, il fallait recréer une interpolation des pixels (l'image est parlante.).

Est ce qu'il aurait une lib qui traine quelque part pour reprendre tous ces algos (dll c++ ou pascal)?

 

J'ai quelques idées en tête...notamment du live avec un traitement GPU pour les soirées d'hiver lorsque le temps sera pourri ^^

D'ailleurs, ça m'étonne que les shaders (OpenCL ou Cuda) ne fassent pas la une dans les softs astro.

Modifié par Greg34
Modification du titre
Lien vers le commentaire
Partager sur d’autres sites

Hello,

Tu peux peut-être t'inspirer de ce projet.

Perso j'adore ce petit lecteur de SER multiplateforme :

http://stargazerslounge.com/topic/244887-ser-video-player-for-windows-and-os-x/

http://stargazerslounge.com/topic/246411-ser-video-player-for-linux-debian-package/

 

Sinon, OpenCV possède des algo de dématriçage. Le bilinéaire, très rapide, semble tout indiqué pour ce genre de programme.

Lien vers le commentaire
Partager sur d’autres sites

J'ai réussi! (enfin quelques bugs encore...)

mini_896063Sanstitre.jpg

 

Du coup, je suis tombé sur cette source->https://github.com/Tody-Guo/FCAM_Viewer/blob/master/Inc/Raw2Rgb.pas

Et j'ai utilisé la fonction de la dll sous cette forme pour tester:

...
GetMem(pRGB, 3* fsize);  
FC_Raw2Rgb(pRGB, pointer(Header.Image_Data),
              Header.ImageWidth,
              Header.ImageHeight,
              BAYER_RG, ARITH_NEAREST_NEIGHBER);

freemem(Header.Image_Data);

Serview.Form1.PaintBox321.Width :=Header.ImageWidth;
Serview.Form1.PaintBox321.Height:=Header.ImageHeight;
Serview.Form1.PaintBox321.Buffer.Clear(0);

pr:= pRGB;
for i:=0 to Header.ImageHeight -1 do
 for j:=0 to Header.ImageWidth -1 do
 begin
   Serview.Form1.PaintBox321.Buffer.Pixels[j,i]:=color32(pr.rgbtRed,pr.rgbtGreen,pr.rgbtBlue,255);
   inc(pr);
 end;
...

 

Chargement & affichage rapide déjà mais je vais quand même essayer les autres soluces car j'ai pas la source de la dll...

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines plus tard...

J'ai mis de coté mon viewer de .ser pour le moment car depuis que j'ai acquis ma plb-cx et son sdk (depuis une semaine), je développe autour de cette cam.

J'ai fini en 2 jours un soft de lecture avec tous les contrôles de la cam sauf que l'algo de dématriçage pour les ser ne marche pas pour la capture en live...

Du coup, en lisant je suis tombé sur cette article qui traite le dématriçage d'un capteur sous opengl via un shader.

 

http://graphics.cs.williams.edu/papers/BayerJGT09/bayer-jgt09.pdf

 

Ce petit billet pourrait en inspirer plus d'un.

Perso, je tente le projet sous directx avec un dématriçage GPU (caméra->frame buffer ->Directx/Shaders)

 

A suivre.

Lien vers le commentaire
Partager sur d’autres sites

Bon...ça progresse :be:

 

J'ai dev vite fait un soft sous opencv et ça tourne nickel avec l'histogramme.

 

2eeboud.jpg

 

Le screen est pas révélateur pour le moment car la cam est sur mon bureau.

Je compte essayer de coupler opencl histoire de tester dans la foulée et j'ai un shader de prêt pour directx avec un debayer/réglage gamma.

 

Ca devrait permettre de faire des trucs sympas en déléguant les tâches au GPU.

 

Les soirées d'hiver s'annoncent longues...

Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines plus tard...

Un petit test de wavelet en traitement GPU sous openGL cette fois (j'anticipe les autres OS :be:)

2re350i.gif

 

Pour ce test, je l'ai fait avec une image d'une de mes lunes (j'ai pas redimensionné la texture vu que c'est juste pour tester dans ce cas là).

 

Ca marche aussi avec la caméra en live, testé en plein jour et traitement en temps réel avec 1% d'occupation CPU pour un Core 2 Dup 3ghz et une Nvidia 460 gtx.

 

Après, avec la turbu, ça risque d'être drôle :confused:

 

Je suis de plus en plus sûr qu'on peut accélérer les traitements et voir même faire du temps réel en astro ^^

Il y a du taf encore mais quand le temps est pourri, je passe un peu de temps à coder.

Modifié par Greg34
Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines plus tard...

Camera (raw data)->debayer->demosaîc le tout avec le GPU et ça marche!:be:

attachment.php?attachmentid=29240&stc=1&d=1445717232

L'image est surexposé (trop de vert aussi...) mais l’intérêt repose surtout sur l'interpolation des pixels en live.

1% de processeur utilisé ^^

Reste encore à ajouter les autres filtres(balance/saturation/contraste ...) et à multithreader/bufferiser le tout, le prog principal à tendance à ramer au niveau de la prévisualisation vidéo.

5aa583cd4e5c2_Sanstitre.thumb.jpg.8e488b1aa32a611551d2e5a20f5dea58.jpg

Lien vers le commentaire
Partager sur d’autres sites

Bravo pour ce boulot, impressionnant.

 

On n'est pas obligé de réinventer le fil à couper le beurre mais des messages d'encouragements ne sont pas superflus. Heureusement qu'il y a encore des gens qui se prennent la tête à taper des lignes de code ! Cela reste une façon de mettre le pied à l'étrier pour peut-être passer à un niveau supérieur, je pense au programme SIRIL de lock042 par exemple.

Lien vers le commentaire
Partager sur d’autres sites

Merci pour les encouragements stefg1971 :)

 

On n'est pas obligé de réinventer le fil à couper le beurre

Tout à fait, sauf que dans ce cas précis, j'utilise ma carte graphique pour faire les calculs et non mon CPU.

L'idée m'est venue des jeux vidéos et vu que j'en avais commencé quelques uns, je m'étais dit qu'au niveau traitement on pouvait y gagner un max ^^

 

je pense au programme SIRIL de lock042 par exemple

Je suis allé voir du coup et j'ai presque envie d'installer une distribution linux sur mon pc sauf que mes DD sont pleins :confused:

Lien vers le commentaire
Partager sur d’autres sites

Franchement, faire du traitement par GPU, je ne trouve pas que c'est ré-inventer le fil à couper le beurre. Arriver à dématricer en temps réel en laissant dormir le CPU :b:

 

Tu fais comment pour utiliser les shaders avec Delphi 7 (si c'est bien lui que tu utilises)? Il y a bien longtemps, je m'étais frotté aux instructions MMX et SSE plus à titre d'exercice qu'autre chose.

Lien vers le commentaire
Partager sur d’autres sites

lock042:Il ne faut pas hésiter

Avec l'arrivé de windows10 qui va pousser le seven vers la fin, j'y pense de plus en plus :be:

 

Eric S:Tu fais comment pour utiliser les shaders avec Delphi 7 (si c'est bien lui que tu utilises)?

C'est bien delphi7 (marche aussi avec la version 6).

Tu as 2 types de shaders en gros, directx ou opengl.

Pour l'un ou l'autre, j'utilise juste la lib du site http://www.delphigl.com/ et pour directx c'est http://www.clootie.ru/delphi/..

Pour directx, j'avais fait une classe de shaders pour Zengl qui est une autre lib utilisant directx en version simplifié pour la création de jeux.

Après la procédure est la même grosso modo texture/buffer->pixel shader->rendu.

Hier, j'ai réussi à débrider le fps de la partie visuel donc de 20 fps, je suis passé à 1800 fps, ce qui devrait me laisser plus de potentiel pour les traitements à venir.

Suite le weekend prochain car en déplacement, j'ai pas delphi sur mon portable ^^

En tout cas, j'ai moi même été surpris du rendu et surtout de la vitesse d’exécution.Il y a encore pas mal de taf pour construire la base et j'espère qu'une fois le bébé à jour, ça en inspirera plus d'un quand je balancerai les sources :)

Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois plus tard...
Des shaders en delphi, j'hésite entre vomir et applaudir :D

 

M....! j'avais pas vu! :be:

Ben...les 2 je crois ? :p

 

Pour info, j'en suis à ma 3ième distri linux...et comment dire, c'est aussi stable qu'un win95c...(c'est du full C nan ? ^^)

Pour être franc, j'ai pas choisi les meilleures aussi!

LinuxMint,Ubuntu et Kubuntu.

La prochaine, je vise Debian! (merci Kali-linux!)

 

Sinon, je suis toujours sur le bébé:

mini_793481Sanstitre.jpg

Ajout de filtres gpu, zoom numérique/rotation et déplacements dans l'image avec les touches...bref, ça ressemble plus à un jeu vidéo à force qu'un soft astro.

Désolé pour les fps, j'ai un pc pourri :be:

 

Je me demandais si c'était intéressant de combiner mon soft avec ce type d'image:

mini_271680polaire.jpg

Je compte le convertir en transparent de manière à recréer un viseur polaire associé avec la caméra ?

Bien sur, tout ça en tenant compte de l'heure et la position de Polaris pour centrer le pôle céleste et faire un 'blend' de l'image réelle à celle de Stellarium.

A moins qu'il y ait quelque chose de plus précis ?

Je pense que ça pourrait être un plus avec un VP d'installé ?

Bref, toute idée est la bienvenue.

 

Et bonne fêtes aussi dans la foulée !:beer:

Lien vers le commentaire
Partager sur d’autres sites

Histoire d'être plus clair avec cette MES en live avec une caméra.

J'ai mis une vidéo sur youtube histoire d'être plus précis:

"6BSOH6trsPY" via YouTube
ERROR: Si vous lisez ce texte, YouTube est hors-ligne ou vous n'avez pas installe Flash

 

Comme un VP, on pourrait s'aligner sur le pôle celeste mais avec la cam.

Bon ok...la lune a rien a voir avec la polaire ^^ mais c'était pas le but, juste de montrer qu'il serait possible de faire une MES plus précise avec une cam... ou pas ?

Pas testé encore en situation réelle vu que le temps s'y prête pas :confused:

 

Meilleurs vœux pour 2016! :amigos:

Modifié par Greg34
Lien vers le commentaire
Partager sur d’autres sites

Pour info, j'en suis à ma 3ième distri linux...et comment dire, c'est aussi stable qu'un win95c...(c'est du full C nan ? ^^)

Pour être franc, j'ai pas choisi les meilleures aussi!

LinuxMint,Ubuntu et Kubuntu.

La prochaine, je vise Debian! (merci Kali-linux!)

Dire qu'il y en a pour affirmer que Linux c'est fastoche...

Lien vers le commentaire
Partager sur d’autres sites

Dire qu'il y en a pour affirmer que Linux c'est fastoche...

Exact, tu fais bien de le rappeler, après pas mal d'années sous Windows, j'ai définitivement abandonné pour Linux, plus simple que Windows à la finale, surtout plus clair dans le fonctionnement.

Quand je dois retourner sous Windows, j'ai un mal fou à présent, question d'habitude tu me diras... :cool:

Lien vers le commentaire
Partager sur d’autres sites

Premiers essais en live avec la cam & le telescope avec la dernière version.

 

26125-1451832537.jpg

 

A gauche PlxCapture, au centre (astrogpu ?) et à droite, une projection de la polaire tout en filmant.

 

Prochaine étape, zoom avec interpolation et beaucoup de bugs à corriger :confused:

 

Une autre avant que j'intègre la caméra,je m'étais amusé avec les différents curseurs:

26125-1451833859.jpg

 

Sinon pour en revenir à Linux, ce que je trouve navrant c'est que la communauté est trop divisée...trop de distri souvent buggées.

Chacun veut faire son linux et pour tomber sur la bonne distri, faut en essayer plusieurs.

Sinon c'est pas compliqué, c'est juste différent de windows.

Par contre, ça souffre encore au niveau de la diversité des logiciels :be:

D'ailleurs, j'ai pas plus gratté que ça...mais si quelqu'un pouvait m'expliquer la notion de driver Indi pour les caméras ? j'ai vu que j'avais aussi ce driver pour Linux, après je me suis pas lancé dans la mise en service de ma cam sous linux encore.

Modifié par Greg34
Lien vers le commentaire
Partager sur d’autres sites

Sinon pour en revenir à Linux, ce que je trouve navrant c'est que la communauté est trop divisée...trop de distri souvent buggées.

Chacun veut faire son linux et pour tomber sur la bonne distri, faut en essayer plusieurs.

Sinon c'est pas compliqué, c'est juste différent de windows.

Il n'y a pas de mauvaises distros, elles sont un peu différentes.

Certaines sont plus abouties que f'autres, avec plus ou moins de monde derrière, voilà tout, c'est ça la liberté.

Mais à la finale, c'est à peu près pareil pour le pékin moyen, perso je passe de l'une à l'autre sans souci, mais RED HAT produisant CentOS et Fedora indirectement est forcément autre chose que Mageia, ou Ubuntu produit par Canonical.

Mint est issue de Ubuntu et se veut indépendante, justement.

En réalité, il y a trois ou quatre grandes familles, pas si éloignées que cela non plus, c'est la même base.

Tous les constructeurs de voitures devraient aussi se réunir pour faire une seule auto, lol...

Les journaux devraient aussi se regrouper pour faire UN bon journal, etc....

 

OSX de Apple est basé sur un noyau BSD modifié, Android carrément sur un noyau Linux, et la plupart des systèmes embarqués sont Linux.

Windows est isolée, en fait.

 

Par contre, ça souffre encore au niveau de la diversité des logiciels :be:

C'est le problèmes des brevets propriétaires : c'est verrouillé côté code source, il y a des sous derrière, le partage c'est par leur truc,au contraire.

C'est bien pour cela que les logiciels Linux sont Open Source, afin de partager et de les faire évoluer en toute liberté.

Modifié par paradise
Lien vers le commentaire
Partager sur d’autres sites

Oui, vu sous cette angle, tu as pas tort.

Enfin me concernant, quoiqu'il en soit, je compte bien couper le cordon avec windows un de ces jours...surtout quand on nous poussera de force vers la version 10 :confused:

Je suis pas fan de ces 'vignettes' pour travailler.

Pour le taf, j'ai un portable avec un windows8 et je crise surtout avec le tactile qui m'ouvre la barre latérale droite à tout va.

 

Mais bon, changer d'OS...c'est un peu comme si on changeait de pays sans en maitriser la langue ^^

Lien vers le commentaire
Partager sur d’autres sites

 

Mais bon, changer d'OS...c'est un peu comme si on changeait de pays sans en maitriser la langue ^^

Tout à fait, c'est déconcertant, tout est question d'habitude.

Passer de XP à Vista ou à Seven, ou à 8 et 10, c'est déconcertant aussi pour le pékin moyen.

Comme beaucoup de gens, on débute sous Windows en ignorant qu'il existe d'autres systèmes, et surtout un système libre (Linux, BSD) : vente liée, dumping commercial, etc...

En fait, il suffit de s'intéresser au fonctionnement d'un ordi, et on sait bien mieux appréhender les soucis éventuels, que ce soit sous Windows ou autre.

Ensuite seulement tout s'éclaire et comme je le dis plus haut, à présent je suis bien plus à l'aise sous Linux que sous Windows, il y a bien une raison, et je ne suis pas informaticien.

Le problème éventuel des applications est un autre domaine, à chacun de voir, sous Mac non plus tu n'as pas toutes les applis Windows et pourtant plein de gens possèdent des Mac, ou des tablettes Android, en tout cas chez moi Windows c'est fini, je ne vais dessus que contraint ou bien pour aller réparer des amis, avec Windows 10 il y a des soucis avec les Mises à Jour boguées automatiques, Microsoft semble s'emmêler les pinceaux depuis un moment, j'en connais qui sont revenus à Seven.

Modifié par paradise
Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines plus tard...

Doucement mais surement ^^

Hier, j'ai fait un test malgré le vent avec la cam au foyer du 150/750 :confused:

 

J'ai fait 120 images de la lune:

1ière image dans le gif: un "one shot" juste avec le dématriçage gpu.

2ième image: "one shot" avec dématriçage/augmentation des détails le tout en gpu.

Et la 3ième: un "stack" (sous RegiStax ) des 120 images de la méthode citée en 2.

 

784355gpu1.gif

 

Version plus grosse ici->mini_375536gpu.gif

 

Avec cette même focale, je me suis amusé avec le zoom numérique toujours au foyer à faire cette image:

(stack (sous RegiStax ) 60 images dématriçage/+ détails/interpolations)

914033zoom.jpg

 

C'est pas jojo, mais c'était juste histoire de pousser un peu et de voir ce que ça pouvait donner avec un grossissement virtuel.

 

Pas testé sur Jupiter, fallait se lever tôt ou se coucher tard...puis avec le vent, ça donnait pas envie de prendre le risque :be:

 

J'ai testé en CP, l'interpolation tue le résultat...bref horrible pour le moment.

Modifié par Greg34
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation !

Vous pouvez répondre maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous pour poster avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.