SIV - une visionneuse stéréoscopique JPS pour Linux
Comme promis dans JPS-viewer pour Linux , voici la toute première version de SIV, tereoscopic I mage V Viewer de la première disponible pour Linux quad soutenir tamponnée stéréo. Eh bien, ce n'est pas 100% correct, car il est construit sur OpenSceneGraph il est un peu plate-forme indépendante et schould compile bien sur Windows, Mac et UNIX. Cependant, j'ai seulement essayé avec linux car il ya suffisamment de solutions de rechange disponibles pour la plupart des autres plates-formes.
SIV est capable d'afficher des images stéréo jps dans différents modes de stéréo. Je l'ai essayé en mode plein écran / fenêtré avec anaglyphes et quadruple tampon mode stéréo. Différents dispositifs de sortie que j'ai testé étaient mon VR920 Vuzix et relevator lunettes à obturateur sur Nvidia Quadro FX 350M et FX 3400. Il manque encore quelques fonctions pratiques comme un mode de diashow.
Capture d'écran du spectateur comme fenêtre en mode anaglyphe:
Une note sur le nom de SIV, SIV représente S tereoscopic I mage V Viewer, mais comme je l'ai découvert Siv est aussi le nom de l'épouse du dieu Thor dans la mythologie nordique. Voir: Wikipedia: Sif et Behindthename: Siv . Sif et Siv sont du même nom, les deux écritures sont possibles. Une fois que j'ai découvert cela, j'ai pensé que c'est un nom cool pour ce travail.
Utilisation:
. / SIV [options] jpsfile (s)
Options:
-CullDrawThreadPerContext Select CullDrawThreadPerContext
modèle de thread pour spectateur.
CullThreadPerCameraDrawThreadPerContext-Select
CullThreadPerCameraDrawThreadPerCo-
ntext modèle de thread pour spectateur.
-DrawThreadPerContext Select DrawThreadPerContext
modèle de thread pour spectateur.
-SingleThreaded Sélectionnez SingleThreaded filetage
modèle de spectateur.
-Accum-rgb Demandez un accumulateur tampon rgb
visuelle
-Accum-RGBA Demander un accumulateur tampon rgb
visuelle
Cc Demandez utilisation des contextes de compilation et d'édition
threads
<couleur>-Transparent-couleur Définit la couleur de fond de l'
spectateur sous la forme "r, g, b [, a]".
-Display <type> MONITOR | POWERWALL |
REALITY_CENTER |
HEAD_MOUNTED_DISPLAY
-RGBA demander une couleur RGBA tampon visuelle
-Échantillons <num> Demander un multi-visuelles
Écran <num> Par l'écran à utiliser lorsque plusieurs
les écrans sont présents.
-Serialize-tirer <mode> OFF | ON - définir la sérialisation d'
tirer expédition
-Demandez un pochoir stencil buffer visuel
Stéréo en mode stéréo Use default qui est
Anaglyphe si elle n'est pas remplacée par
variable environnementale
Stéréo <mode> anaglyphe | QUAD_BUFFER |
HORIZONTAL_SPLIT | VERTICAL_SPLIT |
LEFT_EYE | RIGHT_EYE |
HORIZONTAL_INTERLACE |
VERTICAL_INTERLACE | CHECKERBOARD |
ON | OFF
-Fenêtre <xyw h> Réglez la position (x, y) et la taille
(L, h) de la fenêtre de visualisation.
-O <option_string> Fournir une chaîne d'options pour
lecture / écriture utilisés pour charger
bases de données
-E <extension> charger le plugin associé à
la manipulation des fichiers avec indication
prolongement
-H ou-help Affiche cette information
-L <library> charger le plugin
Vous pouvez remarquer que la plupart des options sont issus osgViewer, qui est la classe de base pour le spectateur. Cela donne l'avantage, que l'on peut utiliser les commandes de osgViewer "normales" comme voler autour de la scène. Essayez de tenir le bouton droit de la souris et en déplaçant la souris vers le haut ou vers le bas pour effectuer un zoom arrière ou po ou appuyez sur F pour basculer en mode plein écran ou appuyez sur S pour basculer l'(fps, etc) affichage des statistiques.
Vous pouvez fournir plusieurs fichiers. Jps à la ligne de commande. Ie. / SIV *. JPS afficher tous les fichiers jps dans le dossier courant ![]()
Une fois la première image de la liste est affichée, vous pouvez utiliser CURSEUR_HAUT / bas ou la molette de la souris pour sélectionner une image différente pour l'affichage. Dans les versions futures, je peux mettre en œuvre une fonction de diashow ...
Lors de l'affichage d'une image le nom du fichier de l'image est affichée dans le coin inférieur gauche.
Vous pouvez trouver quelques images jps pour essayer le spectateur sur: images stéréo à partir de Juneau .
Problèmes possibles:
Par défaut SIF commence en quad fullscreen tamponnée mode stéréo. Ainsi, si votre matériel graphique ne supporte pas ce mode, le spectateur se terminera avec l'erreur suivante:
Erreur: ne peut pas créer demandé visuelle.
GraphicsWindow n'a pas été créée avec succès.
Viewer :: réaliser () - n'a pas réussi à mettre en place toutes les fenêtres
Dans ce cas, essayez le mode anaglyphe ou le mode 3D de apropiate pour votre matériel (voir la stéréo en option).
Vous pouvez rencontrer l'application des erreurs de segmentation. La plupart peut-être la raison est que votre OpenSceneGraph manque la bibliothèque osgdb_jp2.so dans le dossier lib / osgPlugins. Si vous STRACE l'application et la dernière chose qu'il essaie avant des erreurs de segmentation est d'accéder osgdb_jp2.so, c'est la raison. Le problème sera corrigé dans la prochaine version du SIV. Pour l'instant installer Jasper et reconstruire OpenSceneGraph.
Ne pas télécharger ces fichiers, sauf si vous voulez plus explicitement cette version. Nouvelle version est disponible à l'adresse: SIV-1.0 est sorti
J'ai décidé de publier le spectateur sous la licence creative common Pas d'Utilisation Commerciale. Assurez-vous que vous avez le openscenegraph bibliothèque installée avant d'essayer de compiler ou exécuter le spectateur. Vous pouvez télécharger le code source complet (projet Eclipse) à partir d'ici: SIV-source (362) ou un binaire x86_64 partir d'ici: SIV-x86_64 (366) . Plus de formats binaires peuvent être disponibles à l'avenir. Fore le binaire x86_64 vous aurez besoin OpenSceneGraph-2.8.
Binaires pour la plupart des distributions Linux peuvent être téléchargés à partir www.openscenegraph.org . Les instructions sur la façon de construire OpenSceneGraph sur gentoo peuvent être trouvés sur PlopByte .
Compilation des sources:
Pour la construction de décompresser le zip de la source et cd de SIV / Release et lancer make.
Les plans futurs:
Pour l'avenir, je tiens à mettre en œuvre une fonction de diashow et à intégrer la headtracking VR920 dans la visionneuse. Ce serait vraiment cool de voir une image panoramique de la mer en 3D en tournant la tête
C'est la raison pour laquelle l'image ne s'affiche pas simple, mais sur un segment de cylindre. Pour le suivi, je vais devoir écrire un pilote pour le VR920 headtracking premier, pour obtenir le ViewMatrix de la caméra pour le spectateur. Puisque dans Vuzix Forums j'ai trouvé un pilote non de travail, à partir de laquelle j'ai pu apprendre à lire les données du capteur, je n'ai plus qu'à mettre en œuvre les calculs neccesary et méthodes d'étalonnage.
Eh bien, j'espère que vous apprécierez la 3ème dimension. Si vous aimez le spectateur N'hésitez pas à lier à MyGNU.de.
Restez à l'écoute pour les mises à jour
Jürgen






