please i need a help.. how to remove the darkest handwritten text (black and red) from this image? just the text?
1 次查看(过去 30 天)
显示 更早的评论
回答(2 个)
Walter Roberson
2016-10-24
somethreshold = 11; %found by examining the image RGB values
mask = YourImage(:,:,3) > somethreshold;
NewImage = YourImage .* cast(mask(:,:,[1 1 1]), class(YourImage));
%And to view it,
image(NewImage, 'AlphaData', double(mask))
Only the darkest text is removed.
4 个评论
Walter Roberson
2016-10-24
No, it relies upon the blue channel being low for both black and red text. You asked to remove the dark black and dark red from the image, which implies you want to leave dark green or dark blue alone, but when you convert to grayscale you cannot distinguish original source colors.
Given your other questions, I suspect that what you are looking for with regards to grayscale is:
mask = YourGrayImage >= lowerbound & YourGrayImage <= upperbound
for some lowerbound and upperbound; this would be for extracting portions that are not too dark and not too bright. Then
NewImage = YourGrayImage .* cast(mask, class(YourImage));
%And to view it,
image(NewImage, 'AlphaData', double(mask))
Walter Roberson
2016-10-25
There is no white colored text.
Notice the "And to view it" portion. The image is being displayed with transparency for the pixels that are not selected. You are seeing the white of the background showing through. The image itself has been set to black at all other locations. The locations that are selected (the ROI, region of interest) are the ones where mask is true.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!