#include #include #include #include "BMP.h" using namespace std; void usage(const char * progName) { cout << "Usage: " << progName << " [options] " << endl; cout << " Options:" << endl; cout << " -l threshold_level : set threshold level" << endl; exit(42); } int main(int argc, char * argv[]) { int argi; string inputFileName; string outputFileName; unsigned int threshold_level = 60; if (argc < 2) usage(argv[0]); for (argi = 0; argi < argc; argi++) { if (!strcmp(argv[argi], "-l")) { if (argi >= argc - 1) usage(argv[0]); argi++; threshold_level = atoi(argv[argi]); } else { inputFileName = argv[argi]; outputFileName = string(argv[argi], strlen(argv[argi]) - 4); outputFileName += "-edges.bmp"; } } BMP inputImage(inputFileName.c_str()); unsigned char * data = new unsigned char[inputImage.getWidth() * inputImage.getHeight() * 3]; inputImage.read(data); unsigned char * data_ptr = data; for (int i = 0; i < inputImage.getWidth() * inputImage.getHeight(); i++) { *data_ptr++ = 0; *data_ptr++ = 0; data_ptr++; } BMP edges(outputFileName.c_str(), inputImage.getWidth(), inputImage.getHeight(), data); delete[] data; }