how to crop the region image only and eliminate the light
2 次查看(过去 30 天)
显示 更早的评论
i have some problem,, i caputured imaged from my camera
picture 2 :http://tinypic.com/view.php?pic=zumsjm&s=6
I need coding to solve the problem,,,, ceramic picture above there is still a light on it, how do I get rid of the light (reduce light) ???? and also how to crop that images just crop the region of ceramic tiles? (i ever used coding imcrop , but imcrop just crop into rectanguler not specify on edge)
2 个评论
回答(1 个)
Image Analyst
2012-6-5
Find the tile, like I showed you before. Then use the any() function and find() function to find the top and bottom rows of the binary image, and the left and right edge of the binary image. Then construct your rectangle [x y width height] and pass that in to imcrop. About 7 lines of code (minimum). Something like
hProfile = any(binaryImage, 1);
col1 = find(hProfile , 1, 'first');
col2 = find(hProfile , 1, 'last');
vProfile = any(binaryImage, 2);
row1 = find(vProfile , 1, 'first');
row2 = find(vProfile , 1, 'last');
imcrop(.....
Give it a try.
4 个评论
Walter Roberson
2012-6-5
It is only possible to crop rectangular regions, because MATLAB can only store rectangular arrays.
You can set areas to have a value such as black (zeros).
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!