Как получить изображение высокого разрешения с бортовой веб-камеры с помощью C#
Привет.
Я пытаюсь получить изображение с бортовой веб-камеры на планшете windows8 с помощью C#(Visual Studio 2010).
Я пробовал некоторые библиотеки (DirectShowNet, OpenCvSharp, универсальная библиотека WebCam C# )
и я могу получить 640x320 снимков с бортовой веб-камеры.
Но когда я пытаюсь получить другое разрешение (800x600, 1024x720 и т. д.), библиотека
не возвращайте фотографию.
Когда я подключаю внешнюю веб-камеру и использую библиотеки, я могу получить изображение другого разрешения.
Беллоу-это суммани.
Результат разрешения веб-камеры
на борту 640х480 можно сделать
на борт 800x600 не могу попасть < - не могу понять почему.
внешние 640х480 можно сделать
внешние 800х600 можно сделать
Не могли бы вы помочь мне, как его достать?
Спасибо.
Что я уже пробовал:
Я использовал некоторые библиотеки (DirectShowNet, OpenCvSharp, универсальную библиотеку WebCam C#) и все NG.
Я использовал внешнюю веб-камеру, и все в порядке.
lukeer
Похоже, что внутренняя камера имеет собственное разрешение 640x480 и поэтому не может обеспечить более крупное изображение.
Внешний имеет разрешение 800x600 и может выдавать меньшее изображение, возможно, деталь (центрированная или выровненная по верхнему левому краю) собственного изображения.
Пытались получить изображение с безумно высоким разрешением с внешней камеры? Если это сработает, это бросит вызов моей теории.
Если нет, то показывает ли изображение внешней камеры то же самое содержание изображения или что-то упущено при получении изображения с более низким разрешением?
tomo5996
Спасибо за ваш ответ.
Я попробовал другое разрешение с внешним. Когда я установил 3200x2400, он вернул изображение 1600x1200.А когда 64х48, возвращается 160х120. Код, использующий VideoInputSharp, выглядит следующим образом.
Во внешних кулачка, при (ш,ч) = (3200,2400), SetupDevice() успех и (actualW, axtualH) вернулся (1600,1200).
Во внутренней камерой, при (ш,ч) = (320,240),(800,600) и т. д., SetupDevice() завершается неудачей.
использование (VideoInput vi = новый VideoInput())
{
vi. SetIdealFramerate(indexCamera, частота кадров);
if (vi. SetupDevice(indexCamera, w, h))
{
int actualW = vi. GetWidth(indexCamera);
int axtualH = vi. GetHeight(indexCamera);
byte[] buffer = new byte[vi. GetSize(indexCamera)];
if (vi. GetPixels(indexCamera, buffer))
{
}
}
}
Когда я использую приложение "Mam WebCam Photo", внутреннее может возвращать изображение 1280x960.
Но я не могу получить его с помощью библиотек C#.
lukeer
Извини, но сейчас у меня нет идей.