(Add KSPROPERTY_CAMERACONTROL_SCANMODE
into KSPROPERTY_VIDCAP_CAMERACONTROL
?)
Working with a webcam I'm getting an interlaced video. The access to that webcam is done with a DirectShow using videoInput library (as part of OpenCV).
I cannot find a way to control that (interlaced) mode with the currently available options/enums in the OpenCV so I diged into MSDN and found the following:
IAMCameraControl
interface can be used to get/set various properties, as long as they are listed inPROPSETID_VIDCAP_CAMERACONTROL
(http://msdn.microsoft.com/en-us/library/dd389145(v=vs.85).aspx#methods)PROPSETID_VIDCAP_CAMERACONTROL
lists 3 blocks of enums (one for "prior to USB video class, one for UVC, and one for Win8) and among those values there's the one I'm interested in! It's aKSPROPERTY_CAMERACONTROL_SCANMODE
(http://msdn.microsoft.com/en-us/library/ff567802(v=vs.85).aspx)- I have Windows 7.a SDK installed and in the
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\strmif.h
file what I see is a list of values that only covers the "original" set, which is pre-UVC, so it doesn't have the control for the interlaced mode. The enum in that file looks like this one from MSDN site: http://msdn.microsoft.com/en-us/library/windows/desktop/dd318253(v=vs.85).aspx - Then I've found this forum where the person claims "I had to update the CameraControlProperty enumeration" to add the needed properties and it worked for him (http://sourceforge.net/p/directshownet/discussion/460697/thread/562ef6cf/)
My question is: How? :) What does one do to add a needed value (or a bunch of values) that are supposedly supported by the system? What am I missing?
MSDN seems to be holding the cards close to its body and not revealing much, so I'm asking the good people in here for help.
I hope someone out there has figured out how to do that and can share the wisdom.
My ultimate goal is to use the OpenCV's videoInput's setVideoSettingCamera()
to control the interlacing (so that the image I get doesn't have those black lines)
(Add KSPROPERTY_CAMERACONTROL_SCANMODE
into KSPROPERTY_VIDCAP_CAMERACONTROL
?)
Working with a webcam I'm getting an interlaced video. The access to that webcam is done with a DirectShow using videoInput library (as part of OpenCV).
I cannot find a way to control that (interlaced) mode with the currently available options/enums in the OpenCV so I diged into MSDN and found the following:
IAMCameraControl
interface can be used to get/set various properties, as long as they are listed inPROPSETID_VIDCAP_CAMERACONTROL
(http://msdn.microsoft.com/en-us/library/dd389145(v=vs.85).aspx#methods)PROPSETID_VIDCAP_CAMERACONTROL
lists 3 blocks of enums (one for "prior to USB video class, one for UVC, and one for Win8) and among those values there's the one I'm interested in! It's aKSPROPERTY_CAMERACONTROL_SCANMODE
(http://msdn.microsoft.com/en-us/library/ff567802(v=vs.85).aspx)- I have Windows 7.a SDK installed and in the
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\strmif.h
file what I see is a list of values that only covers the "original" set, which is pre-UVC, so it doesn't have the control for the interlaced mode. The enum in that file looks like this one from MSDN site: http://msdn.microsoft.com/en-us/library/windows/desktop/dd318253(v=vs.85).aspx - Then I've found this forum where the person claims "I had to update the CameraControlProperty enumeration" to add the needed properties and it worked for him (http://sourceforge.net/p/directshownet/discussion/460697/thread/562ef6cf/)
My question is: How? :) What does one do to add a needed value (or a bunch of values) that are supposedly supported by the system? What am I missing?
MSDN seems to be holding the cards close to its body and not revealing much, so I'm asking the good people in here for help.
I hope someone out there has figured out how to do that and can share the wisdom.
My ultimate goal is to use the OpenCV's videoInput's setVideoSettingCamera()
to control the interlacing (so that the image I get doesn't have those black lines)
0 commentaires:
Enregistrer un commentaire