How can i extract the component H of only the region of interest?

Hello
To calculate the difference between the value h of an image and values from tab, I used these lines.
h=HSV(:,:,1);
d = abs(h - tab(i,1));
Now how can i extract the H of only the region of interest because I want to calculate the difference between the value h of only the region of interest of the image and the values from tab. knowing that bw is the binairy mask of the segmented image. thanks

Answers (1)

You can do this
maskedDifferences = d(bw);

5 Comments

I get this error
??? Subscript indices must either be real positive integers or logicals.
Error in ==> code2 at 22
maskedDifferences = d(bw);
Is this because in bw the region of interest is white and the background is black??
Use the debugger. Set a breakpoint there and see what bw is. You can type bw on the command line, you can type class(bw) or whos bw on the command line. You can look in the workspace panel, you can hover the cursor over bw in the editor window. You can click in bw and type control-D. You can double click bw in the workspace panel to bring it up in the variable editor. There are so many ways to figure out what bw is if you know how to debug programs.
You said "bw is the binairy mask of the segmented image" but apparently that is not true. bw is not a logical/binary image, so you need to find out what it is. How did you create it?
using whos bw, I get
Name Size Bytes Class Attributes
bw 498x750 2988000 double
To get this image, I used
bw=zeros(L,C);
if (some instructions)
bw(i,j)=1;

Sign in to comment.

Asked:

on 12 Nov 2012

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!