deleting leadind and trail zeros in an image
10 次查看(过去 30 天)
显示 更早的评论
Hi all I am working on enhancing a grayscal images, the first step should be cropping the image by removing lead and trail zeros (zeros rows an columns surrounding the image). i want t remove the surrounding zeros. please be advised that the cropping has be applied on zeros rows and columns that surrounding the image for different images, so i need a function or an algorithm does this cropping on different images. thanks in advance
0 个评论
采纳的回答
Image Analyst
2017-11-21
Try this:
mask = grayImage ~= 0; % Find all zeros, even those inside the image.
mask = imfill(mask, 'holes'); % Get rid of zeros inside image.
% Invert mask and get bounding box.
props = regionprops(~mask, 'BoundingBox');
% Crop image.
croppedImage = imcrop(grayImage, props.BoundingBox);
9 个评论
Image Analyst
2022-8-3
@Imran Riaz I just copied the code and ran it on test1_paint.jpg and got exactly the output I posted below it. You must have changed something. Post your new image in a new question and we'll help.
Note I cropped the image - I did not mask it. I did not get a mask of "black" areas. Not sure what black pixels you want to remove but keep in mind that the image must remain rectangular. We can't have images with irregularly-shaped borders.
Imran Riaz
2022-8-4
My image have different dimensions, I think that is the mistake. I am also attaching the image here.![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1087600/image.bmp)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1087600/image.bmp)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Data Workflows 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!