Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.08.2014, 14:35   #1
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию Виртуальное хранилище

Здравствуйте, есть такая проблемка.
Имеется переменная System.Drawing.Bitmap и переменная IplImage из библиотеки OpenCV.
Нужно перегнать данные из первого во второй с сохранением всех слоев.
Изначально в Bitmap содержит файл PNG с прозрачностью.
При использовании расширения OpenCV теряется слой прозрачности и картинка получается с жуткими артефактам.
Если использовать методы передачи байтов типа SetData и GetRawData то с виду все хорошо, но периодически вываливается ошибка в неуправляемой памяти.

Последняя надежда это сохранить битммап на диск и загрузить его оттуда в IplImage. Вот тут то и вопрос. Работы с диском это дорого по времени. Хочу спросить может кто нибудь знает, возможно ли создать в памяти некое хранилище виртуальное с которым можно было бы работать как с диском. Или что-нибудь похожее.
Спасибо.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 13.08.2014, 10:14   #2
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

Цитата:
Последняя надежда это сохранить битммап на диск и загрузить его оттуда в IplImage. Вот тут то и вопрос. Работы с диском это дорого по времени. Хочу спросить может кто нибудь знает, возможно ли создать в памяти некое хранилище виртуальное с которым можно было бы работать как с диском. Или что-нибудь похожее.
Спасибо.
К сожалению, так плотно с данными вещами не работал, но в метод Save у System.Drawing.Bitmap указывается стрим и формат, используйте в качестве стрима MemoryStream, я думаю Ваша IplImage умеет поднимать данные из стрима. Это будет аналогично записи на диск…
dampirik вне форума Ответить с цитированием
Старый 13.08.2014, 10:43   #3
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от dampirik Посмотреть сообщение
К сожалению, так плотно с данными вещами не работал, но в метод Save у System.Drawing.Bitmap указывается стрим и формат, используйте в качестве стрима MemoryStream, я думаю Ваша IplImage умеет поднимать данные из стрима. Это будет аналогично записи на диск…
Зря так думаете ... Данное решение было проверено еще в самом начале решения. Не умеет поднимать .. Это было бы слишком просто.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Виртуальное хеширование (virtual hashing) Dmitriy1708 Общие вопросы C/C++ 2 20.05.2016 18:53
Виртуальное время для игры aleksandr278 Помощь студентам 13 20.03.2010 21:22
Виртуальное в виртульности (Virtual Machine) Veiron Свободное общение 0 01.02.2008 21:27