Служба загрузки изображений windows wia где находится

Обновлено: 05.07.2024

Мотив был таков: в программе, где хранится информация о людях есть их фотографии, но фотографии туда попадают сложным путем. Берем бумажный оригинал фото (их приносят люди вместе с документами), сканируем в файл, открываем в простом редакторе, кадрируем под 3х4см, сохраняем, в программе открываем анкету человека и там уже добавляем ему фото из готового файла.

Сейчас в программе несколько тысяч человек и стоит задача всех их сфотографировать красиво, потому что они приносят фотографии просто ужасного качества и с разным процентом заполнения лица. Дело за малым: повесить экран, выставить свет, стул, штатив, камера, USB… и наша программа.

  • приходит человек, причесывается, садится напротив камеры
  • оператор наводит камеру, поправляет человеку волосы, одежду… ну чтобы красиво
  • садиться за программу и нажимает кнопку «Сделать все автоматом»
  • все.
  • подключиться к камере через WIA
  • заставить камеру сделать фотографию
  • получить из камеры свежий снимок
  • повернуть его в соответствии с данными о повороте
  • найти на фотографии лицо, определив прямоугольник, в который оно вписано
  • высчитать процент масштабирования так, чтобы прямоугольник лица занимал 80% кадра 3х4см при разрешении 300dpi
  • смасштабировать фото и наложить его на белый фон
  • сохранить фото в анкету человека

О распознавании лица на изображении много писано, но до этого этапа я еще не дошел, возможно расскажу о них в следующий раз. Хватает проблем и на первых трех. О них и пойдет речь.

Windows Image Acquisition (WIA) — это простой способ работы с большинством моделей устройств обработки изображений (фотокамера, сканер, видеокамера и другие). Для успешной работы, нужно, чтобы устройство, как минимум, отобразилось в «Сканерах и камерах» Панели управления Windows. Чтобы это произошло — нужен подходящий драйвер. Какие-то устройства работают из коробки, а другим нужно устанавливать WIA-драйвер вручную, как в случае с фотокамерами Canon EOS.
Самая полезная статья MSDN, которая действительно помогает разораться с проблемами WIA — это статья с примерами. Я случайно наткнулся только на одну, must have.

Простейший код

Здесь исходный код формы Form1 с единственным элементом PictureBox1, растянутым на всю форму. И самое «сложное» здесь — добавить в параметрах проекта ссылку на COM-объект WIA. Перед запуском убедитесь, что ваше устройство включено.

После 7-го шага Вы вольны делать с изображением что угодно: сохранить в файл, сохранить в базу данных, вывести на форму, преобразовать, применить фильтры и т.д. Главное, что оно у вас есть.
Я, чтобы убедиться что все работает, отображал его на форме.

Вроде все просто

Как видите — код краток и насыщен полезными действиями. Но грабли и подводные камни — вечные спутники программистов по разные стороны Microsoft. Там думали, что все сделали просто и очевидно, а мы, как всегда, не поняли.

Шаг 1

Надо выбрать устройство. Есть два пути: выбрать самому или дать выбрать пользователю. Цель у обоих способов одна — получить ID устройства — DeviceID. Дальше можно работать с WIA, используя везде этот DeviceID как ссылку на нужное устройство.


В примере открывается стандартное окно WIA для выбора устройства. Их может быть несколько.
Если нам не нужно, чтобы пользователь решал чем он хочет пользоваться, тогда можно отфильтровать доступные устройства, используя параметр WiaDeviceType. В примере я ищу фотокамеру — CameraDeviceType. Но берегитесь, некоторые картридеры прикидываются фотокамерами.
Здесь можно поступить так: пройтись циклом по всем устройствам и проверить, поддерживают ли они функцию wiaCommandTakePicture (сделать фотку). Соответственно, если таковое небыло найдено, но есть хотябы одно подходящее, то тут пользователю не отвертеться — придется ему решать, чем фотографировать. Как это сделать, хорошо описано в одном из примеров статьи MSDN (см.выше).

Камень №раз

Может статься, что ни одно устройство не поддерживает wiaCommandTakePicture. Это вводит в замешательство, особенно, если у вас Canon и стоят все программы с их диска, включая программу для Remote Shooting (удаленной съемки по USB). В ней он фотографирует, а через WIA не хочет. Здесь можно либо бодаться с Canon и клянчить у них SDK, которую они мало кому дают, а затем писать свой модуль, либо заставлять пользователя делать снимок вручную, а дальше все делать автоматом. Но в целом игра стоит свечь. Имейте в виду, что у Canon много подразделений, и SDK они распространяют каждое в своем регионе. Для России все грустно, но можно попробовать обратиться в Европейское отделение. Примерно так они мне ответили по почте.

Шаг 2