![Valider mon flux RSS [Valid RSS]](http://validator.w3.org/feed/images/valid-rss.png)



































19 mars 2009 à 19h46
[...] L'avenir, je prévois d'étendre le spectateur JPS j'ai publié dans SIV - une visionneuse stéréoscopique JPS pour Linux d'utiliser les données de suivi du pilote, donc on peut regarder autour de la scène en tournant son [...]
6 avril 2009 à 02h01
[...] Fier de présenter une nouvelle version du SIV, le JPS visionneuse stéréoscopique pour Linux, j'ai publié la première fois en SIV - un JPS visionneuse stéréoscopique pour Linux. SIV est capable d'afficher des images stéréo jps dans différents modes de stéréo. Je l'ai essayé dans [...]
27 avril 2009 à 18h11
Merci de votre aide!
7 juillet 2009 à 10:26
Bonjour,
merci de SIV. En sorte que j'attends depuis longtemps.
Mais s'il vous plaît également intégrer noir-blanc-anaglyphes et halbfarb-anaglyphes. Anaglyphes en couleur sont la pire variante. À titre d'exemple, je vous recommande les images de la http://www.bilder-der-dritten-dimension.de
S'il vous plaît de comparer les différents types de anaglyphes.
Merci.
7 juillet 2009 à 10:54
Hallo Mohikaner,
Avez-vous eu des problèmes à obtenir SIV afin de fonctionner? Quelle version utilisez-vous sur quelle distribution?
Je pense que je peux ajouter un paramètre ligne de commande pour définir la couleur pour la gauche et l'œil droit. Qu'entendez-vous par «black-blanc-anaglyphes"? Les images en noir-blanc devrait poser aucun problème, ou pensez-vous que SIV pour convertir des images couleur en noir et blanc? Quels sont halbfarb-anaglyphes?
ce qui concerne
Jürgen
Juillet 7th, 2009 at 22:43
Bonjour Jürgen,
noir-blanc-anaglyphes sont pures rouge-cyan anaglyphe, sans autres couleurs. Avec un anaglyphe lunettes, les images apparaissent en noir blanc. Je m'attends à des SIV 'aucune conversion mais SIV »pourrait les images en conséquence présente.
"Halbfarb-Anaglyphen" = "demi-couleur anaglyphes" (désolé)
-----------------
Hallo Jürgen,
schwarz-Weis Anaglyphen sind reine rot-cyan Anaglyphen ohne categories Farbanteile. Mit einer Anaglyphen-Brille betrachtet erscheinen die Bilder schwarz-Weis. Ich erwarte von SIV "keine Konvertierung aber 'SIV könnte die Bilder entsprechend darstellen.
Mohikaner
Juillet 9th, 2009 at 07:22
Je verrai ce que je peux faire dans V1.1.
ce qui concerne
Jürgen
10 août 2009 à 11:22
Hey, das ist ein interessantes Projekt. Die Idee an sich auch ist sehr gut ... weitermachen
7 janvier 2010 à 00h16
Salut, Jürgen,
Je me demande si les fonctions telles que clair / réglage du contraste, zoom et de panoramique sont disponibles dans Siv.
Si non, est-il facile d'ajouter ces fonctions à?
Merci!
mieux,
Qian
7 janvier 2010 à 20h32
Salut,
zoom est disponible avec la souris (cliquer et déplacer la souris vers le haut et vers le bas à droite) ou avec l'interrupteur à distance à la ligne de commande. Essayez SIV aider à voir tous les interrupteurs de commande. Réglage de la luminosité / contraste ne devrait pas poser trop de problème. Je vais mettre ceci sur la liste pour la prochaine version. Quelle fonction panoramique devrait faire?
Jürgen
7 janvier 2010 à 23h14
Merci, Jürgen,
Pour effectuer un panoramique consiste à faire glisser et déposer l'image. Juste pour le déplacer.
Je me demande à quand la prochaine version disponible.
En outre, toute suggestion pour l'élaboration du SIV pour la plateforme Windows?
Merci!
mieux,
Qian
8 janvier 2010 à 15h02
Salut,
vous pouvez déplacer l'image autour de l'utilisation de la souris. Essayez de tenir les différents boutons de la souris et déplacer la souris. Vous pouvez sélectionner un comportement différent de la souris à l'aide des touches 1 à 5 lorsque le VR920-commutateur est donné, sinon vous pouvez utiliser les touches 1 à 4. Mode Trackball semble être le plus utile pour moi (appuyez sur 2 pour l'utiliser en mode VR920, vous pouvez revenir au mode de headtracking appuyant 1) En mode VR920 vous pouvez déplacer l'image autour en déplaçant votre tête, mais cela nécessite mon headtracking conducteur course et bien sûr un VR920 HMD attaché. Quand il n'est pas en mode VR920, le comportement de trackball est par défaut.
Compilation SIV sur une autre plate-forme (Windows, OSX) devrait fonctionner plus ou moins hors de la boîte. Pour plus d'informations sur cette
Jürgen
10 janvier 2010 à 03h01
Merci pour l'excellent post - J'ai adoré le lire! J'ai toujours aimé ce blog.
16 février 2010 à 06h28
Salut, Jürgen,
Lors de la compilation SIV sur Windows avec Visual Studio 2005 et OSG-2.8.2, j'ai reçu un message d'erreur comme:
Une exception non gérée à 0 × 00692498 en siv.exe: 0xC0000005: violation d'accès emplacement de lecture 0 × 00133000
et l'erreur a été signalé à la ligne:
"Text-> setText (" Texte par défaut ");"
dans osd.cpp
Voulez-vous s'il vous plaît me dire tout soupçon sur ce problème et solution possible?
Merci!
mieux,
Qian
16 février 2010 à 19h36
Salut Qian,
vous pouvez essayer de déboguer. Définissez un point d'arrêt sur la ligne setText et vérifier si la variable de texte contient une référence valable, mais normalement il devrait ...
Vous pouvez essayer d'enlever cette ligne, il n'est pas important, mais je soupçonne que le problème se produit plus tard.
S'il vous plaît également essayer de construire un autre programme osg, par exemple l'exemple de osgtext. Si cela fonctionne, comparer les paramètres de génération avec ceux que vous définissez pour SIV.
Jürgen
26 février 2010 à 17h26
Merci, Jürgen
Ce problème a été résolu en réinitialisant le réglage de construction.
Je tiens à ajouter de la luminosité et du contraste, ils ne sont pas disponibles actuellement dans osgviewer ou le plugin JP2. Des conseils pour le faire? merci!
Qian
Mars 7th, 2010 at 13:08
Salut Qian,
à mon avis, la façon la plus élégante pour réaliser cela est d'utiliser un pixel shader coutume, depuis lors, le GPU fera le travail. Bien sûr, vous pouvez également boucle sur les textures et augmenter / diminuer les valeurs de couleur, mais dans ce cas, la CPU doit faire le travail.
Cordialement
Jürgen
31 mars 2010 à 16h01
Merci, Jürgen,
J'ai le pixel shader personnalisée, mais ne savez pas comment
à intégrer dans SIV transparente. Aussi, comment
fixer ce genre de fonctions à keybroad ou souris
manipulation? Est-il facile d'ajouter un panneau de contrôle à l'intérieur de la fenêtre?
Souhaitez, vous pouvez m'aider avec ces questions simples.
Merci beaucoup!
mieux,
Qian
8 avril 2010 à 21h57
Qian, pour ce faire, vous devez joindre le shader à un nœud. comment cela se fait et comment le shader peut être chargé est décrite ici:
http://www.openscenegraph.org/projects/osg/wiki/Support/Tutorials/ShadersIntroduction
Pour obtenir le StateSet vous devez utiliser
ImageGroup-> getOrCreateStateSet ();
dans la fonction createScene () après sa création et continuer comme décrit dans le tutoriel.
En espérant que cela fonctionne, Cordialement,
Jürgen
15 mai 2010 à 03h19
Salut Jürgen,
nice work :) pour votre projet de headtracking jeter un oeil à projet headtracking de wiimote lies johnny: http://www.youtube.com/watch?v=Jd3-eiid-Uw
peut-être que cela pourrait vous aider
Cordialement
repat
6 mai 2012 à 15h54
Je peux souvent faire avancer les choses pour fonctionner sur Linux, mais je vais devoir renoncer à celui-ci.
J'ai eu le binaire à démarrer après chaînage arrière à travers la vieille version de OGS et ses dépendances en utilisant la commande rpm (anciennes versions requises pas disponible pour yum). Maintenant, il échoue par manque d'une police Microsoft et non l'option reconnaissant stéréo:
Attention: fichier de police "fonts / arial.ttf" introuvables.
. / SIV: méconnu l'option stéréo
Pourriez-vous trouver le temps de faire un peu d'entretien ou de quelque chose?
6 mai 2012 à 16h00
En fait, j'ai d'abord essayé la compilation depuis les sources, mais peu importe fichier que j'ai l'habitude de OSG 2.8.0 à 2.8.5 qui / include il a toujours échoué avec:
osg / Export: 17:21: erreur fatale: osg / Config: No such file or directory
Avec OSG 3.0.1 / include fichier, il échoue avec:
erreur fatale: osgGA / CameraManipulator: Aucun fichier ou répertoire
Je suppose qu'il doit y avoir une version de OSG il compile avec succès contre, mais lequel?
6 mai 2012 à 17h01
Salut Peter,
L'option n'est pas "stéréo", mais "stéréo" (avec deux moins). Pour toutes les options de ligne de commande essaient-assistance (deux fois moins). Je reconnais, que deux personnages regardent moins à peu près la même chose qu'un seul dans le blog. Pour une meilleure référence lire le fichier README.txt dans le téléchargement. L'avertissement concernant la police n'est pas vraiment une erreur, il indique simplement que les fichiers de données OSG ne sont pas installés (pour plus de détails sur ce sujet, voir http://www.mygnu.de/index.php/2011/03/improved-openscenegraph -2-8-3-ebuild / ) ou la variable d'environnement OSG_FILE_PATH ne soit pas correcte. Avec la police manquante, l'affichage du nom de fichier n'a tout simplement pas joli. Pour obtenir le travail de la police, il suffit de télécharger et d'installer l'ensemble des données de l'échantillon pour votre version osg de openscenegraph.org. Pour 3.0.1 est disponible pour 2.8.2 il est disponible Ensuite fixer la variable d'environnement OSG_FILE_PATH selon l'endroit où vous avez décompressé les fichiers de données.
Jürgen
6 mai 2012 à 17h04
Salut Peter,
avez-vous essayé la version 1.1 SIV à partir de http://www.mygnu.de/index.php/2010/12/siv-1-1-released/ ? Je l'ai essayé contre OSG-3.0.1 et il vient de compiler très bien.
Jürgen
7 septembre 2012 à 20:45
Je tenais à vous remercier pour cela. Il n'y a pas d'autres spectateurs que je connais pour Linux. J'ai utilisé mposplit / mpoconv pour créer des fichiers JPG 3D à partir du OMP, mais cela ne fonctionne pas toujours comme prévu. Je dois modifier la parallaxe dans GIMP. J'aime ce que je peux ajuster le parallaxe SIV, mais ce serait formidable si, après ajustement de la parallaxe, il y avait une option pour enregistrer l'image sur l'écran au format JPG. Toute chance que dans une prochaine version?
8 septembre 2012 à 20h12
Salut Derek,
merci pour les fleurs
Enregistrement au format JPEG n'est pas vraiment une option, puisque le SIV ne modifie pas les données bitmap et modifie juste la transformation utilisée pour afficher les images. Plus de donner accès aux droits écrirait la valeur de parallaxe modifié dans le fichier MPO. Depuis l'écriture de données EXIF de mpo est un peu compliqué et je travaille actuellement sur un autre projet de temps libre Cela prendra un certain temps. Mais j'avais déjà pensé à la mise en œuvre de cette.
Cependant, comme une solution de contournement voir ce post: http://www.mygnu.de/index.php/2011/03/adjusting-parallax-in-mpo-stereo-images/
Utilisez la valeur de parallaxe ajusté affiché par SIV comme entrée pour le script setparallax.
ce qui concerne
Jürgen