2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

Если Вы зададите новый вопрос в существующей теме, то в случае нарушения оформления или других правил форума Ваше сообщение и все ответы на него могут быть удалены без предупреждения.

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

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4  След.
 
 Re: матричное уравнение
Сообщение30.07.2012, 21:51 
Заслуженный участник


27/04/09
28128
В справке писалось, что Solve не выдаёт нетривиальные решения (это не значит, что они не осиливаются). Для подробных Reduce, но там они перемешиваются с условиями, и потому, как правило, подходит и лучше выглядит результат первой.

 Профиль  
                  
 
 Re: матричное уравнение
Сообщение30.07.2012, 22:44 
Аватара пользователя


14/08/09
1140
INGELRII в сообщении #601228 писал(а):
Сказано же, что нетривиальное решение есть только в случае, когда у матриц $A$ и $B$ есть хоть одно общее характеристическое число. Если склероз мне не изменяет, даже для матриц $3 \times 3$ это условие выглядит весьма нетривиально, если его через элементы самих матриц записывать.

Примерно как равенство нулю определителя $6\times 6$, состоящего из определителей, порядка не более $3$. Интересно бы записать эту штуку :shock:

 Профиль  
                  
 
 Re: матричное уравнение
Сообщение01.08.2012, 10:26 


20/04/12
114
Цитата:
Небольшой комментарий вбок: в Mathematica ответ {} на Solve означает, что решений нет, а похожий на него {{}} означает бесконечное количество решений. Если получилось второе, можно попробовать Reduce или что-нибудь похожее, чтобы одни переменные выражались через другие. Или можно попробовать Solve с указанием меньшего количества переменных, чтобы через остальные их можно было выражать.

спасибо, так всё таки можно получить не тривиальные решения?

выше уже выяснилось, что матричное уравнение не правильное,про другой тип уравнения я наверно создам отдельную тему.

 Профиль  
                  
 
 Re: матричное уравнение
Сообщение01.08.2012, 11:04 
Заслуженный участник
Аватара пользователя


23/07/08
10653
Crna Gora
mrgloom_, да, надо бы поставить верно задачу.
Чтобы можно было как-то помочь Вам — Вы можете ещё подробнее рассказать на уровне физической ситуации? (можно в новой теме, если хотите)
Правильно ли я понимаю, что "перспективное искажение" у Вас — это не какой-то там недостаток камеры, а просто стандартное отображение трехмерного пространства на двумерную "плоскость восприятия" (на снимок)? Т.е. прямая линейная перспектива.

 Профиль  
                  
 
 Re: матричное уравнение
Сообщение01.08.2012, 12:39 


20/04/12
114
я создал новую тему про решение получившегося уравнения topic61225.html

но отвечу и тут, перспективное искажение именно идет от камеры.
я могу взять и поставить 4 точкам(которые образуют например трапецию) на изображении 4 угла "мнимого прямоугольника" и применить обратное перспективное искажение чтобы "развернуть" точки в прямоугольник, но проблема в том, что я не знаю каким точно должен быть этот "мнимый прямоугольник", можно использовать скажем вписанный или описанные прямоугольник вокруг точек или их усреднение, но так мы получим искомый результат только с точностью до масштаба по $X,Y$.
Что я пытаюсь сделать: беру снимаю первую картинку(с неизвестным перспективным искажением $M$), потом поворачиваю плоскость которую снимаю на какой либо известный градус (например на 90) получаю вторую картинку с искажением уже $M[Rot]$, потом я могу поставить в соответсвие 4 пары точек на первой и второй картинке и получить тем самым переход от одной картинки к другой $L$, потом я составляю уравнение
Изображение, которое и пытаюсь тщётно решить.

