Cropping the image with boundary condition

1 view (last 30 days)
I am tracking an object in an image. Once the object is located i am cropping the image of size 120*60 using
crop1=imcrop(image,[x1-30,y1-50,60,120])
The issue is when its near the boundary, the cropped image size get reduced and i am shorter(y axis) or thinner (x axis)cropped images.

Accepted Answer

Image Analyst
Image Analyst on 5 Dec 2017
If the image is smaller because some part of the cropped image would lie off the original image, then you can paste the smaller part onto a matrix of zeros that is the full size. See my copy and paste demo.

More Answers (1)

Elizabeth Reese
Elizabeth Reese on 5 Dec 2017
If any of these values are outside of the range of pixels that the image actually inhabits, than the resulting image will looked more cropped than expected. So if the xmin or ymin are negative, then the resulting image will not be the whole 60x120 size.
I recommend using min and max to keep the ranges within the the boundary of the original image.

Community Treasure Hunt

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

Start Hunting!