#c #opencv
#c #opencv
Вопрос:
Я использую opencv для обработки очень больших изображений (в некоторых случаях даже больше 2500×2000). Когда я отображаю такое изображение, используя обычное cvNamedWindow, оно занимает весь экран, и даже я не могу прокрутить вниз или вбок, чтобы увидеть другие части. Возможно ли уменьшить размер изображения только во время отображения?
Примечание: размер моих изображений не является постоянным
используемая платформа: visual studio
Ответ №1:
Вы должны использовать флаг CV_WINDOW_NORMAL
, чтобы изменить это поведение. Этот флаг позволит изменять размер окна вручную.
cvNamedWindow(yourWindowName, CV_WINDOW_NORMAL);
Комментарии:
1. убедитесь сами cognotics.com/opencv/docs/1.0/ref/opencvref_highgui.htm
Ответ №2:
я не знаю, доступна ли какая-либо встроенная функция для этого или нет, но я могу предложить вам написать собственную функцию обработки изображений для отображения сгенерированного изображения… которое принимает для отображения только альтернативные строки и информацию о столбцах, которые уменьшат изображение до 1250X1000, поэтому, в зависимости от ваших потребностей, вы можете использовать каждую 3-ю строку или столбец, если хотите, чтобы размер был еще меньше… Это приведет к снижению производительности в зависимости от времени отображения, поскольку необходимо сгенерировать временные изображения, которые дадут вам желаемые результаты.