Ок, допустим нам повезло и можно фотографировать. Ур… а-э-э… What a f*ck?
Никаких настроек. Можно только сделать фото. Камера (читай — объектив) выезжает, щелкает в режиме полной автоматики (или что там на переключателе выставлено) и уезжает обратно. Ну, и на том спасибо.
Честно говоря, я не углублялся в проблематику предварительной настройки камеры удаленно, но потуги у населения замечены при помощи Гугла. Возможно кто-то смог найти решение.
Камера делает кадр и сохраняет его в свою память или карту. Теперь его надо оттуда достать!

Шаг 3
Шаг 4

Пока писал статью, похоже, понял причину проблемы с Камнем №два. Спасибо Харб!
На этом шаге, мы запоминаем ID последнего файла, хранящегося в камере, т.к. объект Device1.Items хранит информацию обо всех файлах и папках, хранящихся в памяти камеры. Да да, и папок тоже — будьте внимательны. Через этот объект можно получить любую информацию, например имя файла. Это все есть в примерах MSDN (см.выше). Здесь нам помогает простой счетчик объектов. Логично, но не всегда верно, что наша новая фотография — сделана последней. Так что проверку на ошибки здесь тоже нужно вставить.

Шаг 5

И хватаем файл, указатель на который запомнили.
Здесь процесс загрузки фотографии будет показан стандартным WIA-интерфейсом с прогрессбаром.
Одним из параметров функции является формат передаваемого файла. Мне вот нужен wiaFormatJPEG. Это чтобы фотоаппарат вдруг не отдал мне TIFF. (шутка)

Камень №два

А вернее грабли, здесь заключаются в том, что функция, выдающая последнюю сделанную фотографию, запоминает структуру файлов камеры на момент подключения. Вот почему используется новое подключение — нужно обновить структуру файлов после фотографирования.

Шаг 6

Единственный документированный способ получения фотографии — это ее получение через вектор-интерфейс. В итоге, в этом объекте будет много всего, но нас интересует лишь один — массив байт BinaryData, содержащий изображение.

Шаги 7,8,9

Этот BinaryData требует парочки преобразований, прежде чем он станет полноценной картинкой. Байты в поток, поток в изображение. А дальше можно делать с полученным объектом что угодно (согласно комментариям в листинге).
К слову: указанным методом изображения преобразуются для хранения в СУБД (только преобразование идет в обратную сторону).

Шаг 10

Каждому свой путь, ну а я для наглядности, присвоил картинку свойству Image элемента PictureBox1. Чтобы посмотреть на себя тепленького.

Теперь осталось только обеспечить обработку ошибок, т.к. WIA — очень капризная и ситуаций будет много (больше всего их будет при разработке под x64-систему, потому что во время отладки в случае ошибки, код не выдаст исключения, а просто не будет выполнен начиная с места возникновения ошибки). Камера, например, может уснуть, пока ей долго не будут пользоваться. Многое нужно предусмотреть.

Очень часто применяется эта технология для работы типа «бюро пропусков» с фотографиями.

Драйвер WIA — это драйвер Windows Image Acquisition, который требуется для того, чтобы графические программы могли взаимодействовать с соответствующими устройствами. В этой инструкции подробно разберем возможные способы решить проблему и скачать драйвер WIA при необходимости.

Для использования этого устройства требуется драйвер WIA — первые действия

Для использования этого устройства требуется драйвер WIA

Прежде чем пробовать найти в Интернете, где скачать драйвер WIA для вашего принтера/сканера/МФУ, рекомендую выполнить следующие простые действия, которые часто могут решить проблему:

  1. Откройте службы Windows. В Windows 10 и Windows 11 нажмите клавиши Win+R на клавиатуре (Win — клавиша с эмблемой Windows), введите services.msc и нажмите Enter.
  2. В списке служб найдите «Служба загрузки изображений Windows (WIA)». Эта служба должна выполняться, а в поле «Тип запуска» установлено «Автоматически».
  3. Если это не так, дважды нажмите по имени службы, установите тип запуска «Автоматически», примените настройки, а затем нажмите «Запустить» — не исключено, что уже эти действия решат проблему.

Следующее простое действие, которое, если судить по многим отзывам, часто оказывается работоспособным — подключить устройство, которое требует драйвер WIA по USB 2.0 вместо USB 3.0 (как правило, разъемы USB 3.0 синего цвета, а 2.0 — чёрные), иногда может потребоваться последующая переустановка сканера (МФУ). Попробуйте использовать этот вариант — действительно многим помогает.

В случае, если предложенные методы не сработали, служба WIA уже была запущена, а подключение к USB 2.0 не возымело действия, переходим к следующим действиям.

Где скачать драйвер WIA для сканера

