How to change color some parts of RGB image directly in matlab?
1 次查看(过去 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
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/155517/image.png)
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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/155519/image.jpeg)
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
2014-1-23
Since the shadows could possibly cause a problem, I'd probably see what imfindcircle() can do for you.
2 个评论
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!