2014-02-01 3 views
2

Я использую C++ и opencv. Я должен получить матрицу преобразования, когда я умножаю матрицу А на другую матрицу, В. Но матрица B должна измениться, прежде чем умножить ее на A. Если B - матрица 2x3, ее нужно изменить на 3x3 с первыми двумя строками, содержащими те же элементы, что и исходная матрица B, но с последней строкой, имеющей все 1 , Проще говоря, мне нужно добавить последнюю строку из 1 в исходную матрицу В. Я хочу знать, могу ли я достичь этого с помощью любой конкретной матрицы матричной операции. ThankyouПреобразование матрицы матрицы

+0

Самостоятельно, матричные элементы исходного объекта Mat отображаются только на одной строке (см. http://i.imgur.com/JFb49of.jpg, где (55,118) - одна координата). Я попытался добавить последнюю строку из 1, так как вы, ребята, предложили bu Это не работает. Либо я не смотрю достаточно сильно, но я не могу сделать эту работу. – Steph

ответ

2

Вам необходимо использовать Mat::push_back, который добавит элементы в нижней части матрицы.

Например

  Mat A = (Mat_<uchar>(3,4) << 1, 2, 3, 4,\ 
             5, 6, 7, 8,\ 
             9, 10, 11, 12); // 3X4 matrix. 

      Mat B = (Mat_<uchar>(1,4) << 13, 14, 15, 16); // 1X4 matrix 

      A.push_back(B); // Now A become 4X4 matrix 
+1

Уход. Я так привык к API OpenCV Python, что я не знал, что это существует. :) –

+0

- это ваш код в python? нормально, я явно не вводил исходную матрицу, но когда я добавляю часть Mat B с 1 в скобке, я получаю эту ошибку http://i.imgur.com/Mff4Q6z.jpg – Steph

+0

@Steph Нет этого чистого кода на C++. И убедитесь, что количество столбцов для обоих Mat должно быть равным, то есть, если A - это порядок 2X3, тогда B должен быть NX3, где N> 0. – Haris

1

прямо вперед путь, но, вероятно, не самый быстрый и симпатичные

Mat B_new(3,3,CV_32F); 
B_new.row(0) = B.row(0); 
B_new.row(1) = B.row(1); 
B_new.row(2) = Mat::ones(1,3,CV_32F); 

Вы должны взглянуть на Mat type documentation

+0

спасибо, но я получаю следующее сообщение об ошибке http://i.imgur.com/o6PLnQq.jpg Моя оригинальная матрица - 2x6 – Steph

Смежные вопросы