воскресенье, 30 марта 2014
Нашёл хайлайтер синтаксиса, который можно использовать даже на дайрях, ибо он просто генерит HTML по шаблону. Хотя он всё равно нафиг здесь не нужен, но пусть висит на всякий случай.
|
Дисклеймер: если смотреть через избранное, т.е. не с моим оформлением, может выглядеть как говно.
|
Ссылка на сабж
|
тест
int ImageHistogramByte(const cv::Mat& image, double**& xData, double**& yData) { if (image.type() % 8 != CV_8U) { fprintf(stderr, "Source image must be of integer type"); return 1; }
int intervals = 256;
// separate source image by channels std::vector<cv::Mat> imgChannels; split(image, imgChannels);
// create and initialize arrays for histograms int chCount = imgChannels.size(); yData = new double*[chCount]; for (int i=0; i < chCount; i++) { yData[i] = new double[intervals]; for (int j=0; j < intervals; j++) yData[i][j] = 0; }
xData = new double*[chCount]; for (int i=0; i < chCount; i++) { xData[i] = new double[intervals]; for (int j=0; j < intervals; j++) xData[i][j] = j; }
// iterate through channels and calculate histogram for each int chIdx = 0; while (chIdx < chCount) { int r = imgChannels[chIdx].rows; int c = imgChannels[chIdx].cols; uchar* p = 0; for (int i=0; i < r; i++) { p = imgChannels[chIdx].ptr<uchar>(i); for (int j=0; j < c; j++) yData[chIdx][p[j]]++; } chIdx++; }
return 0; }
|
@темы:
кодинг