Автор Тема: Посоветуйте программу для измерений расстояний на изображениях  (Прочитано 17504 раз)

Оффлайн rotkart

  • Участник
  • *
  • Сообщений: 661
На http://science4all.nl/?Microscopy_and_Photography есть MICAM (с исходниками). Может, собрать?
Натыкался - оно же под виндоуз вроде? Если не затруднит - собрать :-)

Большой список по теме http://www.le.ac.uk/biochem/microscopy/software.html (надо смотреть)
Как раз вчера просматривал - чтобы пробовать что-либо из списка надо таки брать машину с виндой :-( В основном в этом списке демо- и триал-версии ПО.

Ещё один список: http://softwaretopic.informer.com/image-measurement-software-linux/
Этот список не видел - поизучаю.

OpenSourcу-библиотека http://www.qweas.com/downloads/development/components-libraries/overview-units-of-measurement.html
Тоже смотрел. Библиотека перевода величин. Типа как тут: http://www.convert-me.com/ru/
Научить нельзя, научиться можно.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 153
    • Домашняя страница
На http://science4all.nl/?Microscopy_and_Photography есть MICAM (с исходниками). Может, собрать?
Натыкался - оно же под виндоуз вроде? Если не затруднит - собрать :-)
Увы, там модули прибиты и конвертация из Delphi на Lazarus не сработала. Надо искать дальше или своё писать.
Андрей Черепанов (cas@)

Оффлайн rotkart

  • Участник
  • *
  • Сообщений: 661
Ещё один список: http://softwaretopic.informer.com/image-measurement-software-linux/
Здесь есть ссылки на софт ImageJ http://rsb.info.nih.gov/ij/features.html
Он на Java - запускается везде.
Мне кажется - он перекрывает все мои потребности по исследованию изображения с микроскопа.
Ухожу читать документацию :-)
Научить нельзя, научиться можно.

Оффлайн stranger573

  • Мастер
  • ***
  • Сообщений: 1 567
Перемещением предметного стола микроскопа. Зуммирования цифрового нет.
Тогда проблем нет. Коэффициенты неизменные. Верны для любого предмета в фокусе.

Вот пример двух картинок с микроскопа - увеличение 10х , потом 60х.
Сверху - миллиметровые риски металлической линейки, снизу - скрепка из степлера :-)
http://i4.imageban.ru/out/2013/01/10/1696cbdec7e6e134bde199897e827d42.png
http://i4.imageban.ru/out/2013/01/10/b5efa773656879e21505c95bfa878eb2.png
В принципе - измеряемо.
Побаловался сейчас измерителем в гимпе - мда... 640х480 - это так мало.
Чтобы более-менее точный результат измерений получить придётся делать серию измерений как еденичного отрезка, так и измеряемого объекта :-(
   Для 10х получается k=29,98236332мкм/пикс, для 60х k=4,226542688мкм/пикс. Такая же и максимальная точность измерения (±30мкм для 10х;±4,2мкм для 60х. Есть ещё погрешность от геометрических искажений оптики и т.д. Деления на линейке толстоваты, да и класть её лучше по диагонали. Лучше за единичный отрезок принимать такой, чтобы занимал почти всю картинку. В Gimp при измерении лучше поставить масштаб побольше и развернуть окно на весь экран. Если картинка только 640х480, точнее k никакая программа не измерит.
   Для примера -- снизу вложение. Там размер 81пикс., следовательно 81х4,226542688≈342мкм (±4,2мкм). Для дешёвого, не прецизионного микроскопа вполне приличная точность.
« Последнее редактирование: 10.01.2013 19:59:59 от stranger573 »

Оффлайн rotkart

  • Участник
  • *
  • Сообщений: 661
Для 10х получается k=29,98236332мкм/пикс, для 60х k=4,226542688мкм/пикс. Такая же и максимальная точность измерения (±30мкм для 10х;±4,2мкм для 60х. Есть ещё погрешность от геометрических искажений оптики и т.д. Деления на линейке толстоваты, да и класть её лучше по диагонали. Лучше за единичный отрезок принимать такой, чтобы занимал почти всю картинку. В Gimp при измерении лучше поставить масштаб побольше и развернуть окно на весь экран. Если картинка только 640х480, точнее k никакая программа не измерит.
   Для примера -- снизу вложение. Там размер 81пикс., следовательно 81х4,226542688≈342мкм (±4,2мкм). Для дешёвого, не прецизионного микроскопа вполне приличная точность.

Другую картинку микроскоп не даёт - и такой школе в радость :-)
 
Но как вы измерили эти микроны и оценили точность?
Просто поделив на количество пикселей между миллиметровыми рисками 1000?

Я предполагал подсчитывать через обычную пропорцию:
http://i1.imageban.ru/out/2013/01/11/a43f274d177ad5e2a2762abdabaa26c3.png
В 1мм уложено 236 пикселей (измеритель гимпа), а то место, где надо вычислить - 82 пиксела. Значит, чтобы получить искомый размер Х необходимо найти отношение 82/236.
Оно равно 0,347 мм. В принципе у вас получилось 0,342 мм - очень близко.
Поправьте, если ошибаюсь.
Научить нельзя, научиться можно.

Онлайн YYY

  • Мастер
  • ***
  • Сообщений: 6 046
> В 1мм
ИМХО, брать в вашем случае не 1 мм а два :) (лучше 3 - если их поместить... - в общем - чем больше эталон - тем лучше)

Оффлайн stranger573

  • Мастер
  • ***
  • Сообщений: 1 567

Но как вы измерили эти микроны и оценили точность?
Просто поделив на количество пикселей между миллиметровыми рисками 1000?
Для 10х видно 17мм, для 60х видно 2мм.
  • 17000мкм/576пикс=12,345679мкм/пикс
  • 2000мкм/473,2пикс=4,226542688мкм/пикс
   Для большей точности лучше брать максимально большой размер эталона. Всё это приблизительно, конечно. Точность я указал с учётом только разрешения картинки (на самом деле погрешность будет больше), коэффициент k в данном случае -- это размер одного пикселя. Это точность в лучшем случае -- картинка цифровая, значит дискретная, поэтому точнее одного пикселя картинки никакими способами размер не вычислить. Линейка грубовата для такого дела.
   Если нужно более точно, надо всё таки найти стекло с прецизионной сеточкой (класть его надо сеткой к объективу, дабы избежать ещё и параллакса стекла) и сделать фото для всех трёх увеличений. Тогда можно будет оценить вертикальную, горизонтальную погрешности, а также погрешности в центре и на краях. Да и коэффициенты можно будет более точно посчитать. :)

P.S. Да, это и есть пропорция. Однако, будет удобнее вычислить три коэффициента для 10х, 60х, 200х (эти коэффициенты для данного конкретного микроскопа будут неизменны, если его не разбирать), и потом просто умножать на них тот размер в пикселях, что показывает GIMP.
« Последнее редактирование: 11.01.2013 19:36:41 от stranger573 »