Hand segmentation from an RGB and depth image obtained from kinect device
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi all. I am trying to use the dataset from this paper and segment hand from the image. I attach a sample RGB and depth image. I have written this code.
close all;
depth_map=load('3.txt');
imagesc(depth_map);
image=imread('4.jpg');
figur;imshow(image);
foo=depth_map;
min_v=min(foo(foo>0));
threshold=min_v+100;%threshold - varying this is not helping much but ofcourse will deteriorate
foo(foo>threshold)=0;
BW=imbinarize(foo);
figure; imshow(BW);%shown in result3.jpg file.
The result is shown in the result3,jpg file which is attached. As you can see even elbow comes. How do I segment just the hand? I am relatively new to RGB and depth images and kinect. Any help is greatly appreciated.
5 commentaires
Shyam verma
le 9 Juin 2021
Hey! can you give the dataset as the link that you mentioned above for dataset is not working/showing error.
with regards
shyamverma345@gmail.com
Réponses (1)
Image Analyst
le 19 Août 2017
If the person always has a black wrist band, then you should have 2 blobs, not 1, and then you can use bwareafilt() to extract the largest one, which will be the forearm, and then subtract that from the original mask to get only the hand.
forearmMask = bwareafilt(binaryImage, 1);
handMask = binaryImage & ~forearmMask;
Voir également
Catégories
En savoir plus sur Kinect For Windows Sensor dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!