2014-02-03 3 views
0

Я пытаюсь повернуть выход Hue-гистограммы, которая (5 * 1), в другое изображение, которое должно иметь (1 * 5) размерность.rotate image opencv

Я использую следующий код, но я получаю ошибку сегментации:

MatND hist_input; 
    calcHist(&hsv_input, 1, channels, Mat(), hist_input, 1, histSize, ranges, true, false); 
    normalize(hist_input, hist_input, 0, 1, NORM_MINMAX, -1, Mat()); 

    MatND rotated_histogram; 
    rotated_histogram.create(0, hist_input.rows, CV_32FC1); 

    for (int i=0; i<hist_input.rows; i++) 
    { 
     rotated_histogram.at<float>(0,i) = hist_input.at<float>(i,0); 
    } 

ответ

0

Я думаю, что проще использовать функцию cv::MantND::t(). Он возвращает транспонирование, поэтому он поворачивает его для вас.

Я хотел бы добавить одно замечание тоже: at очень медленно, так что если вы не делаете это для теста это нормально, но я предлагаю вам использовать ptr для приложений

+0

спасибо ... Вы можете рассказать синтаксис об использовании «ptr» – skm

+1

[Здесь] (http://stackoverflow.com/q/7183359/1360570) является примером –