Bonjour,
Je développe un petit logiciel de getion qui capture une image prise par une webcam et la sauvegarde sur le disque. Mon problème vient de la qualité de l'image. Avec l'utilisation du logiciel fournit par la webcam, la qualité est très bonne. Mais lorsque j'utilise mon soft, la qualité est beaucoup plus réduite.
J'utilise DirectX pour faire ma capture comme ça :
1 2 3 4 5 6 7 8 9 10
| _configWebCam.Camera = _filter.VideoInputDevices(0)
_configWebCam.CaptureInfo = New DirectX.Capture.Capture(_configWebCam.Camera, _filter.AudioInputDevices(0))
_configWebCam.CaptureInfo.PreviewWindow = pbView
_configWebCam.Counter = 1
_configWebCam.CounterFrames = 1
_configWebCam.CaptureInfo.VideoCompressor = _filter.VideoCompressors(0)
_configWebCam.CaptureInfo.FrameSize = New Size(CInt(My.Settings.webcamWidth), CInt(My.Settings.webcamHeight))
_configWebCam.CaptureInfo.FrameRate = 50
_configWebCam.CaptureInfo.CaptureFrame() |
J'ai donc regardé la taille des images produites par le logiciel de la webcam et utilisé celle-ci pour la capture :
_configWebCam.CaptureInfo.FrameSize = New Size(CInt(My.Settings.webcamWidth), CInt(My.Settings.webcamHeight))
Mais le résultat reste le même.
Ma seconde piste viendrait de la fonction d'enregistrement de mon image. Pour ça j'utilise Drawing.Image.Save, avec juste mon nom de fichier et le format (JPG). Mais je ne pige pas vraiment tout ce qui est Encoder et CodecInfo.
Auriez-vous d'autre piste ?
Merci !
Partager