Если устройство при установке сообщает, что для его использования требуется драйвер WIA, почти гарантированно он есть на официальном сайте производителя устройства на странице поддержки вашей модели.

Учитывайте: на официальном сайте может отсутствовать драйвер для текущей версии системы. Например, рассматриваемый вопрос часто возникает по поводу МФУ HP LaserJet M1120. Если у вас установлена Windows 10 или Windows 11. Не обращайте внимания, что на официальном сайте есть драйвер только для Windows 8 — он вполне успешно может использоваться и на более новых операционных системах.

Если скачанный драйвер не устанавливается, сообщая о неподдерживаемой операционной системе, вы можете:

Драйвер WIA для HP LaserJet M1120

  1. Распаковать файл с установщиком драйвера. Например, для LaserJet M1120 с этим успешно справляется 7-Zip, иногда могут пригодиться утилиты наподобие Universal Extractor. На изображении ниже — скриншот открытого файла установщика драйвера, где мы наблюдаем, в том числе и файлы драйвера WIA (что следует из имени файлов драйверов). .

При возникновении проблем с установкой драйверов, предварительно удалите все имеющиеся драйверы вашего сканера или МФУ и само устройство с помощью диспетчера устройств (может потребоваться включить показ скрытых устройств в меню «Вид» и найти устройство в разделе «Устройства обработки изображений»), а также программы от производителя — HP, Canon, Epson или другого.

А вдруг и это будет интересно:

17.07.2021 в 11:33

Когда-то в начале 2000х годов покупал сканер Epson, сканер до сих пор живой и меня устраивает, естественно дрова были только на WinXP. Потом, к великому разочарованию, официальных драйверов больше не было на висту, 7, 8, 10 Винду. Тогда и открыл для себя программу VueScan. В ней работает огромное количество старого оборудования, которое оказалось без драйверов и поэтому мой сканер до сих пор функционирует замечательно! Советую.

18.07.2021 в 15:08

Я уже в который год ищу драйвера Mustek 1200 UB Pius и бесполезно.
Или уже его нет .

Что такое драйвер WIA?

Как и любой другой, драйвер WIA (Windows Image Acquisition) предназначен для того, чтобы операционная система могла взаимодействовать с внешним устройством. В данном случае речь идет о сканирующем оборудовании, цифровых видеокамерах и фотоаппаратах. В этот список также входят, как отдельные сканеры, так и МФУ с функцией сканирования документов. В случае с последними может наблюдаться и такая картина, что документы и фотографии спокойно отправляются в печать, но при попытках что-то отсканировать возникает ошибка с WIA-драйвером.

Вообще, операционные системы Windows уже имеют в своем составе драйвер WIA. Если точнее — это такая универсальная модель драйверов и API (интерфейс программирования приложений) по совместительству. Взаимодействие внешних устройств с системой и/или функциями драйвера самого устройства осуществляется «при посредничестве» системной «Службы загрузки изображений Windows», которая по умолчанию запускается при включении компьютера.

Включение «Службы загрузки изображений Windows»

  • Одновременно нажмите на клавиатуре кнопки «Win + R», затем впишите в появившееся окно команду «services.msc» (без кавычек) и нажмите «ОК».

Выполнение команды

1

  • Запустите системное приложение «Службы». В приведенном списке установленных служб найдите «Служба загрузки изображений Windows (WIA)». Напротив ее названия должно быть указано, что та «Выполняется».


  • Если это не так, кликните по службе два раза мышкой. В открывшемся окне свойств напротив блока «Тип запуска» установите «Автоматически», ниже — нажмите кнопку «Запустить», затем «Применить». Закройте окно свойств службы.

Включение службы Windows

Возможно, что после выполненных действий ошибка при попытке обращения к сканеру/МФУ останется. В этом случае дополнительно попробуйте следующие варианты решения проблемы:

  • Отсоедините устройство от компьютера (т.е. выньте USB-кабель) и перезагрузите его (желательно вынуть из розетки и потом включить). Подключите USB-кабель в другой USB-порт компьютера (если сканер/МФУ поддерживает USB0, подключите его именно к этому порту, который обычно имеет синий цвет).


  • Откройте «Диспетчер устройств», выполнив команду «devmgmt.msc» в программе «Выполнить» (все по аналогии с запуском приложения «Службы»), найдите в списке устройств названия принтера/МФУ, кликните по нему правой кнопкой мыши и выберите из меню пункт «Отключить устройство». После отключения сразу включите устройство, выбрав пункт «Включить устройство».


  • Также возможно, что проблему с драйверов вызывают собственные настройки сканера/МФУ (те, что сохранены в памяти устройства). Здесь может помочь сброс настроек оборудования до заводских значений, но как именно это сделать, следует искать на сайте производителя.

