Problem on 'bitand' method
显示 更早的评论
Hi friends,
I have problem on 'bitand' method when create marker image using mask.
I2 = im2bw(I1,0.8); %%Thresholding image(Create a mask)
I2Cmp = ~ I2; %%Invert the mask
marker=bitand(1,I2Cmp); %%Create marker image
There is an error when creating marker.
??? Error using ==> bitand Inputs must be non-negative integers.
How would I apply bitand for creating a maker ????
2 个评论
David Young
2011-4-7
Could you explain what the marker image should be? It's not clear why you would want to use bitand at all in this context, and I wonder if you need something completely different. I2 and I2Cmp are logical arrays, so there is only one bit of information per pixel anyway.
nayomi ranamuka
2011-4-7
采纳的回答
更多回答(3 个)
Steve Eddins
2011-4-7
The general answer is to use the elementwise logical operators &, |, and ~ instead of bitand and bitor to do this sort of manipulation with binary images.
To "overlay the inverted image of I2 on I1," as you say, you would do this:
marker = I1 | ~I2;
2 个评论
David Young
2011-4-7
Steve, I don't think I1 is logical.
Steve Eddins
2011-4-7
David, you're right, sorry.
Steve Eddins
2011-4-7
Here's a different kind of overlay:
Iresult = I1;
Iresult(ICmp) = 255; % assuming I1 is uint8
This version turns all the marker pixels white and leaves the others alone.
类别
在 帮助中心 和 File Exchange 中查找有关 Texas Instruments C2000 Processors 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!