how extract Features at specific regions??

3 visualizzazioni (ultimi 30 giorni)
hajer jon
hajer jon il 29 Ott 2019
Risposto: Subhadeep Koley il 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

Risposte (1)

Subhadeep Koley
Subhadeep Koley il 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