Cropping the image with boundary condition

1 visualizzazione (ultimi 30 giorni)
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.

Risposta accettata

Image Analyst
Image Analyst il 5 Dic 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.

Più risposte (1)

Elizabeth Reese
Elizabeth Reese il 5 Dic 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!

Translated by