Filter löschen
Filter löschen

how extract Features at specific regions??

1 Ansicht (letzte 30 Tage)
hajer jon
hajer jon am 29 Okt. 2019
Beantwortet: Subhadeep Koley am 1 Nov. 2019
Hi
i tray to extract features to detect people but it got more than one points each person i tray to use imgradientimgradient to get edge of each persons but how??
i need help
[Gx,Gy] = imgradientxy(imca);
[Gmag, Gdir] = imgradient(imca,'central');
%Gmag_normalized = Gmag / 8;
%figure
% imshow(Gmag_normalized );
%F = fft(Gmag);figure;imshow(F),title('fft');%%%%%or use imgradient
figure,imshowpair(Gmag, Gdir, 'montage');
[reg1,dd] = detectMSERFeatures(imca,'RegionAreaRange',[3 ,3]);
%[reg1,dd] = detectMSERFeatures(rgb2gray(I),'RegionAreaRange' ,[3 3]);
[features2, valid_point] = extractFeatures(rgb2gray(I),reg1);
res11.jpg
imgradient.png

Antworten (1)

Subhadeep Koley
Subhadeep Koley am 1 Nov. 2019
It is very difficult to extract only one MSER feature per person in your image. But tweaking the parameters
'RegionAreaRange', and 'ThresholdDelta' you can get very close. Refer to the example below.
I = imread('people1.jpg');
I = rgb2gray(I);
regions = detectMSERFeatures(I,'RegionAreaRange',[3 3],'ThresholdDelta',2);
figure; imshow(I);
hold on;
plot(regions,'showEllipses',false);
[features2, valid_point] = extractFeatures(I,regions);
MSERfeatures.png
Hope this helps!

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by