test-dpx.C
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #ifndef APPMEDIA_TEST_DPX_C_DEFINED
00039 #define APPMEDIA_TEST_DPX_C_DEFINED
00040
00041 #include "GUI/XWinManaged.H"
00042 #include "Image/Image.H"
00043 #include "Image/Pixels.H"
00044 #include "Image/ShapeOps.H"
00045 #include "Raster/DpxParser.H"
00046 #include "Raster/GenericFrame.H"
00047 #include "Util/StringConversions.H"
00048 #include "Util/sformat.H"
00049
00050 #include <cstdio>
00051
00052 int main(int argc, char** argv)
00053 {
00054 MYLOGVERB = LOG_DEBUG;
00055
00056 float gamma = 0.6;
00057 bool do_log = false;
00058 float sigm_contrast = 10.0;
00059 float sigm_thresh = 0.1;
00060 float sclip_lo = 0.0f;
00061 float sclip_hi = 5351.0f;
00062 int reduce = 0;
00063
00064 if (argc < 2 || argc > 9)
00065 {
00066 fprintf(stderr, "usage: %s image.dpx [gamma=%g] [do_log=%d] "
00067 "[sigm_contrast=%g] [sigm_thresh=%g] "
00068 "[sclip_lo=%g] [sclip_hi=%g] [reduce=%d]\n",
00069 argv[0], gamma, int(do_log),
00070 sigm_contrast, sigm_thresh,
00071 sclip_lo, sclip_hi, reduce);
00072 return -1;
00073 }
00074
00075 if (argc >= 3) gamma = fromStr<float>(argv[2]);
00076 if (argc >= 4) do_log = fromStr<bool>(argv[3]);
00077 if (argc >= 5) sigm_contrast = fromStr<float>(argv[4]);
00078 if (argc >= 6) sigm_thresh = fromStr<float>(argv[5]);
00079 if (argc >= 7) sclip_lo = fromStr<float>(argv[6]);
00080 if (argc >= 8) sclip_hi = fromStr<float>(argv[7]);
00081 if (argc >= 9) reduce = fromStr<int>(argv[8]);
00082
00083 const char* fname = argv[1];
00084
00085 DpxParser dpx(fname,
00086 gamma, do_log,
00087 sigm_contrast, sigm_thresh,
00088 sclip_lo, sclip_hi);
00089
00090 Image<PixRGB<float> > cimg = dpx.getFrame().asRgbF32();
00091
00092 for (int i = 0; i < reduce; ++i)
00093 cimg = quickLocalAvg2x2(cimg);
00094
00095 XWinManaged xwin(Image<PixRGB<byte> >(cimg),
00096 sformat("%s (gamma=%f, sigc=%f, sigt=%f)",
00097 fname, gamma, sigm_contrast, sigm_thresh).c_str());
00098
00099 while (!xwin.pressedCloseButton())
00100 sleep(1);
00101 }
00102
00103
00104
00105
00106
00107
00108
00109
00110 #endif // APPMEDIA_TEST_DPX_C_DEFINED