Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: ImageTaker[img, {{x1,y1},{x2,y2}} ] useful toolfunction
Replies: 2   Last Post: Apr 2, 2013 3:26 AM

 Messages: [ Previous | Next ]
 roby.nowak@gmail.com Posts: 87 Registered: 5/8/07
ImageTaker[img, {{x1,y1},{x2,y2}} ] useful toolfunction
Posted: Mar 28, 2013 5:12 PM

Dear Mathematica user

sometimes it would be helpful to use the coordinate picker tool
of the 2D Drawing toolbox to be able to extract a subimage of an
image displayed in the frontend.

The problem here ist that the picker tool gives you x,y coordinates
with y positive direction growing from bottom to top.
Whereas ImageTake first needs row indices growing top to bottom
followed by column indices.

The following function provides most of what is needed:

ImageTaker[img_, c_] :=
ImageTake[img, Sequence @@ ({First@ImageDimensions@img, 0} +
(c // Transpose // Sort /@ # & // MapAt[-Reverse@# &, #, 2] & //
Reverse))]

ImageTaker accepts 2 paramters the first one is the source image, the second
is the x,y coordinate pair specifying the subimage.

So the procedure is the following:
pick twice inside the source image using the coordinate picker tool,
copy the coordinates by pressing CTRL-C,
paste the coordinates CTRL-V to the function above as second parameter,
feed the source imgage as first parameter e.g.
by referencing an output cell containing the image
by %nnn and evaluate it.

this gives you something like this:

ImageTaker[%nnn,{{x1,y1},{x2,y2}}]

which will evaluate and display the desired subimage.

Robert

Date Subject Author
3/28/13 roby.nowak@gmail.com
3/30/13 roby.nowak@gmail.com
4/2/13 roby.nowak@gmail.com