Если ничего из этого не помогло, остается повозиться с драйвером устройства. Его нужно будет переустановить с предварительным полным удалением всего установленного на компьютере программного обеспечения сканера/МФУ (включая любые фирменные программы).

Переустановка драйвера принтера

Чтобы снизить вероятность возникновения ошибок при установке нового, рекомендуется удалить уже установленный драйвер устройства. Желательно также удалить все фирменные приложения, которые либо идут в комплекте с драйвером (но удаляются отдельно), либо были установлены самим пользователем.

Для удаления драйвера:

  • Первым делом скачайте драйвер с официального сайта производителя проблемного устройства (если это невозможно, дополнительно ознакомьтесь с инструкцией по использованию менеджера драйверов ниже).
  • Откройте «Диспетчер устройств» по инструкции выше.
  • В списке устройств найдите название сканера/МФУ, кликните по нему правой кнопкой мыши и выберите пункт «Удалить устройство».

Диспетчер устройств

Для удаления фирменных программ сканера/МФУ:

  • Откройте «Панель управления» (можно использовать команду «control» в программе «Выполнить») и кликните в ней по элементу «Удаление программы»:

Панель управления

  • Найдите в списке установленных программ те, в именах которых присутствует либо название устройства, либо название компании-производителя (или и то и другое).
  • Кликните правой кнопкой по программе и выберите в меню пункт «Удалить»:


  • Проделайте то же самое со всеми остальными программами в списке.

Теперь можно устанавливать драйвер. Если такового в наличии нет, можно воспользоваться любым менеджером драйверов. Мы рекомендуем программу DriverHub :

  • Запускаем программу и нажимаем кнопку «Найти сейчас».

DriverHub

  • Дожидаемся, пока программа просканирует компьютер. После чего на экране отобразятся устройства, драйверы которых можно обновить (или установить, если они отсутствуют).

DriverHub

  • Можно включить «Экспертный режим» и установить только драйвер для сканера/МФУ. На скриншоте выше выбрана установка драйвера для первого попавшегося устройства, но это не важно.

После выбора устройства останется нажать кнопку «Установить». Программа сама скачает и установит выбранный драйвер.

Остались вопросы, предложения или замечания? Свяжитесь с нами и задайте вопрос.

Эта ошибка возникает, когда на вашем компьютере отсутствует драйвер Windows Image Acquisition или он устарел и нуждается в обновлении. С этой ошибкой сталкиваются пользователи, которые используют свои сканеры с ОС Windows. Драйвер WIA позволяет компьютеру отправлять информацию о изображениях на сканер и действует как интерфейс прикладного программирования. Эту проблему легко решить, загрузив и установив на свой компьютер драйвер WIA.


Метод 1. Перезапустите службу получения образов Windows (WIA)

  1. В строке поиска Windows введите Services и нажмите клавишу ВВОД, чтобы открыть утилиту.введите Services и нажмите Enter, чтобы открыть утилиту
  2. Найдите службу Windows Image Acquisition (WIA). Щелкните службу правой кнопкой мыши и откройте Свойства.Щелкните правой кнопкой мыши службу и выберите свойства
  3. Выберите Тип запуска как автоматический и нажмите «Пуск» (если служба уже запущена, нажмите «Стоп», а затем «Обнаружение оборудования оболочки и удаленный вызов процедур (RPC)». Нажмите «Пуск»).Выберите тип запуска как автоматический
  4. После нажатия кнопки «Пуск» Windows потребуется некоторое время для перезапуска службы.
  5. После перезапуска нажмите OK, чтобы закрыть диалоговое окно. Теперь повторите описанные выше шаги, чтобы перезапустить еще две службы: Обнаружение оборудования оболочки и Удаленный вызов процедур (RPC).
  6. После перезапуска всех этих служб проверьте свой сканер, чтобы увидеть, работает ли он сейчас.

Метод 2: обновите драйвер WIA

Когда вы выполняете обновление системы или обновляете операционную систему Windows, драйвер становится несовместимым или поврежденным, и вам также необходимо обновить драйверы. Обновление драйвера сканера делает его совместимым с версией Windows и помогает избавиться от поврежденных файлов. Вы можете обновить драйверы, выполнив следующие действия:

  1. Зайдите на официальный сайт вашего сканера и скачайте оттуда прошивку.
  2. Запустите файл .exe и установите прошивку. Не забудьте полностью перезагрузить компьютер после обновления.

Метод 3: переустановите драйвер сканера

Драйверы Windows часто начинают работать со сбоями, так как могут быть ошибки или файлы могут быть повреждены сторонними приложениями на вашем компьютере. Переустановка драйвера может решить эту проблему. Пожалуйста, выполните следующие шаги.

Решение 4. Устранение неполадок сканера

Читайте также: