Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.
nombre réponses : 7

#0 Re : -1 »  [RESOLU] Lubuntu sur dell latitude C600 » Le 03/04/2013, à 00:27

girerdc
Réponses : 19

Bonsoir,

Je poste un petit feedback d'une expérience que je viens d'avoir en installant lubuntu sur un Dell Latitude C500.
Matériel : processeur Intel Celeron 902Mhz, 512Mo de RAM, carte graphique ATI Rage Mobility M3 AGP 2x

J'ai gravé la lubuntu 12.04 32 bits (la version desktop) pour l'installer depuis le lecteur CD. J'ai vérifié la MD5, pas de problème, tout y est. En ouvrant une session live, pas de soucis, tout fonctionne parfaitement. Mais pendant l'installation, lors de la copie des fichiers sur le disque dur, écran noir, puis le bureau apparaît avec le fameux message "erreur logiciel" etc, "Ignorer ou envoyer le rapport d'erreur ?"
Bon, je comprends pas trop, je reboot, je vérifie le CD avec l'option proposée au lancement. Tout y est. Je recommence l'installation, même erreur... Du coup je regrave le CD avec la vitesse la plus faible possible (1x), comme ça pour voir. Toujours un problème pendant l'installation, mais plus au même endroit ce coup-là. J'ai plus le droit à l'erreur logiciel, mais à un freeze de l'install, tout à l'air planté.
Le fait que l'erreur n'intervienne plus au même endroit en regravant le CD met quand même bien en doute le lecteur CD.

Du coup je pars pour une netinstall de la 12.04 depuis une mini iso. Je commence l'installation, et je vois que rien ne bouge. Je passe en ALT+F4 pour voir ce qu'il se passe, et j'avais l'impression que l'heure du BIOS le dérangeait un peu. L'année était à 2003, sûrement la pile bouton de la carte mère qui était foutue, et il mettait un truc du genre "Installation xxxxxxxxx minutes dans le futur" en tentant de récupérer ses paquets sur le web (ce qu'il n'a pas réussi à faire).
A ce moment là, j'ai mis à jour l'heure du BIOS, et je me suis rendu compte (truc qui n'a rien à voir) que lubuntu ne propose pas de version lts, moi qui croyais en installer une en mettant la 12.04. Une fois l'heure du BIOS corrigée, je suis parti sur une netinstall de la 12.10, qui a marché du premier coup.


Bilan des courses : Je pense que l'erreur vient du lecteur CD. C'est le fait que ça ne plante pas au même endroit en regravant qui me fait dire ça. Par rapport à l'heure du BIOS, je l'ai changée, mais je ne sais pas du tout si ça peut venir de ça où pas, je l'ai mis dans le post comme ça, au cas où.

En espérant que ça aide quelqu'un !

#1 -1 »  [RESOLU] OpenCV - Saut d'images dans une vidéo » Le 12/01/2013, à 14:38

girerdc
Réponses : 15

Bonjour à tous, et merci d'avance pour toute l'aide que vous pourrez m'apporter.

Je travaille avec des amis sur un projet de simulateur de vélo. Nous filmons un parcours depuis une voiture à vitesse constante, et nous traitons ensuite cette vidéo en temps réel avec la bibliothèque de traitement OpenCV en C++, pour synchroniser la vitesse de la vidéo sur celle de l'utilisateur.
Vu qu'il n'est pas possible d'accélérer indéfiniment la vidéo, on doit faire des sauts d'image.
Par exemple si on film à 10km/h et que le cycliste va à 20km/h, on affiche 1 image sur 2, en gardant la même tempo entre chaque image. 30km/h, on affiche 1 image sur 3 etc...

Au début, j'ai donc pensé à faire des boucles de cvQueryFrame comme suit, pour sauter des images :

for(int i=0; i<n+1; i++)
{
    img=cvQueryFrame(capture);
}

et du coup on affiche l'image en sortie de la boucle (donc la dernière). Mais c'est très lourd parce que ça oblige à lire quand même les images que l'on saute.

Je voudrais donc savoir s'il y a un moyen d'atteindre une image donnée dans une vidéo en sautant les précédentes, sans avoir à les lire, pour optimiser un peu le code. En donnant la position de l'image dans la vidéo par exemple, où directement le nombre d'images à sauter depuis la dernière, où un truc dans ce goût là.

Je vous remercie pour votre intérêt.

#2 Re : -1 »  [RESOLU] OpenCV - Saut d'images dans une vidéo » Le 16/01/2013, à 17:11

girerdc
Réponses : 15

Salut !
Tout d'abord, merci pour ta réponse. Et désolé si mon message n'était pas clair.
En fait, je suis dans une école d'ingé en mécanique (ce qui peut expliquer ce post ^^) et notre prof nous avait orienté vers OpenCV parce que cette biblio gère la transformation d'images, et on a besoin par exemple de faire pivoter la vidéo lorsque l'utilisateur se trouve dans un virage etc...
La partie lecture du programme se résume à ça :

#include <stdio.h>
#include <stdlib.h>
#include "highgui.h"
#include "cv.h"

int main()
{
        // DECLARATION
	char key; // Touche clavier
	int tempo;
	IplImage* img; // Image
	CvCapture* capture; // Capture vidéo

	// Initialisation des paramètres de la vidéo
	tempo=33;

	// Ouvrir le flux vidéo
	capture=cvCreateFileCapture("/home/cgirerd/Descente 10kmh.MOV"); // chemin pour un fichier

	cvNamedWindow("projet2a", CV_WINDOW_AUTOSIZE); // Définition de la fenêtre

	while(key!='q'&&key!='Q') // Boucle tant que l'utilisateur n'appuie pas sur la touche q (ou Q)
	{
	   img=cvQueryFrame(capture); // On récupère une image
	   cvShowImage("projet2a", img); // On affiche l'image dans une fenêtre
	   key=cvWaitKey(tempo); // On attend Xms
        }
	cvReleaseCapture(&capture);
	cvDestroyWindow("projet2a");
	return 0;
}

Voilà pour la petite histoire big_smile (Et s'il y a des gens qui nous rejoignent)
et je pensais cumuler les img=cvQueryFrame(capture) pour sauter les images.

Du coup ta solution avec mjpeg parait intéressante si on peut directement sélectionner la bonne image. Tu me conseillerais quoi du coup pour gérer ça, Gstreamer ou OpenCV, sachant que je dois faire pivoter la vidéo à un angle donné (et pourquoi pas d'autres effets comme des déplacement de l'image dans la fenêtre) ?

En tout cas je viens d'essayer avec cvGrabFrame, il y a une très légère amélioration mais rien de significatif, ça reste très lourd et ça pompe encore un paquet de ressources hmm

#3 Re : -1 »  [RESOLU] OpenCV - Saut d'images dans une vidéo » Le 17/01/2013, à 20:31

girerdc
Réponses : 15

Ahh effectivement je viens d'essayer les cvGrabFrame sur une vidéo mjpeg est il y a une nette amélioration au niveau de la consommation de ressources ! Un très bon point donc !! Merci sogyam ! smile
Par contre la vidéo sature en vitesse après 4 ou 5 sauts environ, si l'on saute d'autres frames la vitesse de défilement semble être la même...
Peut-être que ça se mort la queue au bout d'un moment non ? Parce que les cvGrabFrame prennent quand même un petit temps, négligeable pour une frame, mais cumulés ça augmente le temps de traitement entre l'affichage de 2 frames non ? Et donc ça ralenti les affichages... ?

Après je suis loin d'être expérimenté en programmation, j'ai juste eu quelques cours en première année sur les bases, et on a effleuré le concept de classes et de pointeurs à la fin du semestre... Mais je suis prêt à apprendre, il y a aucun soucis là-dessus, donc s'il y a moyen de faire quelque chose de propre avec autre chose qu'OpenCV, je suis partant. (J'avoue que de ce côté-là OpenCV a l'avantage d'être plutôt bien documenté tongue)
A voir par contre que le but de ce projet est de proposer un logiciel qui pourrait tourner chez monsieurtoutlemonde (donc sous windows)... Et donc il y a peut-être des outils auxquels on ne peut pas faire appel.

#4 Re : -1 »  [RESOLU] OpenCV - Saut d'images dans une vidéo » Le 18/01/2013, à 02:20

girerdc
Réponses : 15

Disons qu'avant tout c'est un projet à but pédagogique, pas dit qu'on retrouve ça dans le commerce dans les années à venir ^^. Mais je trouve l'idée vraiment bien au fond.
En gros pour nous, ça revient à créer un logiciel qui permette à l'utilisateur de s’entraîner sur un parcours réel filmé, soit qu'on lui fourni, soit dans le meilleur des cas qu'il peut réaliser lui, et de recréer l'effort qu'il fournirait en réalité sur ce même parcours en gérant le frein du home trainer (fonction de la pente, de son poids, et des forces aérodynamiques grosso modo). Et pour retranscrire l'effort, on se sert d'un .gpx généré par un iphone pendant que l'on film. Il nous renseigne sur l'altitude et nous donne l'heure exacte du relevé (il fait ça à peu près 20 fois par minute... disons que c'est un chiffre acceptable pour la réactivité du système...), et en synchronisant ce petit .gpx avec la vidéo(qui évolue en temps réel), ça devrait marcher smile
Avant tout destiné aux professionnels si on lit notre cahier des charges, mais on peut très bien élargir ça à M. tout le monde, plutôt que de pédaler en face d'un mur... lol
C'est pour ça que le plus simple est que l'utilisateur fasse tourner ça sur son PC, et ensuite branche un videopro s'il veut, ou alors l'écran de sa télé selon ses envies smile
En tout cas merci pour tes recherches ! Je croise les doigts pour que ça fonctionne wink

#5 Re : -1 »  [RESOLU] OpenCV - Saut d'images dans une vidéo » Le 18/01/2013, à 22:05

girerdc
Réponses : 15

Ah nan j'attendais pas du tout que tu me livres ça tout cuit, c'est simplement que j'ai écris ce message à vers les 1ou 2h du mat' et que je ne voulais pas me replonger là-dedans à cette heure tardive (ou plutôt cette heure matinale lol)

J'ai essayé aujourd'hui la fonction cvSetCaptureProperty que tu m'avais proposé, et oh bonheur, elle fonctionne à merveille chez moi !! Donc on peut considérer que le problème est résolu. M'enfin à moitié vu que ça à l'air de fonctionner au random selon les utilisateurs... Personnellement j'ai utilisé la 2.3. Pour l'instant je pense m'en tenir à ça et me concentrer sur d'autres parties du programme, mais est-ce que Gstreamer ou autre seraient moins foireux pour les sauts ? (D'après ce que j'ai compris, oui !) Si j'ai le temps je pense que je retravaillerai cette partie si ça vaut vraiment le détour. En plus Gstreamer a l'air omniprésent dans les appli vidéo, alors pourquoi pas y jeter un oeil maintenant que l'occasion se présente, histoire d'en apprendre un peu plus. Ça me tente bien en tout cas.

Par rapport à la vidéo, je suis en 1280 x 720, à 30fps

Et pour en revenir à windows en fait, mes préoccupations étaient (et sont toujours) les suivantes (c'est peut-être des questions bêtes mais le mieux c'est encore de les poser tongue) :
- Par exemple je sais qu'OpenCV est multiplateforme, ça veut dire qu'on peut l'utiliser aussi bien sur GNU/Linux que sur windows (ça je crois que je peux en être sûr ^^). Mais si je règle mon compilateur (sous linux) pour qu'il me sorte un .exe, est-ce qu'il est directement utilisable sur windows, où est-ce qu'il y a des modifs à faire ?
En fait je crois que ce premier tiret résume toutes les questions que je me posais smile

Encore merci à toi ! smile

#6 Re : -1 »  [RESOLU] OpenCV - Saut d'images dans une vidéo » Le 20/01/2013, à 21:27

girerdc
Réponses : 15

Oui pour les trucs comme le chemin j'en suis conscient smile. J'essayerai de bricoler une petite interface en GTK+  pour ça et le reste côté utilisateur.
J'irai chercher du côté de mingw comme tu me le conseilles si je rencontre un problème pour le portage sous windows.
Pas terrible pour une distrib libre comme Debian d'imposer ses choix à l'utilisateur en tout cas, c'est pas vraiment dans la philosophie de l'OS (surtout dans le cas de Debian)...
Pour l'instant je pense marquer le topic comme résolu vu que je n'ai plus de problème au niveau du saut avec cvSetCaptureProperty.
Et j'attendrai la sortie de la dernière release pour reprendre ce travail si j'ai le temps, mais je m'en tiens là pour le moment, il y a d'autres priorités. Par contre, si je poursuis ce travail à titre personnel après la fin du projet, j'irai creuser un peu plus loin, ça c'est sûr.
En tout cas, merci beaucoup pour ton aide. Je manque encore cruellement d'expérience aujourd'hui, mais j'espère prochainement pouvoir aider un membre de la même façon que tu l'as fait avec moi smile