How to change color some parts of RGB image directly in matlab?

4 次查看(过去 30 天)
Well, I struggle several days to find solutions for this issue since i am a new in matlab.
Let's say for example I have big images contains coins, I did pre-processing, and I crop each coins from the original image using boundingbox from regoinprops. I got
In the image above, there is a coin, and black line here refers to some texts or line.
What I want to do is I want to extract only the coin from this cropped image.
I came up an ideas that if I can do an operations that detect for instance 10px from left-top, right-top, left-bottom, and right bottom in this rgb image directly than change those pixel to white color than I can get something like this, only coins with white background.
What do you think about this idea? can I implement it in matlab? Do you have any other ideas that can solve this problem?
Thank

回答(1 个)

Image Analyst
Image Analyst 2014-1-23
Since the shadows could possibly cause a problem, I'd probably see what imfindcircle() can do for you.
  2 个评论
Vortana
Vortana 2014-1-23
Thank, but i use Matlab2011R, so I don't think they have this function.
Image Analyst
Image Analyst 2014-3-10
If it's still a problem, let me know. Otherwise let's find a way that works. for example since the coin is colored you can probably convert to hsv with rgb2hsv() and then use thresholding to find pixels with a high "s" value.
hsv = rgb2hsv(rgbImage);
s = hsv(:,:,2);
coinMask = s > 0.2; % or whatever value works.

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by