Project 1: Color Alignment
cs195-g: Computational Photography Patrick Doran
Spring 2010 pdoran
Directory
Metric: Normalized Cross Correlation
The results on this page were computed using the normalized cross correlation between of each of the channels. It is simply the dot product between two normalized vectors that, in this case, are: image1./||image1|| and image2./||image2||. This has the same drawback as the sum of squared differences in that the images to be matched do not actually have the same brightness values because they are different color channels. However, just like the SSD, this metric worked well enough to align most images.
Results
Stats Legend
     image ##: file name
         size: [ vertical x horizontal ]
  green->blue: shift [ vertical, horizontal ]
    red->blue: shift [ vertical, horizontal ]
       border: crop [ top, left, bottom, right ]
         gray: [ 'assumed' gray value ]
      balance: scale [ red, green, blue ]
   normalizer: [ normalizes rgb values ]
          hue: threshold [ low, high ]
   saturation: threshold [ low, high ]
        value: threshold [ low, high ] 
Original Stats Without White Balance With White Balance

Full Size
Without white balance:
     image 01: 00125v.jpg
         size: [ 341 x 400 ]
  green->blue: [      5,      2 ]
    red->blue: [      9,      1 ]
       border: [     26,     26,    338,    387 ]
          hue: [ 0.0000, 0.9988 ]
   saturation: [ 0.1493, 0.8317 ]
        value: [ 0.1647, 0.9059 ] 
With white balance:
         gray: [ 118.50 ]
      balance: [ 1.2218, 0.8561, 0.9868 ]
   normalizer: [ 311.56 ]
          hue: [ 0.0000, 0.9989 ]
   saturation: [ 0.0976, 0.8527 ]
        value: [ 0.1373, 0.7451 ]

Full Size

Full Size

Full Size
Without white balance:
     image 02: 00149v.jpg
         size: [ 341 x 397 ]
  green->blue: [      4,      2 ]
    red->blue: [      9,      2 ]
       border: [     27,     26,    324,    378 ]
          hue: [ 0.0000, 0.9987 ]
   saturation: [ 0.0202, 0.8219 ]
        value: [ 0.1255, 0.9804 ]
With white balance:
         gray: [ 133.45 ]
      balance: [ 0.8946, 1.0635, 1.0617 ]
   normalizer: [ 271.19 ]
          hue: [ 0.0000, 0.9983 ]
   saturation: [ 0.0314, 0.8219 ]
        value: [ 0.1176, 0.9647 ]

Full Size

Full Size

Full Size
Without white balance:
     image 03: 00153v.jpg
         size: [ 341 x 394 ]
  green->blue: [      7,      3 ]
    red->blue: [     14,    -12 ]
       border: [     11,     28,    336,    373 ]
          hue: [ 0.0000, 0.9992 ]
   saturation: [ 0.0974, 0.9834 ]
        value: [ 0.3765, 0.9020 ]
With white balance:
         gray: [ 145.59 ]
      balance: [ 0.8277, 0.9932, 1.2739 ]
   normalizer: [ 318.48 ]
          hue: [ 0.0000, 0.9985 ]
   saturation: [ 0.0163, 0.9820 ]
        value: [ 0.2863, 0.8118 ]

Full Size

Full Size

Full Size
Without white balance:
     image 04: 00154v.jpg
         size: [ 341 x 398 ]
  green->blue: [      5,      0 ]
    red->blue: [     11,     -2 ]
       border: [      1,     25,    333,    381 ]
          hue: [ 0.0000, 0.9991 ]
   saturation: [ 0.0860, 0.9550 ]
        value: [ 0.2039, 0.9686 ]
With white balance:
         gray: [ 140.75 ]
      balance: [ 0.8407, 0.9059, 1.4150 ]
   normalizer: [ 359.40 ]
          hue: [ 0.0000, 0.9985 ]
   saturation: [ 0.0388, 0.9419 ]
        value: [ 0.1255, 0.9725 ]

Full Size

Full Size

Full Size
Without white balance:
     image 05: 00163v.jpg
         size: [ 341 x 387 ]
  green->blue: [     -3,      1 ]
    red->blue: [     -4,      1 ]
       border: [     54,     10,    329,    377 ]
          hue: [ 0.0000, 0.9986 ]
   saturation: [ 0.0131, 0.9211 ]
        value: [ 0.1255, 0.9686 ]
