Talk About Network

Google





Graphics > Image processing > Re: RGB ROI Mas...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 4 of 4 Topic 4626 of 4998
Post > Topic >>

Re: RGB ROI Mask

by ImageAnalyst <imageanalyst@[EMAIL PROTECTED] > Jun 27, 2008 at 08:48 AM

On Jun 27, 7:44=A0am, Ponch <timpo...@[EMAIL PROTECTED]
> wrote:
> On Jun 27, 12:21=A0pm, ImageAnalyst <imageanal...@[EMAIL PROTECTED]
> wrote:
>
>
>
>
>
> > On Jun 27, 6:56=A0am, Ponch <timpo...@[EMAIL PROTECTED]
> wrote:
>
> > > Hi,
>
> > > I am trying to load an image, create a region of interest which is
no=
t
> > > rectangular, create a mask of this area for me to then do some basic
> > > processing on it.
> > > In the selected region i want to subtract the blue band from the
red,
> > > and then plot a contour of a various level from that image.
>
> > > However i am stuck trying to apply the mask. I have the following so
> > > far;
>
> > > I=3Dimread ('plan.jpg');
> > > mask=3Droi2poly;
>
> > > rbI=3Ddouble(I(:,:,1))-double(I(:,:,3));
> > > contour(rbI,[0 0]);
>
> > > What i am not sure on is how to apply the mask to the image as a
> > > whole, if i need to use the find command, if so how?
>
> > > Any suggestions would be very helpful.
>
> > > Cheers
> > > Ponch
>
> > ------------------------------------------
> > (This is MATLAB). =A0You need to dot-multiply your mask by your image:
> > maskedImage =3D rbI .* mask;
>
> > Regards,
> > ImageAnalyst
>
> Hi,
>
> Thanks,
> If i do this the new image is a binary representation of the red-blue
> band. I really want to be able to plot the image as a pcolor to see
> the different conoturs before choosing which to select for a contour
> plot.
> So i guess i want to use the mask in the same way as a croping the
> image would allow, however it seems you can only crop in rectangles
> with Matlab?
>
> Thanks- Hide quoted text -
>
> - Show quoted text -

Ponch:
Here's some MATLAB code for you:
	% We need to convert the type of imgMask to the same data type as
imageArray.
	strDataType =3D class(imageArray);
	imgMask =3D eval([strDataType '(imgMask)']);

	% Mask the image
	imageArray(:,:) =3D imgMask .* imageArray(:,:);
	% Display image array in a window on the user interface.
	axes(handles.axesImage);
	imshow(imageArray, []);
If you see any 3D's after the equal signs, ignore them - it's caused
if you use a newreader that's not mime aware.
You can only have rectangular images in MATLAB because it considers an
image as an array (matrix).  The area outside of your ROI is just
zeros.  This is strictly not true since you can have non-rectangular
images where you have linear arrays storing just non-zero pixel
coordinates and the image values at those coordinates but usually it's
not worth the trouble.  You can crop using the roipoly routine, you
just have to scan the coordinates to find the bounding box (x1, x2,
y1, y2) of the polygon, and then use something like
croppedImage =3D originalImage(y1:y2, x1:x2);
Since this is more of a MATLAB coding question than an image analysis
algorithm question, it probably should have been posted in comp.soft-
sys.matlab.
Regards,
ImageAnalyst
 




 4 Posts in Topic:
RGB ROI Mask
Ponch <timpoate@[EMAIL  2008-06-27 03:56:14 
Re: RGB ROI Mask
ImageAnalyst <imageana  2008-06-27 04:21:11 
Re: RGB ROI Mask
Ponch <timpoate@[EMAIL  2008-06-27 04:44:48 
Re: RGB ROI Mask
ImageAnalyst <imageana  2008-06-27 08:48:57 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
localhost-V2008-12-19 Thu Jan 8 17:58:01 PST 2009.