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)
{
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.");