Могу ли я загрузить изображение через wcf без преобразования в байтовый массив

1

Я собираю jpegs из своей ip-камеры, и я конвертирую его в массив байтов, а затем я вызываю веб-службу и загружаю эти байты.

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

Я использовал качество кодировщика в разных масштабах, но все же получаю некоторую потерю качества.

Есть ли альтернатива массиву байтов, который обеспечит качество изображения?

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

Теги:
image-processing
wcf

2 ответа

2
Лучший ответ

Вы должны выполнить некоторый тест с заданным фиксированным изображением.

Фактически поток представляет собой Camera => JPEG => byte array ~> byte array → JPEG → screen.

  • Где => стрелки - сторона камеры.
  • Где ~> стрелка - сеть.
  • Где -> стрелки на стороне ПК.

JPEG => byte array ~> byte array → JPEG Должны быть потеряны и должны быть протестированы.

Сетевое подключение обрабатывает только байтовый массив, что он. Таким образом, альтернатива находится в алгоритме сжатия. Возможно, вам стоит взглянуть на алгоритм сжатия видео (ведьма использует предыдущие изображения для кодирования новых и имеет гораздо лучший результат).

Но ваша IP-камера должна справиться с этим: o (

  • 0
    Привет спасибо за ваше время Да, я провел исчерпывающие тесты :), поэтому я обнаружил, что передача jpegs через преобразование в байтовый массив и обратно может привести к потере качества. Я также посмотрел на сжатие видео, но, к сожалению, приведет к недопустимому отставанию в потоке. Я тоже думаю, что алгоритм сжатия - единственный вариант, с которым мне осталось поиграть. Я жил в надежде, поставив оригинальный вопрос :)
  • 0
    Вы говорите, что «[вы] заметили, что передача jpegs через преобразование в байтовый массив и обратно может привести к потере качества». Это меня очень удивляет, у вас должны быть точно такие же данные. Я протестирую JPEG0 => byteArray0 => JPEG1 => byteArray1 поток JPEG0 => byteArray0 => JPEG1 => byteArray1 и сравню byteArray0 с byteArray1. Они должны быть одинаковыми ...
Показать ещё 4 комментария
2

Я всегда использовал массив байтов и никогда не имел проблемы с ним. если есть потеря данных, изображение должно быть повреждено.

нет другого способа отправить изображение через webservice. Я считаю, что вы должны проверить свою сеть и посмотреть, все в порядке с вашей сетью.

  • 0
    Привет, я видел сообщения, что есть небольшое нарушение качества JPEG. Я проверил локально в своей сети и вижу те же результаты, так что это не проблема сети. Изображение не повреждено. Я добавлю, что эта потеря качества влияет на красный спектр. Спасибо за ваш вклад, хотя - очень ценится :)
  • 0
    Но вы подтвердили, что я должен использовать байтовый массив
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню