Форум программистов, компьютерный форум, киберфорум
C++: OpenCV
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
1 / 1 / 0
Регистрация: 12.10.2024
Сообщений: 5

Как конвертировать размеры в миллиметрах в радиус в пикселях в OpenCV?

29.10.2024, 15:38. Показов 5207. Ответов 1

Author24 — интернет-сервис помощи студентам
У меня есть программа, которая преобразует изображение в круги определённых размеров, где каждый круг соответствует заданному размеру в миллиметрах. Проблема в том, что метод cv::circle в OpenCV принимает радиус в пикселях в виде целого числа, а при конвертации миллиметров в пиксели у меня часто получаются дробные значения (например, 3.92 мм).

Простое округление этих значений до ближайшего целого приводит к потере точности между размерами. Например, 3.92 мм и 3.52 мм после округления дадут 4, хотя это разные размеры.

Есть ли способ корректно конвертировать миллиметры в пиксели в OpenCV? Или, возможно, метод, который позволяет рисовать круги непосредственно с использованием миллиметров? Буду благодарен за любые советы!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.10.2024, 15:38
Ответы с готовыми решениями:

Размеры экрана монитора в миллиметрах
Я определяю размеры экрана монитора в миллиметрах следующим кодом (среда программирования Borland Builder 6): //Создаём дескриптор экрана...

Как узнать размеры изображения в пикселях (N x N) не загружая его в память
Здравствуйте. Есть изображения в формате jpeg. Вопрос : как узнать размер изображения(ширину и высоту) не загружая его в память? В...

Как узнать размеры изображения в пикселях (высоту и ширину) до его загрузки в TImage
Здравствуйте. Через OpenPictureDialog есть возможность выбирать графические изображения для загрузки в TImage Вопрос : как узнать...

1
 Аватар для SmallEvil
3842 / 2759 / 774
Регистрация: 29.06.2020
Сообщений: 10,125
29.10.2024, 17:19
Лучший ответ Сообщение было отмечено Handarell как решение

Решение

Цитата Сообщение от Handarell Посмотреть сообщение
рисовать круги непосредственно с использованием миллиметров?
Рисовать круги в миллиметрах можно только на бумаге.
Или другом контексте поддерживающий такую точность.
Обычная канва такого свойства не имеет.
Для повышения точности нужно увеличить изображение до требуемой величины и взять нужный масштаб.

Например: 1мм равен 10 пикселям, тогда круг с размером 3.52мм будет иметь радиус 35пикселей(после масштабирования и округления).
Обычный подход, рисования, даже если он будет использовать дробные числа, так же будут давать довольно большие погрешности при малом масштабе.
Как видим, проблема логическая, а не какого то конкретного алгоритма.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.10.2024, 17:19
Помогаю со студенческими работами здесь

Определить размеры буквы в пикселях
подскажите пожалуйста как связан TFont.Size и возможно TFont.Height с пикселями? мне просто надо вывести одну букву точно по центру...

Указать размеры изображения в пикселях
Задача. Укажите физические размеры цифрового изображения в пикселях, достаточные для того, чтобы обеспечить высокое качество его...

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

Найти яркую дугу и определить ее диаметр в пикселях [OpenCV]
Регулировка диаметра кристалла путем оптического сканирования величины диаметра с помощью телевизионной системы в C++ OpenCV. нужно найти...

Передать на сервер размеры экрана пользователя в пикселях
Необходимо передать на сервер ширину и высоту экрана браузера пользователя, просматривающего данную страницу. Нюанс в том, что сделать это...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Списки и кортежи в 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 часто сталкиваются с неожиданными проблемами производительности и даже внезапными отказами контейнеров. Причина этого кроется в особенностях взаимодействия. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер