none
utilisation de DirectShowLib RRS feed

  • Discussion générale

  • Bonjour a toute la comunauté

    Dans l'utilisation de  DirectShowLib  comment peut on modifier la résolution de l'image

    Est il possible d'y ajouter un objet cursor afin de créer un zoom


    La Connaissance est comme la joie elle s'accroît en la partageant!

    • Type modifié Aurel Bera vendredi 6 septembre 2013 08:57 Discussion
    mercredi 28 août 2013 08:07

Toutes les réponses

  • Bonjour  Thierry,

    Changer la résolution, c'est possible, par exemple dans ce projet WebCamDS, on peut choisir entre :

    • 160 x 120
    • 320 x 240
    • 640 x 480
    • Une autre définition en 4/3 ou 16/9

    voir la procédure ResizeWebcam qui gère cela.Cela redimensionne la fenêtre de visualisation, ce qui pourrait être lié à un contrôle TrackBar. Mais ce n'est pas, à proprement parler un Zoom, qui s’effectuerait  sur un partie de l'image. Cela, je pense, est lié aux caractéristiques de la WebCam (angle de visée, zoom, etc.), et j'ignore si DirectShow sait gérer cela.


    Cordialement, Jacques

    mercredi 28 août 2013 16:01
  • Bonjour Jacques93

    En fait je me suis peut être mal exprimé, c'est surtout dans la qualité de l'image que je veux affiné

    Le projet en cours serait pour un amis qui fais de la carrosserie et le but est de faire des photos avec une tablette et de les mettre dans un dossier. Il est nécessaire parfois d'agrandir l'image pour voir un détail, mais actuellement dans le projet je ne sais pas dire quelle résolution j'utilise. Je me suis inspiré de ton  bout de code sur DirectShow, pour faire de la capture.

    Cela marche bien, Capture, transfert dans le réseau ou via Ftp....

    Pour finaliser il faut que je puisse augmenter la qualité de l'image . Je travailles avec une tablette EL 900 de HP sous Windows 8 32 (Appareil photo intégré:  8MP).

    Merci bien de ton aide


    La Connaissance est comme la joie elle s'accroît en la partageant!

    mercredi 28 août 2013 16:49
  • Ayant fait qq recherches sur le Net , je trouves que cette lib est très mal documentée ( dommage )

    La Connaissance est comme la joie elle s'accroît en la partageant!

    vendredi 30 août 2013 17:37
  • Bonjour

    A une première vue vous ne cherchez dans le bon endroit.  Normalement pour spécifier la résolution de votre camera vous avez l’exemple Jacques93.  Le problème c’est d’afficher une image de 8 MP dans une fenêtre de 640x480 (par exemple).

    Si vous enregistrez l’image, quelle est sa taille ?

    Cordialement, 


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    lundi 2 septembre 2013 13:36
  • La je dois dire que c'est mettre le doigt sur le problème

    Effectivement c'est d'avoir une image de très haute qualité en 640*480

    Lorsque j'enregistre l'image en JPG elle a un poids de 70-80Kb

    Lorsque je les prend avec un petit appareil, je suis largement au dessus des 100Kb


    La Connaissance est comme la joie elle s'accroît en la partageant!

    lundi 2 septembre 2013 14:23
  • 70-80 kb c'est loin d'être la résolution maximale.

    Prenez quelques minutes pour lire ce thread:

    http://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/7f0230d4-484e-4752-9d46-24c06bcd8937/directshow-get-available-resolutions

    Cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    mardi 3 septembre 2013 07:49
  • Oui,

    A voir en VB.NET ( si traduction possible d'un code similaire ) sans être sûre du final....

    Je continue a chercher, mais effectivement plus de thread en c++, dommage


    La Connaissance est comme la joie elle s'accroît en la partageant!


    mardi 3 septembre 2013 08:53
  • Là, il y a un truc qui m'échappe. En dehors de la qualité du matériel et de la palette de couleur, une image de 640x480 fera toujours 640x480. Sa qualité visuelle dépendra de l'appareil qui l'affiche. Avec le petit programme que j'ai posté le 28/08, lorsque tu enregistres une image, elle l'est au format .bmp, donc pas de compression, et la taille du fichier est :

    Larg    Haut    Pixels       Taille (couleurs 32 bits)

    640  x  480   = 307 200      1 228 800
    320  x  240   =  76 800          307 200
    160  x  120   =  19 200            76 800

    Tu indiques enregistrer en JPG, ce qui peut réduire notablement la taille. Avec ma webcam, de piètre qualité, une image BMP de 1,2Mo (640x480) peux passer sous les 50K (avec mspaint)

    NB : Il y a quelques dizaines d'octets supplémentaires par rapport aux tailles indiquées occupées par le header du bmp


    Cordialement, Jacques


    • Modifié Jacques93 mercredi 4 septembre 2013 07:32 BMP
    mercredi 4 septembre 2013 07:26
  • Bonjour Jacques93

    Le fait que mois j'enregistre directement en JPG peut-il posé problème a ce niveau

      PictureBox2.Image.Save(pathFile & "\img" & CStr(CompteurImage) & ".jpg", Imaging.ImageFormat.Jpeg)


    La Connaissance est comme la joie elle s'accroît en la partageant!

    mercredi 4 septembre 2013 07:50
  • En soi, non, mais ça joue sur la taille du fichier obtenu. Là je passe de 1,2 Mo en BMP à 29,5Ko en JPG, tout en restant en 640 x 480.

    Fait l'essai en enregistrant au 2 formats (bmp et jpg), et compare visuellement. A un certain niveau de compression la perte devient visible, pour moi ce n'est pas le cas.


    Cordialement, Jacques


    • Modifié Jacques93 mercredi 4 septembre 2013 08:09
    mercredi 4 septembre 2013 08:05
  • Apres ce site, la taille de l’image sans compression pour 8MP sera environ  23 MB.

    http://web.forret.com/tools/megapixel.asp?title=8+Megapixel+camera&width=3456&height=2304

    La compression en JPEG/JPG se fait d’habitude avec des pertes. Normalement, pour mieux gérer la qualité de l’image (ou les pertes) on doit utiliser un produit tierce.

    Si vous avez besoin d’une image de bonne qualité utilisez plutôt PNG ou GIF – il supporte compression sans pertes.

    Mais, le problème reste d’enregistrer une image avec la résolution maximale supportée par votre camera.

    Cordialement, 


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    mercredi 4 septembre 2013 08:35