в общем случае еще накладывается и дисторсия бочка\подушка, какую точно она имеет формулу я не знаю, я брал простейшую.
$$\begin{cases}
u=c_1+x+k_1x(x^2+y^2) \\
v=c_2+y+k_2y(x^2+y^2)
\end{cases}$$
если еще проще, то $c_{1}=c_{2},k_{1}=k_{2}$
описывал проблему тут
topic61037.html
единственное там формула общего преобразования не верная
$$\begin{cases}
u=\frac{m_{11}x+m_{12}y+m_{13}}{m_{31}x+m_{32}y+m_{33}}+c_1+x+k_1x(x^2+y^2) \\
v=\frac{m_{21}x+m_{22}y+m_{23}}{m_{31}x+m_{32}y+m_{33}}+c_2+y+k_2y(x^2+y^2)
\end{cases}$$
(я почему то просто сложил перспективное искажение и искажение типа бочка\подушка, хотя их последовательно надо применять, только непонятно в каком порядке и соответственно от порядка применения зависит порядок убирания дисторсий).

в общем задачу можно поделить на 2.
1. Исправление перспективного искажения
2. Исправление дисторсии подушка бочка

думаю нет смысла решать задачу сразу в целом в виде Dist[Persp[(x,y)]] или Persp[Dist[(x,y)]], т.к. будет только сложнее, а можно решить задачу последовательно устранив искажения сначала перспективное, потом бочку.

 Профиль  
                  
 
 Re: матричное уравнение
Сообщение01.08.2012, 18:38 
Заслуженный участник
Аватара пользователя


23/07/08
10653
Crna Gora
Потихоньку начинаю понимать. Пожалуйста, давайте на первом этапе не говорить о дисторсии.
У Вас ось камеры перпендикулярна плоскости, которую снимаете? (вряд ли)
Значит, Вы хотите, сняв какой-то объект на плоскости, преобразовать потом изображение так, чтобы у Вас получился как бы вид этого объекта сверху? Для этого Вы хотите научиться по снимку определять параметры перспективного преобразования, чтобы найти обратное преобразование и применить его. Правильно?

 Профиль  
                  
 
 Re: матричное уравнение
Сообщение02.08.2012, 09:22 


20/04/12
114
плоскость которую я снимаю параллельна плоскости камеры, ну т.е. если из центра камеры провести отрезок до плоскости которую я снимаю то он будет перпендикулярен плоскости(я думаю вы это имели ввиду).
т.е. перспективные искажения идут именно от внутренних параметров камеры ,а не от того что камера наклонена.
Что я хочу: определить перспективное искажение которое заложено в камере(и которого я не знаю), я могу получить сколько угодно снимков путем вращения плоскости которую снимаю, причем я всегда знаю угол на который поворачиваю(кстати говоря камера закреплена, поворачиваю именно плоскость), и я могу для каждой пары снимков указать 4 точки соответствия ,т.е. я могу получить перспективное преобразование-переход от одного изображения к другому.

 Профиль  
                  
 
 Re: матричное уравнение
Сообщение02.08.2012, 14:50 
Заслуженный участник
Аватара пользователя


23/07/08
10653
Crna Gora
Так а в чём тогда состоит собственно перспективное искажение, скажем, для квадрата на плоскости, которую Вы снимаете? Во что он превращается на снимке? Только о дисторсии пока давайте не говорить — чтобы я лучше понял, что Вы понимаете под перспективным искажением в чистом виде.

 Профиль  
                  
 
 Re: матричное уравнение
Сообщение02.08.2012, 15:34 


20/04/12
114
квадрат может превратится в прямоугольник с одним "оттянутым" углом, это может быть трапеция, это может быть произвольный четырехугольник как например этот
Изображение

 Профиль  
                  
 
 Re: матричное уравнение
Сообщение02.08.2012, 15:45 
Заслуженный участник
Аватара пользователя


23/07/08
10653
Crna Gora
Вы называете это "перспективным искажением", потому что оно сходно с явлением перспективы по результату (но не по механизму), так? Просто механизм не очень понятен, вроде снимаете перпендикулярно, и всё должно быть симметрично.

 Профиль  
                  
 
 Re: матричное уравнение
Сообщение03.08.2012, 08:56 


20/04/12
114
я просто рассматриваю в общем случае, картинка получается из электронного микроскопа, а там может быть не просто трапеция как в обычной оптике вроде как.

-- 03.08.2012, 10:17 --

