0 / 0 / 0
Регистрация: 04.08.2025
Сообщений: 27

Описать минимальным прямоугольником все белые пиксели на черном экране - максимально быстрый способ

14.08.2025, 04:48. Показов 1360. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
на одноканальном изображении (CV_8UC1) 500*500 пикселей (черный фон) есть разрозненные белые пиксели порядка 200-300 штук. Каким максимально быстрым способом можно вписать все эти белые пиксели в минимально возможный прямоугольник ?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.08.2025, 04:48
Ответы с готовыми решениями:

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

Opencv черно-белое изображение
Считываю изображение - перевожу его в черное-белое, вывожу в label, а оно странно отображается,...

OpenCV ошибка доступа к пикселю
При попытке приравнять значение пикселя переменной вылетает ошибка: Вот часть кода программы:...

13
Эксперт .NET
 Аватар для Usaga
14145 / 9374 / 1350
Регистрация: 21.01.2016
Сообщений: 35,306
14.08.2025, 04:55
v-v-v, варинт тут один - перебрать пиксели и найти координаты самого верхнего, нижнего, левого и правого пикселей.
0
0 / 0 / 0
Регистрация: 04.08.2025
Сообщений: 27
14.08.2025, 05:43  [ТС]
А если пиксели расположены так, что прямоугольник должен быть расположен под каким то углом к кадру ?
0
Эксперт .NET
 Аватар для Usaga
14145 / 9374 / 1350
Регистрация: 21.01.2016
Сообщений: 35,306
14.08.2025, 05:54
v-v-v, а он должен?)
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
14.08.2025, 06:10
Лучший ответ Сообщение было отмечено v-v-v как решение

Решение

v-v-v, ну если речь про CV_8UC1, то тогда конечно наиболее быстрый способ это использовать cv::minAreaRect()
3
0 / 0 / 0
Регистрация: 04.08.2025
Сообщений: 27
14.08.2025, 06:25  [ТС]
Да, расположение пикселей такое, что прямоугольник практически всегда будет абсолютно под разными углами к кадру
0
Эксперт .NET
 Аватар для Usaga
14145 / 9374 / 1350
Регистрация: 21.01.2016
Сообщений: 35,306
14.08.2025, 07:16
v-v-v, почему прямоугольник будет под разными углами?
0
0 / 0 / 0
Регистрация: 04.08.2025
Сообщений: 27
14.08.2025, 07:28  [ТС]
Пиксели будут хаотично расположены на экране, и нужно описать минимально возможным прямоугольником, поэтому и прямоугольник будет развернуть относительно кадра
0
 Аватар для Annemesski
2673 / 1335 / 480
Регистрация: 08.11.2016
Сообщений: 3,688
14.08.2025, 09:56
v-v-v,
Цитата Сообщение от u235 Посмотреть сообщение
ну если речь про CV_8UC1, то тогда конечно наиболее быстрый способ это использовать cv::minAreaRect()
это ответ на Ваш вопрос или Вам необходима собственная реализация?
0
0 / 0 / 0
Регистрация: 04.08.2025
Сообщений: 27
14.08.2025, 10:45  [ТС]
Мне интересны все варианты . Очень важна скорость обработки!
0
Эксперт .NET
 Аватар для Usaga
14145 / 9374 / 1350
Регистрация: 21.01.2016
Сообщений: 35,306
14.08.2025, 11:12
v-v-v, быстрее, чем перебирать все пиксели (можно в несколько потоков) все равно не получится.
1
 Аватар для Annemesski
2673 / 1335 / 480
Регистрация: 08.11.2016
Сообщений: 3,688
14.08.2025, 11:39
Цитата Сообщение от v-v-v Посмотреть сообщение
Очень важна скорость обработки!
врядли удастся навелосипедить что-то (существенно) более быстрое чем уже предоставленная библиотечная функция - это будет нетривиальная задача включающая в себя учет возможностей конкретной платформы, сомневаюсь что вам тут с этим помогут (уж точно не бесплатно).
0
0 / 0 / 0
Регистрация: 04.08.2025
Сообщений: 27
14.08.2025, 12:56  [ТС]
Цитата Сообщение от u235 Посмотреть сообщение
ну если речь про CV_8UC1, то тогда конечно наиболее быстрый способ это использовать cv::minAreaRect()
Проверю, отпишусь. Спасибо
0
0 / 0 / 0
Регистрация: 04.08.2025
Сообщений: 27
16.08.2025, 05:13  [ТС]
Цитата Сообщение от u235 Посмотреть сообщение
ну если речь про CV_8UC1, то тогда конечно наиболее быстрый способ это использовать cv::minAreaRect()
Проверил - работает идеально !
u235 , огромное Вам спасибо !
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.08.2025, 05:13
Помогаю со студенческими работами здесь

Изменение цвета пикселя в opencv
Добрый вечер. Скажите, пожалуйста, есть ли какой-либо метод у opencv, который выполняет...

Узнать сдвиг конкретных пикселей из матрицы сдвига, выдаваемой initUndistortRectifyMap
Есть матрицы сдвига со значениями для remap, полученные в результате работы...

Миллиметры вместо пикселей в OpenCV
Здравствуйте Форумчане! У меня появилась небольшая проблема.Есть приложение которое рисует при...

Как конвертировать размеры в миллиметрах в радиус в пикселях в OpenCV?
У меня есть программа, которая преобразует изображение в круги определённых размеров, где каждый...

Opencv красную часть картинки сделать белой
Всем привет! Немогу решить проблему. Имеется картинка и нужно все пиксели в картинке красного цвета...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru