• matlab前景分割


    用最简单的差分法实现了一下前景分割。使用的mall数据集。

    思路是这样的:首先设定一个队列的长度,若读取的图片张数少于队列长度则以当前读取到的图片做平均。否则则以队列中的图片做平均。

    这样之后和当前图片做差分,大于差分阈值的就是前景。

    %init
    close all ;
    path = './mall_dataset/frames/'; 
    numofImages = 30 ;
    image_cells = cell(numofImages,1) ;
    E = cell(numofImages,1) ;
    Em = cell(numofImages,1) ;
    
    %param
    Wh = 10 ;%人高
    Ww = 5 ;%人宽
    defualtLenOfList = 5 ;%前景差分时默认的队列长度
    dif_t = 60 ;%差分阈值
    
    %kenel
    gaussian_kenel = fspecial('gaussian',3,0.5) ;
    
    %program
    for i=1:numofImages
        temp = i ;
        prefix = 'seq_00' ;
        while temp < 1000
            prefix = strcat(prefix,'0') ;
            temp = temp*10 ;
        end
        prefix = strcat(prefix,num2str(i)) ;
        I=imread([path,prefix,'.jpg']); %依次读取每一幅图像
        I = rgb2gray(I);
        I = imfilter(I,gaussian_kenel) ;
        %I = uint8(I) ;
        [Gmag,Gdir] = imgradient(I) ;
        E{i}.Gmag =  Gmag;
        E{i}.Gdir = Gdir ;
        image_cells{i} = I ;
        %todo strip高=wp/W? 不一定好
        %差分处理
        Gmean = 0 ;
        if i~=1
            
            if i>defualtLenOfList
                lenoflist = defualtLenOfList ;
            else
                lenoflist = i-1 ;
            end
            
            Lstart = i-lenoflist ;
            Ltail = i-1 ;
            for j=Lstart:Ltail
                Gmean = Gmean + (E{j}.Gmag ./ lenoflist) ;
            end
            
            Lmean = 0 ;if lenoflist>=defualtLenOfList
                for k=Lstart:Ltail
                    Lmean = Lmean + (E{k}.Gmag./lenoflist) ;
                end
                for k=Lstart:Ltail
                    Lvar = Lvar+((E{k}.Gmag-Lmean).^2)./lenoflist ;
                end
            end 
            
            Gmoving = E{i}.Gmag - Gmean ;
            Gmoving = Gmoving .* (Gmoving>dif_t) ;
            G = uint8(Gmoving);
            imshow(G) ;
        end
    end
  • 相关阅读:
    HDU 1698-Just a Hook
    HDU 1394 Minimum Inversion Number(线段树)
    HDU 4253-Two Famous Companies(二分+最小生成树)
    POJ 3279
    POJ 2251 Dungeon Master
    POJ1321 棋盘问题
    Charlie's Change POJ
    Coins —— POJ-1742
    sublime text主要快捷键列表
    根据电脑分辨率调整网站的布局
  • 原文地址:https://www.cnblogs.com/maskmtj/p/7145184.html
Copyright © 2020-2023  润新知