With white balance:
         gray: [ 107.87 ]
      balance: [ 0.9738, 0.9797, 1.0500 ]
   normalizer: [ 267.75 ]
          hue: [ 0.0000, 0.9989 ]
   saturation: [ 0.0494, 0.9167 ]
        value: [ 0.1216, 0.9686 ]

Full Size

Full Size

Full Size
Without white balance:
     image 06: 00270v.jpg
         size: [ 341 x 404 ]
  green->blue: [      3,      1 ]
    red->blue: [     12,      1 ]
       border: [     16,     26,    330,    379 ]
          hue: [ 0.0000, 0.9986 ]
   saturation: [ 0.0692, 0.9200 ]
        value: [ 0.0863, 0.9569 ]
With white balance:
         gray: [ 125.39 ]
      balance: [ 1.2036, 0.9813, 0.8695 ]
   normalizer: [ 296.07 ]
          hue: [ 0.0000, 0.9986 ]
   saturation: [ 0.0183, 0.9101 ]
        value: [ 0.0745, 0.8235 ]

Full Size

Full Size

Full Size
Without white balance:
     image 07: 00398v.jpg
         size: [ 341 x 397 ]
  green->blue: [      5,      3 ]
    red->blue: [     11,      4 ]
       border: [     23,     19,    340,    375 ]
          hue: [ 0.0000, 0.9984 ]
   saturation: [ 0.0177, 0.6962 ]
        value: [ 0.1451, 0.9569 ]
With white balance:
         gray: [ 166.80 ]
      balance: [ 0.9303, 1.0079, 1.0719 ]
   normalizer: [ 273.34 ]
          hue: [ 0.0000, 0.9981 ]
   saturation: [ 0.0702, 0.6667 ]
        value: [ 0.1255, 0.9569 ]

Full Size

Full Size

Full Size
Without white balance:
     image 08: 00458u.jpg
         size: [ 3238 x 3741 ]
  green->blue: [     43,      7 ]
    red->blue: [     87,     33 ]
       border: [    210,     65,   3179,   3699 ]
          hue: [ 0.0000, 0.9993 ]
   saturation: [ 0.0000, 0.9959 ]
        value: [ 0.0667, 0.9647 ]
With white balance:
         gray: [ 164.87 ]
      balance: [ 0.9941, 1.0105, 0.9955 ]
   normalizer: [ 252.64 ]
          hue: [ 0.0000, 0.9993 ]
   saturation: [ 0.0083, 0.9959 ]
        value: [ 0.0667, 0.9804 ]

Full Size

Full Size

Full Size
Without white balance:
     image 09: 00564v.jpg
         size: [ 341 x 392 ]
  green->blue: [      5,      0 ]
    red->blue: [     11,      0 ]
       border: [     11,     11,    328,    370 ]
          hue: [ 0.0000, 0.9986 ]
   saturation: [ 0.0437, 1.0000 ]
        value: [ 0.0510, 0.9686 ]
With white balance:
         gray: [ 105.78 ]
      balance: [ 1.1674, 0.8955, 0.9740 ]
   normalizer: [ 297.68 ]
          hue: [ 0.0000, 0.9989 ]
   saturation: [ 0.0833, 1.0000 ]
        value: [ 0.0431, 0.8118 ]

Full Size

Full Size

Full Size
Without white balance:
     image 10: 00911u.jpg
         size: [ 3254 x 3768 ]
  green->blue: [     13,     -8 ]
    red->blue: [    126,    -13 ]
       border: [    218,     32,   3225,   3716 ]
          hue: [ 0.0000, 0.9992 ]
   saturation: [ 0.0163, 0.9424 ]
        value: [ 0.0941, 0.9569 ]
With white balance:
         gray: [ 157.25 ]
      balance: [ 0.9844, 1.0051, 1.0109 ]
   normalizer: [ 250.71 ]
          hue: [ 0.0000, 0.9992 ]
   saturation: [ 0.0283, 0.9429 ]
        value: [ 0.0980, 0.9843 ]

Full Size

Full Size

