На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА
В этом разделе решаются вопросы, касающиеся векторной/растровой графики, а также 3D-редакторов.
Вопросы по программированию графики (работу с графическими форматами, распознавание изображений и т.д.) - просьба создавать в разделе Программирование графики.

Обучающие материалы: PhotoShop, PhotoPaint, ... растровая графика, Corel DRAW, Illustrator, ... векторная графика, 3D графика, 3D-анимация
Модераторы: Tri Repetae, Serafim
  
> переход от микрометров к пикселам
    Уважаемые участники форума!

    Возникла задача.
    Дано: файл *. 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 для файлов с любым разрешением?
    Прикреплённая картинка
    Прикреплённая картинка
      Если есть линейка в кадре - можно :-)

      96 dpi к реальным размерам отношения не имеет - это значение задаётся при создании файла (обычно автоматически берётся текущее системное разрешение)
        Цитата
        Можно ли аналогично установить соответствие d и s для файлов с любым разрешением?

        Когда программа не знает реальное значение DPI оно берёт его от балды.

        При сохранении картинки в фотошопе обычно разрешающая способность принимается 72. В других программах берется значение от монитора* равное 96 или 120. Главное что-бы картинка отображалось нормально, а на правду всем забить.
        * Это не настоящий DPI монитора. Просто майкрософт его подсовывает для совместимости. А реальный получить можно через реестр.
        А вот если вы сканируете картинку, то там будет реальное значение DPI обычно 300 или 600 dpi.

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

        Для этих целей применяют калибровку камеры. В OpenCV есть такая функция она вычисляете: 9 внешних параметров и ещё 5 внутренних. Так что далее уже школьной математикой не обойтись. Нужно уметь работать с матрицами и всё такое.
        Есть как ручная, так и автоматическая калибровка. По серии снимков ещё можно установить реальные размеры. А вот по одному не чуть не лучше DPI взятого наугад.
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,2072 ]   [ 18 queries used ]   [ Generated: 28.03.24, 22:12 GMT ]