MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Strange problem with ImageApply on byte images when Interleaving is

  • To: mathgroup at smc.vnet.net
  • Subject: [mg100679] Strange problem with ImageApply on byte images when Interleaving is
  • From: Sebastien Roy <roys at iro.umontreal.ca>
  • Date: Wed, 10 Jun 2009 20:36:07 -0400 (EDT)

Hello everyone,

ImageApply seems to act strange when using imported images ("Byte"
image rather than "Real") , when Interleaving is true. I use version
7.0.1.


a = ImageResize[Import["ExampleData/lena.tif"], {4, 4}];  (* Resizing
is only to make it notebook friendly *)
Reap[ImageApply[(Sow[#]; #) &, a, Interleaving -> True]]//InputForm

will output something like:

{Image[{{{172, 96, 58}, {185, 130, 108}, {192, 163, 149},
  {134, 101, 85}}, {{169, 99, 63}, {138, 96, 86}, {163, 135,
  126}, {153, 121, 101}}, {{137, 90, 76}, {116, 80, 76}, {161,
  106, 89}, {175, 145, 111}}, {{114, 87, 80}, {97, 69, 67},
  {169, 120, 97}, {174, 142, 106}}}, "Byte",
  ColorSpace -> "RGB", Interleaving -> True,
  Magnification -> Automatic],
 {{{0.6745098039215687, 0.3764705882352941,
   0.22745098039215686}, {0.6745098039215687,
   0.3764705882352941, 0.22745098039215686},
   {Image`LocalProcessingDump`x[1],
    Image`LocalProcessingDump`x[2],
    Image`LocalProcessingDump`x[3]},
   Image`LocalProcessingDump`x[1], Image`LocalProcessingDump`x[
    2], Image`LocalProcessingDump`x[3], 0.6745098039215687,
   0.3764705882352941, 0.22745098039215686,
   0.7254901960784313, 0.5098039215686274, 0.4235294117647059,
   0.7529411764705882, 0.6392156862745098, 0.5843137254901961,
   0.5254901960784314, 0.396078431372549, 0.3333333333333333,
   0.6627450980392157, 0.38823529411764707,
   0.24705882352941178, 0.5411764705882353,
   0.33725490196078434, 0.5294117647058824,
   0.49411764705882355, 0.6, 0.4745098039215686,
   0.5372549019607843, 0.35294117647058826,
   0.2980392156862745, 0.4549019607843137, 0.3137254901960784,
   0.6313725490196078, 0.41568627450980394,
   0.34901960784313724, 0.6862745098039216,
   0.5686274509803921, 0.43529411764705883,
   0.4470588235294118, 0.3411764705882353, 0.3803921568627451,
   0.27058823529411763, 0.2627450980392157,
   0.47058823529411764, 0.6823529411764706,
   0.5568627450980392}}}


What are these LocalProcessingDump things? Any idea? It creates a lot
of problems.

If you say:

b=Image[ImageData[a]];
Reap[ImageApply[(Sow[#]; #) &, a, Interleaving -> True]]//InputForm

you get the expected result:

{Image[{{{0.6745098039215687, 0.3764705882352941,
  0.22745098039215686}, {0.7254901960784313,
  0.5098039215686274, 0.4235294117647059},
  {0.7529411764705882, 0.6392156862745098,
  0.5843137254901961}, {0.5254901960784314, 0.396078431372549,
  0.3333333333333333}}, {{0.6627450980392157,
  0.38823529411764707, 0.24705882352941178},
  {0.5411764705882353, 0.3764705882352941,
  0.33725490196078434}, {0.6392156862745098,
  0.5294117647058824, 0.49411764705882355}, {0.6,
  0.4745098039215686, 0.396078431372549}},
  {{0.5372549019607843, 0.35294117647058826,
  0.2980392156862745}, {0.4549019607843137,
  0.3137254901960784, 0.2980392156862745},
  {0.6313725490196078, 0.41568627450980394,
  0.34901960784313724}, {0.6862745098039216,
  0.5686274509803921, 0.43529411764705883}},
  {{0.4470588235294118, 0.3411764705882353,
  0.3137254901960784}, {0.3803921568627451,
  0.27058823529411763, 0.2627450980392157},
  {0.6627450980392157, 0.47058823529411764,
  0.3803921568627451}, {0.6823529411764706,
  0.5568627450980392, 0.41568627450980394}}}, "Real",
  ColorSpace -> Automatic, Interleaving -> True],
 {{{0.6745098039215687, 0.3764705882352941,
   0.22745098039215686}, {0.6745098039215687,
   0.3764705882352941, 0.22745098039215686},
   {0.7254901960784313, 0.5098039215686274,
   0.4235294117647059}, {0.7529411764705882,
   0.6392156862745098, 0.5843137254901961},
   {0.5254901960784314, 0.396078431372549,
   0.3333333333333333}, {0.6627450980392157,
   0.38823529411764707, 0.24705882352941178},
   {0.5411764705882353, 0.3764705882352941,
   0.33725490196078434}, {0.6392156862745098,
   0.5294117647058824, 0.49411764705882355}, {0.6,
   0.4745098039215686, 0.396078431372549},
   {0.5372549019607843, 0.35294117647058826,
   0.2980392156862745}, {0.4549019607843137,
   0.3137254901960784, 0.2980392156862745},
   {0.6313725490196078, 0.41568627450980394,
   0.34901960784313724}, {0.6862745098039216,
   0.5686274509803921, 0.43529411764705883},
   {0.4470588235294118, 0.3411764705882353,
   0.3137254901960784}, {0.3803921568627451,
   0.27058823529411763, 0.2627450980392157},
   {0.6627450980392157, 0.47058823529411764,
   0.3803921568627451}, {0.6823529411764706,
   0.5568627450980392, 0.41568627450980394}}}}

What is going on? Any idea?

Cheers,

Sebastien



  • Prev by Date: Re: Error importing Excel data into Mathematica 7
  • Next by Date: Seeking the Eliza source file Eliza.m
  • Previous by thread: Re: Re: Presentation quick with grid and pasted
  • Next by thread: Seeking the Eliza source file Eliza.m