Smorodov 579 Жалоба Опубликовано August 10, 2012 Можно, надо найти ранг матрицы. Это и будет количество линейно независимых уравнений. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано August 10, 2012 а если система нелинейная, то такой термин применим? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано August 10, 2012 Думаю что можно попробовать линеаризовать нелинейную систему и найти ранг матрицы. Линеаризация, это когда небольшой участок кривой в окрестности рассматриваемой точки заменяется на кусочек прямой/плоскости/гиперплоскости (обычно касательная). Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано August 10, 2012 http://graphics.cs.cmu.edu/courses/15-463/2008_fall/Papers/proj.pdf небольшой док на тему перспективного искажения. Линеаризация, это когда небольшой участок кривой в окрестности рассматриваемой точки заменяется на кусочек прямой/плоскости/гиперплоскости (обычно касательная). а как это делается? я так предполагаю не вручную. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано August 10, 2012 вот тут что то еще про линейность и нелинейность http://math.stackexchange.com/questions/450/can-non-linear-transformations-be-represented-as-transformation-matrices но что то я не осилил матан For example, 3d translation is a non-linear transformation in a 3x3 3d transformation matrix, but is a linear transformation in 3d homogenous co-ordinates using a 4x4 transformation matrix. The same is true of other things like perspective projections. типа если записать в 3Д то будет линейное уравнение? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано August 10, 2012 Через производную в данной точке. А производную можно аналитически найти или, что чаще делают через конечные разности. Допустим есть 2D кривая парабола, y(x)=x^2+x+1 (как пример, все далее подходит для любой плоской кривой); тогда производная в точке k=(y(x+dx)-y(x-dx))/(2*dx); где dx- малое приращение. Тогда уравнение прямой y=k*x+b, и есть касательная (линеаризация в точке), b - можно найти подстановкой x и y в уравнение прямой. Для многомерных случаев используют уравнения в частных производных (точнее матрицы Якоби). Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано August 10, 2012 Что касается добавления измерений в пространство, то это может помочь представить систему в линейном виде, но это не всегда легко (помните ядра SVM). Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано August 13, 2012 ну а если система например y(x)=x^6+1/x+1 ? тут так просто от степени не избавиться. я решил попробовать поставить задачу для перспективных искажений без поворота т.е. я знаю координаты точек u,v после преобразования, а до преобразования x,y не знаю, но знаю что расстояние между точками сохраняется. пример имею 5 одних и тех же четырехугольников до и после тут код для математики http://pastebin.com/hXbUtLyA и почему то выдает, что нет решений. как трактовать, что решений нет логически (ближе к физическому миру)? задача поставлено неверно или противоречиво? или не хватает каких то данных? возможно можно как то дополнительно проанализировать уравнения? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано August 13, 2012 стало понятно что в случае аффинных преобразований мы не имеет никакой доп. информации т.к. фигуры будут одинаковые. а с перспективными всё таки не ясно. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано August 13, 2012 если продолжить мысль, инетерсно как связаны между собой четырехугольники на результирующей картинке Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано August 13, 2012 Насчет линеаризации, dy(x)=y(x+dx)-y(x); Если сделаете подстановку и развернете свою функцию, то там будут dx, и dx в некоторых степенях, больше 1. Так вот эти слагаемые, содержащие dx в степенях больше 1 нужно убирать (как малые высшего порядка). И получаете линейную функцию относительно dx, а x Вам известен. Вот что выдает TILT (красный прямоугольник - мой ввод, зеленый - результат вычислений.): Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано August 13, 2012 ну там сетка, на реальном изображении я знаю только координаты точек. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано August 13, 2012 EPIPOLAR GEOMETRY TOOLBOX : http://egt.dii.unisi.it/ Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано August 20, 2012 вот возвращаясь к теме о перспективных искажениях, я подумал, если есть изображение и еще снятое с поворотом на 180. разворачиваем второе на 180 и получаем одинаковые изображения вплоть до искажения, но изначальное искажение мы установить не можем, но например можем посмотреть есть ли тут трапеция и разжать или сузить её. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано August 29, 2012 http://www.ics.forth.gr/~lourakis/homest/ интересно работает ли это лучше чем есть в opencv Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано April 17, 2013 вот нашел про автокалибровку в FIJI как раз, то что я тогда и придумал http://www.kaynig.de/downloads/DistortionCorrectionPlugin_Manual.pdf http://www.kaynig.de/index.html#software Fully automatic stitching and distortion correction of transmission electron microscope images It does not require special calibration samples, but needs sufficient overlapping image areas with preferably high contrast. похоже это всё входит в пакет TrakEM2 http://www.ini.uzh.ch/~acardona/trakem2.html Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах