how extract Features at specific regions??

1 view (last 30 days)
hajer jon
hajer jon on 29 Oct 2019
Answered: Subhadeep Koley on 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

Answers (1)

Subhadeep Koley
Subhadeep Koley on 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!