В настоящее время я изучаю компьютерное зрение, и я хотел бы извлечь лук из изображения. Какой был бы лучший подход для этого?Извлечение функции из изображения - предложения для лучшего подхода?
Я попытался установить пороговое значение для определения белого цвета, разбив изображение на его каналы R, G, B, но также обнаруживает отражения света на других частях изображения. Как я мог очистить это изображение, чтобы получить маску, которая приблизительно соответствует луку?
onionRGB = imread('onion.png');
onionGRAY = rgb2gray(onionRGB);
figure, imshow(onionRGB);
% split channels
rOnion = onionRGB(:, :, 1); % red channel
gOnion = onionRGB(:, :, 2); % green channel
bOnion = onionRGB(:, :, 3); % blue channel
whiteThresh = 160*3;
% detect white onion
onionDetection = double(rOnion) + double(gOnion) + double(bOnion);
% apply thresholding to segment the foreground
maskOnion = onionDetection > whiteThresh;
figure, imshow(maskOnion);