0 / 0 / 0
Регистрация: 27.03.2016
Сообщений: 52
|
|||||||||||
OpenCV и большие изображения15.10.2023, 21:30. Показов 15556. Ответов 30
OpenCV и большие изображения
Здравствуйте. Столкнулся проблемой на opencv. Версия последняя на данный момент. 4.8.1. Пытаюсь создать и потом сохранить в tiff изображение разрешением 22000х22000 в разрядность. 48 бит. Ну то есть цветное 16 бит на канал.
Сохраняю так
Если работать с изображением размером 15000x15000, то всё нормально и оно создаётся. И сохраняется. Предполагаю, что эта ерунда происходит если размер файла будет превышать 2Гб. Но, это не есть хорошо. Как это побороть?
0
|
15.10.2023, 21:30 | |
Ответы с готовыми решениями:
30
OpenCV: получить гистограммы каналов для области изображения Изменение параметров изображения в зависимости от положения ползунка (Opencv) |
0 / 0 / 0
Регистрация: 27.03.2016
Сообщений: 52
|
|
23.10.2023, 12:50 [ТС] | |
Это не верно. Даже без шапки и тэгов мы имеем 32000*32000*6= 6144000000. То есть более 6 Гб.
Лонги передаю на всякий случай. Даже не лонги, а лонг лонги. Добавлено через 7 минут И лонги это индексы, а не значения пикселов.
0
|
![]() 323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,261
|
|
23.10.2023, 13:11 | |
Очень "замечательный" подход особенно при работе с С++.
В общем представленный код нормально работает. Все программы его понимают, размер также получается более 2гб. Для работы с файлами более 4гб используйте bigtiff.
0
|
0 / 0 / 0
Регистрация: 27.03.2016
Сообщений: 52
|
|
23.10.2023, 13:26 [ТС] | |
А что тут такого незамечательного? Если смещение внутри файла будет больше 4 Гб, то передавать просто лонг уже не выйдет. Нужно передавать long long. Или по правильному,- Int64.
Не очень понятно, как вы сохранили через OpenCV tif файл размером 6 Гб да ещё он при этом был читаем?
0
|
0 / 0 / 0
Регистрация: 27.03.2016
Сообщений: 52
|
|
23.10.2023, 20:20 [ТС] | |
Похоже, что удалось побороть лимит в 2 Гб. Объявил все индексные переменные как long long и при экспорте в RAD, как Int64. То есть можно получить tif файл размером до 4 гб. На счёт bigtif поэтому и спросил, может он уже есть в Opencv. Тем более использую самую последнюю версию. Пересобирать это да. То ещё удовольствие. Я как-то помню собирал для х86 версию 3.4.1 opencv. В сборке были готовыми только х64 dll.
0
|
23.10.2023, 20:20 | ||||||
Помогаю со студенческими работами здесь
31
OpenCv. Получить зеркальное отображение изображения, используя функции: CvScalar, CvGet2D, CvSet2D Большие изображения на S3 OpenCV склеить изображения OpenCV открытие изображения Массив изображения opencv Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
Списки и кортежи в Python: различия, особенности, применение
py-thonny 13.04.2025
Python славится своей гибкостью при работе с данными. В арсенале языка есть две основные последовательные структуры данных, которые программисты используют ежедневно — списки и кортежи. Эти структуры. . .
|
Middleware в ASP.NET Core
UnmanagedCoder 13.04.2025
В ASP. NET Core термин "middleware" занимает особое место. Что же это такое? Middleware представляет собой программные компоненты, которые формируют конвейер обработки HTTP-запросов в приложении. . . .
|
Таблицы лута в Unity с MinMaxCurve и AnimationCurve
GameUnited 12.04.2025
Создание сбалансированного лута в играх — задача не из простых. Разработчики постоянно ищут способы настройки систем выпадения предметов, которые будут одновременно справедливыми для игроков и. . .
|
std::expected в C++: Управление ошибками
bytestream 12.04.2025
Обработка ошибок всегда была важной и одновременно сложной задачей в программировании на C++. На протяжении долгого времени разработчики использовали различные подходы: возвращаемые коды ошибок,. . .
|
Nullable типы и операторы объединения null в C#
UnmanagedCoder 12.04.2025
Многие шутят, что null — это миллиардная ошибка в программировании. И в этой шутке только доля шутки. Тони Хоар, создатель null-ссылки, сам назвал её своей "ошибкой на миллиард долларов". Почему?. . .
|
Аутентификация и авторизация JWT в микросервисах с API Gateway
stackOverflow 12.04.2025
В традиционных монолитных приложениях безопасность часто реализуется как единый защитный периметр - пользователь проходит аутентификацию один раз, после чего получает доступ ко всем функциям системы. . . .
|
TypeScript: Интерфейсы vs Типы
run.dev 11.04.2025
Современная разработка на JavaScript сталкивается с множеством проблем при масштабировании проектов. Типизация кода стала хорошим инструментом, помогающим избежать ошибок во время выполнения,. . .
|
Управление топиками и разделами Kafka
Javaican 11.04.2025
Apache Kafka — распределенная платформа потоковой передачи данных, которая стала стандартом для построения высоконагруженных систем обмена сообщениями. В современной архитектуре микросервисов,. . .
|
Миграция монолита в Event-Driven микросервисную архитектуру на C#
stackOverflow 11.04.2025
Монолитная архитектура – классический подход к разработке программного обеспечения. Это приложение, построенное как единое целое, где все компоненты тесно связаны между собой. Большинство проектов. . .
|
Go в Kubernetes: Управление ресурсами
golander 11.04.2025
Разработчики Go-приложений в Kubernetes часто сталкиваются с неожиданными проблемами производительности и даже внезапными отказами контейнеров. Причина этого кроется в особенностях взаимодействия. . .
|