что то я уже ничего не понимаю, тут мне сказали, что всё таки уравнение можно записать в матричной форме, но в 3д координатах и что в 3д координатах операторы уже будут линейны.
http://math.stackexchange.com/questions ... athematica
но нетривиальное решение есть(т.е. задача решаема) только если для матриц $A,B$ выполняется условие подобия http://en.wikipedia.org/wiki/Similar_matrix
но как проверить это условие? по сути получается опять же такое же уравнение только с неизвестным $ P$
$AP=cPB$
впринципе матрица $A $ может варьироваться, т.е. она зависит от угла поворота, который я могу менять по желанию, а матрица $B$ получается тоже зависит от матрицы поворота, т.к. является матрицей перехода, но её я определяю правда примерно(с погрешностью) по 4-м парам точек.

 Профиль  
                  
 
 Re: матричное уравнение
Сообщение03.08.2012, 10:06 


20/04/12
114
да и еще может кто нибудь поможет записать это формулой
Изображение

http://ru.wikipedia.org/wiki/%D0%A5%D0% ... 1%86%D1%8B
т.е. чтобы получить характеристический многочлены
я должен решить уравнения
$Det(A-yE)=0$ и $Det(B-yE)=0$ (лямбда что то не вставляется)
потом надо найти корни этих многочленов и проверить есть ли совпадающие корни?
и если есть хоть 1, то значит есть не тривиальное решение.

получается там по 3 корня на уравнение.
и надо проверить все комбинации корней
$y_{a1}=y_{b1}

y_{a1}=y_{b2}

y_{a1}=y_{b3}

y_{a2}=y_{b1}

y_{a2}=y_{b2}

y_{a2}=y_{b3}

y_{a3}=y_{b1}

y_{a3}=y_{b2}

y_{a3}=y_{b3}$

только тут непонятно комплексные корни тоже считаются?
и опять же если я одну из матриц определяю с погрешностью, то корни ведь тоже могут сойтись с погрешностью?

 Профиль  
                  
 
 Re: матричное уравнение
Сообщение03.08.2012, 10:22 
Заслуженный участник


08/01/12
915
mrgloom_ в сообщении #602626 писал(а):
потом надо найти корни этих многочленов и проверить есть ли совпадающие корни?

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

 Профиль  
                  
 
 Re: матричное уравнение
Сообщение03.08.2012, 10:42 


20/04/12
114
Цитата:
Для того, чтобы узнать, есть ли совпадающие корни у многочленов, вовсе не обязательно их находить.


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

-- 03.08.2012, 12:38 --

попробовал найти собственные значения, получилось
Код:
A matrix
(0 -1 300
1 0 0
0 0 1)
B matrix
(-0.4009 -1.0787 446.1463
1.6180 0.8875 -159.2272
0.0003 0.0029 1)

матрица $B$ содержит ошибку.

для матрицы $A$
Код:
-i;i;1

для матрицы $B$
Код:
0.00484251-1.4788i;0.00484251-1.4788i;1.4769

если представить, что есть погрешность, то вроде значения близкие.

попробовал матрицу поворота определить теоретически и по точкам, посмотреть какая погрешность.
поворот на 90 против часовой
получилось:
теоретическое
Код:
0 1 0
-1 0 300
0 0 1

с погрешностью
Код:
0.0040 1.0100 -0.8991
-1.0006 0.0090 301.1152
5.2616е-5 3.0549е-5 1

 Профиль  
                  
 
 Re: матричное уравнение
Сообщение03.08.2012, 12:20 
Заслуженный участник
Аватара пользователя


30/01/06
72407
mrgloom_ в сообщении #602610 писал(а):
я просто рассматриваю в общем случае, картинка получается из электронного микроскопа, а там может быть не просто трапеция как в обычной оптике вроде как.

Я думаю, вам остро необходимо зарыться в литературу по электронным микроскопам, и выяснить, какие там на самом деле бывают искажения.

Боюсь, к перечисленным вами типам дело не сводится, и они могут быть даже не основными.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 53 ]  На страницу Пред.  1, 2, 3, 4  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group