Merge branch 'dev'
[cuda.git] / binarize / binarize.cpp
index 940132e..f25bacd 100644 (file)
 
 using namespace FM7b5;
 
-static void binarize_cpu(ImageGray& out, const ImageGray& in, const uint8_t thres = 128);
+static void binarize_cpu(ImageGray& out, const ImageGray& in, const uint_fast8_t thres = 128);
 
 int _tmain(int argc, _TCHAR* argv[])
 {
-       const uint8_t thres(128);
-       ImageGray image;
-
        try {
+               const uint_fast8_t thres(128);
+               ImageGray image;
+
                image = loadPGM("..\\img\\sine.pgm");
+
+               ImageGray out(image.width(), image.height());
+               binarize_cpu(out, image, thres);
+               savePNM(out, "result_cpu.pgm");
+
+               ImageGray out_gpu(image.width(), image.height());
+               binarize_gpu(out_gpu, image, thres);
+               savePNM(out_gpu, "result_gpu.pgm");
        }
        catch (std::exception& e)
        {
@@ -43,19 +51,11 @@ int _tmain(int argc, _TCHAR* argv[])
                return -1;
        }
 
-       ImageGray out(image.width(), image.height());
-       binarize_cpu(out, image, thres);
-       savePNM(out, "result_cpu.pgm");
-
-       ImageGray out_gpu(image.width(), image.height());
-       binarize_gpu(out_gpu, image, thres);
-       savePNM(out_gpu, "result_gpu.pgm");
-
        return 0;
 }
 
 void
-binarize_cpu(ImageGray& out, const ImageGray& in, const uint8_t thres)
+binarize_cpu(ImageGray& out, const ImageGray& in, const uint_fast8_t thres)
 {
        if (in.width() != out.width() || in.height() != out.height()) {
                throw std::runtime_error("sizes of input and output images are diferent.");