#include "CVGraph.h" /* Display a very crude graph using openCV. only used for debugging. values[n] = vector to graph. xSize, ySize = size of window. title = title. */ void cvGraph(int* values, int n, int xSize, int ySize, const char *title) { char buff[50]; int x0 = 0, y0 = ySize - 1; int ymin, ymax; ymin = ymax = values[0]; Mat g = Mat::zeros(ySize, xSize, CV_8UC1); for (int i = 1; i < n; i++) { if (values[i] < ymin) ymin = values[i]; if (values[i] > ymax) ymax = values[i]; } // sprintf_s(buff, sizeof(buff), "%s %d - %d", title, ymin, ymax); for (int i = 0; i < n; i++) { int x = (i * xSize) / n; int y = ySize - ((values[i]-ymin) * ySize) / (ymax-ymin+1); if (y >= ySize) y = ySize - 1; if (y < 0) y = 0; cv::line(g, Point(x0, y0), Point(x, y), 255); x0 = x; y0 = y; } imshow(title, g); waitKey(10); // Wait for a keystroke in the window // destroyWindow(buff); }