Witam,
mam oto taki kod w Matlabie (z biblioteką openCV):

    img = imread('in/img2.jpg');
    grey = cv.cvtColor(img,'RGB2GRAY');
    bin  = cv.threshold(grey,'auto','Method','Binary');

    bbox = [0, 0, size(bin,1), size(bin,2)]; %cały obraz

    trimap=cv.grabCut(img,bbox);
    
    final =grey;
    final(trimap~=0)=0;
    imwrite(final,'out/GrabCut_f0.png');
    
    final =grey;
    final(trimap~=1)=0;
    imwrite(final,'out/GrabCut_f1.png');
    
    final =grey;
    final(trimap~=2)=0;
    imwrite(final,'out/GrabCut_f2.png');
    
    final =grey;
    final(trimap~=3)=0;
    imwrite(final,'out/GrabCut_f3.png');

obrazem wejściowym jest:
img2.jpg

obrazy wyjściowe:
tło (f0):
GrabCut_f0.png
obiekt (f1):
GrabCut_f1.png
prawdopodobnie tło(f2)
GrabCut_f2.png
prawdopodobnie obiekt(f3)
GrabCut_f3.png

Pytanie: Czy moją winą jest to, że obraz jest "ucięty"? Poprawnie wykrywa obiekty, które są przed 250 pixelem.

Z góry dziękuję za pomoc.