MathGroup Archive 2013

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

Search the Archive

Re: Cropping image parts through list of lists

  • To: mathgroup at smc.vnet.net
  • Subject: [mg130206] Re: Cropping image parts through list of lists
  • From: "Barrie Stokes" <Barrie.Stokes at newcastle.edu.au>
  • Date: Tue, 19 Mar 2013 01:52:12 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net
  • References: <khpcnr$mdb$1@smc.vnet.net>

How about:

Map[ (s \[Function] Show[ ImageTake[img,
\!\(\*SubscriptBox[\(s\), \(\(\[LeftDoubleBracket]\)\(\ \)\(1\)\(\
\[RightDoubleBracket]\)\)]\),
\!\(\*SubscriptBox[\(s\), \(\(\[LeftDoubleBracket]\)\(\ \)\(2\)\(\
\[RightDoubleBracket]\)\)]\)], ImageSize ->
\!\(\*SubscriptBox[\(s\), \(\(\[LeftDoubleBracket]\)\(\ \)\(3\)\(\
\[RightDoubleBracket]\)\)]\) ]), myList ]

where img has been set to the image in question?

Cheers

Barrie

>>> On 19/03/2013 at 3:06 pm, in message <20130319040601.46FC669D0 at smc.vnet.net>,
Vince Virgilio <blueschi at gmail.com> wrote:
> On Wednesday, March 13, 2013 4:18:03 AM UTC-4, TDMF HT wrote:
>> Newbie with OOP way of thinking, so bear with me :) Thank you !
>>
>>
>>
>> Given - list of lists:
>>
>>
>>
>> myList = { { {0,100},{50,100},{800,600} } , {
> {{100,100},{150,100},{1024,768} } }
>>
>>
>>
>> Using the above list of lists, I want to crop two different parts from a
> single image an resize the resulting partial image in the following way;
>>
>>
>>
>> Cropped image 1:
>>
>> cropXY: 0,100/50,100
>>
>> resize: 800,600
>>
>>
>>
>> Cropped image 2:
>>
>> cropXY: 100,100/150,100
>>
>> resize: 1024,768
>>
>>
>>
>> My OOP way of thinking tells me to iterate/loop over the outer and inner
> lists.
>>
>> This doesnt seem to be the Mathematica way, so I spent the last couple of
> hours messing around with
>>
>> DO/TAKE etc. and all image related functions.
>>
>>
>>
>> I dont seem to find the right way to sequentially go over the inner lists
> and crop/resize the two parts from the single image.
>>
>> Id really appreciate a few tips on how to get this done.
>>
>>
>>
>> Thanks a bunch !!!!
>
> Maybe
>
> newImages = MapThread[ cropFunction, { img1, img2 }, { parm1, parm2 }];
>
> where
>
> cropFunction[img_, { cropX_, cropY_, resize_}] := Module[{...}, newImage =
> ...; newImage ];
>
> does the work.




  • Prev by Date: Re: Multiple independent random number streams cannot be implemented.
  • Next by Date: Re: Swap lowercase and uppercase letters
  • Previous by thread: Re: Cropping image parts through list of lists
  • Next by thread: Noob requests help with recursive formula