Full Size
Without white balance:
     image 11: 01043u.jpg
         size: [ 3202 x 3712 ]
  green->blue: [    -16,     10 ]
    red->blue: [     11,     18 ]
       border: [     97,    156,   3158,   3555 ]
          hue: [ 0.0000, 0.9992 ]
   saturation: [ 0.0392, 0.8750 ]
        value: [ 0.1725, 0.9216 ]
With white balance:
         gray: [ 113.87 ]
      balance: [ 0.8337, 1.1545, 1.0702 ]
   normalizer: [ 289.79 ]
          hue: [ 0.0000, 0.9988 ]
   saturation: [ 0.0408, 0.8509 ]
        value: [ 0.1333, 0.8745 ]

Full Size

Full Size

Full Size
Without white balance:
     image 12: 01047u.jpg
         size: [ 3218 x 3741 ]
  green->blue: [     24,     20 ]
    red->blue: [     71,     33 ]
       border: [     86,    182,   3192,   3552 ]
          hue: [ 0.0000, 0.9989 ]
   saturation: [ 0.0769, 0.7719 ]
        value: [ 0.1725, 0.8471 ]
With white balance:
         gray: [ 106.33 ]
      balance: [ 0.8500, 1.1509, 1.0475 ]
   normalizer: [ 291.17 ]
          hue: [ 0.0000, 0.9984 ]
   saturation: [ 0.0217, 0.7727 ]
        value: [ 0.1333, 0.8039 ]

Full Size

Full Size

Full Size
Without white balance:
     image 13: 01167v.jpg
         size: [ 341 x 394 ]
  green->blue: [      5,      0 ]
    red->blue: [     12,     -2 ]
       border: [     11,     14,    329,    369 ]
          hue: [ 0.0000, 0.9973 ]
   saturation: [ 0.0340, 0.7737 ]
        value: [ 0.2706, 0.9255 ]
With white balance:
         gray: [ 151.76 ]
      balance: [ 1.2603, 0.9171, 0.8960 ]
   normalizer: [ 321.38 ]
          hue: [ 0.0000, 0.9979 ]
   saturation: [ 0.0276, 0.7348 ]
        value: [ 0.2118, 0.8902 ]

Full Size

Full Size

Full Size
Without white balance:
     image 14: 01657u.jpg
         size: [ 3212 x 3761 ]
  green->blue: [     51,      9 ]
    red->blue: [    111,     12 ]
       border: [    111,    180,   3082,   3644 ]
          hue: [ 0.0000, 0.9991 ]
   saturation: [ 0.0504, 0.8908 ]
        value: [ 0.2039, 0.9529 ]
With white balance:
         gray: [ 124.32 ]
      balance: [ 0.9059, 1.1401, 0.9814 ]
   normalizer: [ 279.32 ]
          hue: [ 0.0000, 0.9989 ]
   saturation: [ 0.0303, 0.8832 ]
        value: [ 0.1765, 0.9216 ]

Full Size

Full Size

Full Size
Without white balance:
     image 15: 01861a.jpg
         size: [ 3228 x 3741 ]
  green->blue: [     71,     38 ]
    red->blue: [    126,     63 ]
       border: [    153,    127,   3185,   3613 ]
          hue: [ 0.0000, 0.9992 ]
   saturation: [ 0.0162, 0.8508 ]
        value: [ 0.1804, 0.9569 ]
With white balance:
         gray: [ 142.62 ]
      balance: [ 0.8901, 0.9917, 1.1518 ]
   normalizer: [ 293.71 ]
          hue: [ 0.0000, 0.9989 ]
   saturation: [ 0.0234, 0.8466 ]
        value: [ 0.1608, 0.9412 ]

Full Size

Full Size

Full Size
Without white balance:
     image 16: 31421v.jpg
         size: [ 341 x 398 ]
  green->blue: [      8,      0 ]
    red->blue: [     13,      0 ]
       border: [     11,     20,    310,    377 ]
          hue: [ 0.0000, 0.9967 ]
   saturation: [ 0.0463, 0.8462 ]
        value: [ 0.0627, 0.8510 ]
With white balance:
         gray: [ 137.38 ]
      balance: [ 1.0968, 1.0633, 0.8712 ]
   normalizer: [ 239.10 ]
          hue: [ 0.0000, 0.9977 ]
   saturation: [ 0.0154, 0.8611 ]
        value: [ 0.0667, 0.9020 ]

Full Size

Full Size