1

深度しきい値処理を使用して、深度画像から手をセグメント化したいと考えています。このリンクからこのkinectとleapデータセットを使用しました-

http://lttm.dei.unipd.it/downloads/gesture/

これら2つのコードを試しましたが、どちらの場合も完全に黒い画像が出力されました。元の .png 画像は 元の深度画像

データセットの 1_depth.bin ファイルから深度値を選択しました。

コード 1

I = fopen('D:\dsktop\kinect_leap_dataset\acquisitions\P1\G1\1_depth.bin', 'r');
A = fread(I, 480*640, 'uint8=>uint8');
A = reshape(A, 480, 640);

min_row = min(A);
min_col = min(min_row);

for i = 1:480
    for j = 1:640
        if ((A(i,j) > (min_col + 10)) || (A(i,j) == (min_col + 10)))
           A(i,j) = 1;
       else
           A(i,j) = 0;
        end
    end
end
imshow(A)

コード 2

image = imread('D:\dsktop\kinect_leap_dataset\acquisitions\P1\G1\1_depth.png');
I = fopen('D:\dsktop\kinect_leap_dataset\acquisitions\P1\G1\1_depth.bin', 'r');
A = fread(I, 480*640, 'uint8=>uint8');
A = reshape(A, 480, 640);

min_row = min(A);
min_col = min(min_row);
for i = 1:480
    for j = 1:640
        if ((A(i,j) > (min_col + 10)) || (A(i,j) == (min_col + 10)))
            image(i,j) = 1;
        else
            image(i,j) = 0;
        end
    end
end
imshow(image)

私が得ている出力は出力画像

このコードのどこが間違っているのか、なぜ何も得られないのか教えてください。

4

1 に答える 1