how can i get grayscale color in my binary image?
3 次查看(过去 30 天)
显示 更早的评论
i want the intensity color in my binary image because after i get that i want to use threshold adaptive method. because in threshold i want to differentiate the dark intensity and bright. within by use threshold i can get only the image i want...thank you.
3 个评论
Image Analyst
2024-11-13
@Farah Nadiah you can just multiply your binary image by your gray scale image
grayImage2 = grayImage .* uint8(binaryImage);
or you can use indexing to set the black parts to black while keeping the gray parts
grayImage2 = grayImage; % Initialize
grayImage2(~binaryImage) = 0; % Black in binary will be set to black in the gray scale image.
回答(2 个)
Walter Roberson
2016-5-14
If you have a binary image, BW, then the intensity image that corresponds is
IntensityImage = double(BW);
1 个评论
Walter Roberson
2016-5-14
A binary image by definition is exactly two intensities. A binary image cannot have grayscale intensity.
What you probably want is to use .* to multiply your binary image by your grayscale image. The result will be a grayscale image that is 0 everywhere the binary image was 0.
Image Analyst
2016-5-14
You can mask your image to show only the pixels in the binary blob locations but with their original grayscale intensity like this:
outputImage = grayImage; % Initialize
% Now make black in binary image black in the gray scale image.
outputImage(~binaryImage) = 0; % Be sure to use the ~ tilde!
imshow(outputImage, []); % Or don't use [] if you don't want it to scale intensity.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!