Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.9.168] |
|
Сообщ.
#1
,
|
|
|
Уважаемые участники форума!
Возникла задача. Дано: файл *. jpg, разрешение 96 точек на дюйм. В файле отображена масштабная линейка: 20 микрометров соответствуют 111 px. Требуется установить соответствие между евклидовым расстоянием d (в пикселах) и пространственным расстоянием s (в микрометрах). Eвклидовое расстояние между двумя пикселами с координатами (x0, y0) и (x, y) может быть найдено d=sqrt((x-x0)^2+(y-y0)^2). Например, если (x0=7, y0=33) и (x=119+111, y=33), то d=111 px. Здесь пикселы с координатами (x0, y0) и (x, y) соответствуют началу и концу масштабной линейки (выделены красным). Исходя из приведенной масштабной линейки 20 микрометров = 111 px или 1 микрометр = 111 px /20 = 5,55 px. В расчетах разрешение 96 dpi не использовано. Можно ли аналогично установить соответствие d и s для файлов с любым разрешением? Прикреплённая картинка
|
Сообщ.
#2
,
|
|
|
Если есть линейка в кадре - можно :-)
96 dpi к реальным размерам отношения не имеет - это значение задаётся при создании файла (обычно автоматически берётся текущее системное разрешение) |
Сообщ.
#3
,
|
|
|
Цитата Можно ли аналогично установить соответствие d и s для файлов с любым разрешением? Когда программа не знает реальное значение DPI оно берёт его от балды. При сохранении картинки в фотошопе обычно разрешающая способность принимается 72. В других программах берется значение от монитора* равное 96 или 120. Главное что-бы картинка отображалось нормально, а на правду всем забить. * Это не настоящий DPI монитора. Просто майкрософт его подсовывает для совместимости. А реальный получить можно через реестр. А вот если вы сканируете картинку, то там будет реальное значение DPI обычно 300 или 600 dpi. Для видео камер это значение бесполезно. Из-за проекции чем дальше предмет от вас тем он меньше можно даже сказать, что он ближе к центру. Для этих целей применяют калибровку камеры. В OpenCV есть такая функция она вычисляете: 9 внешних параметров и ещё 5 внутренних. Так что далее уже школьной математикой не обойтись. Нужно уметь работать с матрицами и всё такое. Есть как ручная, так и автоматическая калибровка. По серии снимков ещё можно установить реальные размеры. А вот по одному не чуть не лучше DPI взятого наугад. |