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:
obrazy wyjściowe:
tło (f0):
obiekt (f1):
prawdopodobnie tło(f2)
prawdopodobnie obiekt(f3)
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.