#include #include #include #include using namespace cv; int main11(int argc, char* argv[]) { TickMeter timer; vector times; Scalar x; double s = 0.0; int nIters = 100; for (int i = 0; i < nIters; i++) { timer.start(); Mat m(4096, 1024, CV_32F); //m.setTo(Scalar(33.0)); randu(m, 0, 256); x = sum(m); timer.stop(); times.push_back(timer.getTimeMilli()); timer.reset(); x = sum(m); s += x[0]; } for (int i = 0; i < nIters; i++) printf("time[%d] = %.2f ms\n", i, times[i]); printf("s = %f\n", s); } int main3(int argc, char* argv[]) { int w = 1280; int h = 720; Mat m1(w, h, CV_8U); Mat m2(w, h, CV_8U); Mat m3(w, h, CV_8U); Mat dst(w, h, CV_8U); Scalar x; double s = 0.0; TickMeter timer1; TickMeter timer2; TickMeter timer3; int nIters = 100; for (int i = 0; i < nIters; i++) { randu(m1, 0, 256); randu(m2, 0, 256); equalizeHist(m1, m1); equalizeHist(m2, m2); timer1.start(); add(m1, m2, dst); timer1.stop(); normalize(dst, dst, dst.total()); timer2.start(); m3 = m1 + m2; timer2.stop(); timer3.start(); dst = m3 + dst; timer3.stop(); x = sum(dst); s += x[0]; } printf("s = %f\n", s); printf("timer1 = %.2f ms\n", timer1.getTimeMilli()/nIters); printf("timer2 = %.2f ms\n", timer2.getTimeMilli()/nIters); printf("timer3 = %.2f ms\n", timer3.getTimeMilli()/nIters); } const char* message = "Hello Android!"; int main2(int argc, char* argv[]) { // print message to console printf("%s\n", message); // put message to simple image Size textsize = getTextSize(message, CV_FONT_HERSHEY_COMPLEX, 3, 5, 0); Mat img(textsize.height + 20, textsize.width + 20, CV_32FC1, Scalar(230,230,230)); putText(img, message, Point(10, img.rows - 10), CV_FONT_HERSHEY_COMPLEX, 3, Scalar(0, 0, 0), 5); // save\show resulting image #if ANDROID imwrite("/mnt/sdcard/HelloAndroid.png", img); #else imshow("test", img); waitKey(); #endif return 0; }