У меня есть изображение с рисунком в середине и вокруг него белая область. Я надеялся вырезать только шаблон в прямоугольнике, оставив лишнюю лишнюю белую область, т. Е. Автоматически выбрать ROI. Теперь я попытался сделать это, преобразовывая изображение в оттенки серого и находя все точки с пиксельными значениями, не равными 255 с помощью find.Автоматическое определение ROI в matlab
После этого я просто использую max и min значения x и y не белых пикселей, чтобы определить прямоугольник, который будет использоваться imcrop, но по какой-то причине он не совсем походит на то, что я ожидал. Может ли кто-нибудь дать мне представление о том, что случилось?
Вот код
function [] = Roi()
imgData=rgb2gray(imread('1.jpg'));
[A,B]=find(imgData~=255);
xmin=min(A);
xmax=max(A);
ymin=min(B);
ymax=max(B);
width = xmax - xmin;
height = ymax - ymin;
imgSelect = imcrop(imgData,[xmin,ymin,width,height]);
imshow(imgSelect);
end
thanks..that решил одну проблему, но по какой-то причине я не могу получить надлежащие ROI таким образом. – Roy
любые предложения? – Roy
@Roy, что вы подразумеваете под «не может получить правильные ROI»? какая проблема была решена и какова проблема, с которой вы все еще сталкиваетесь? Можете ли вы загрузить пример изображения, текущий извлеченный ROI и желаемую рентабельность? – Shai