Re: Wavelet and histogram
- To: mathgroup at smc.vnet.net
- Subject: [mg115886] Re: Wavelet and histogram
- From: "Vivek J. Joshi" <vivekj at wolfram.com>
- Date: Mon, 24 Jan 2011 05:23:01 -0500 (EST)
Hi, Following is an example demonstrating how you can do this, img == ExampleData[{"TestImage","Lena"}]; dwd == DiscreteWaveletTransform[img,DaubechiesWavelet[],3]; (* Extract wavelet Coefficients as Images and use ImageHistogram *) Map[Part[#,1]->ImageHistogram[Part[#,2],Appearance-> "Stacked",ImageSize->2= 50,FrameTicks->Automatic]&,dwd[{_},"Image"]] (* When using data form "Image" (as above) the Image coefficients have resc= aled coefficient values (ImageAdjust[ImageApply[Abs,#]]&), Use ImageFunctio= n->Identity to get "Actual Coefficient Values" *) Map[Part[#,1]->ImageHistogram[Part[#,2],128,{-1,3},Appearance-> "Stacked",I= mageSize->250, FrameTicks->Automatic]&,dwd[{_},{"Image","ImageFunction"->Identity}]] Taking a closer look at Min and Max values in each color channel, Map[Part[#,1]->Map[{Min[Flatten[#]],Max[Flatten[#]]}&,Part[#,2]]&,dwd[{_}]] {{0}->{{0.418884,2.02185},{-0.0239956,1.97373},{0.354499,1.68462}}, {1}->{{-0.292708,0.330631},{-0.439238,0.488894},{-0.400646,0.466974}}, {2}->{{-0.155326,0.279582},{-0.209463,0.281751},{-0.456572,0.345923}}, {3}->{{-0.112058,0.118638},{-0.149901,0.171185},{-0.279204,0.20271}}} You can also use Histogram in place of ImageHistogram, Map[Part[#,1]->Histogram[Map[Flatten,Part[#,2]],{0.02},ImageSize->250,Chart= Layout->"Stacked", ChartBaseStyle->EdgeForm[None],ChartStyle->{Red,Green,Blue},PlotRange->{{-1= ,3},Automatic}]&,dwd[{_}]] Hope this helps. Thanks, Vivek J. Joshi Kernel Developer Wolfram Research, Inc. On Jan 23, 2011, at 4:04 PM, Robert Pigeon wrote: > Hello all, > > Let say i have a image that I defined using img == pasted > pictured. Then I do a wavelet transfom: > > dwd == DiscreteWaveletTransform[img,DaubechiesWavelet[],3]. Now I can us= e > WaveletImagePlot[dwd] to look at the wavelet levels. I would like to do a= n > histogram on all or some level of dwd. I can't find how to do it. I looke= d > at WaveletMapIndexed, but I cant figure out how to do it.... > > > > Any help will be appreciated. > > > > Thanks > > Robert