Error using lazysnapping,Expected input number 3, foreground, to be integer-valued.
Afficher commentaires plus anciens
Why is there a problem with the third input parameter of "lazysnapping"? I think it is an integer value.

RGB = imread('peppers.png');
L = superpixels(RGB,500); % 分块,主要是加速图像处理
[h,w,c] = size(RGB);
% figure
% BW = boundarymask(L);
% imshow(imoverlay(RGB,BW,'cyan'),'InitialMagnification',67)
figure
imshow(RGB)
h1 = drawpolyline('Color','green'); % 代表前景
roiPoints1 = h1.Position;
h2 = drawpolyline('Color','blue');%代表背景
roiPoints2 = h2.Position;
foregroundInd = sub2ind([h,w],roiPoints1(:,2),roiPoints1(:,1));
backgroundInd = sub2ind([h,w],roiPoints2(:,2),roiPoints2(:,1));
% roi = zeros(size(RGB,1),size(RGB,2),'uint8');
% roi(roiPoints1(:,2),roiPoints1(:,1)) = 255;
BW = lazysnapping(RGB,L,foregroundInd,backgroundInd);
% BW = grabcut(RGB,L,roi);
figure
imshow(BW)
maskedImage = RGB;
maskedImage(repmat(~BW,[1 1 3])) = 0;
figure;
imshow(maskedImage)
Error using lazysnapping
Expected input number 3, foreground, to be integer-valued.
Error in lazysnapping>validateInputs (line 248)
validateattributes(foreground,validMaskTypes,{'nonnan','nonsparse', ...
Error in lazysnapping (line 158)
[foregroundInd,backgroundInd,is3D] = validateInputs(A,L,foreground,background);
Error in faceCropID (line 20)
BW = lazysnapping(RGB,L,foregroundInd,backgroundInd);
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Image Segmentation dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!