zoukankan      html  css  js  c++  java
  • gSLicr:nfydream gSLICr: SLIC superpixels at over 250Hz (using cuda)

    一般的SLIC算法在CPU上运行处理一张图片大概需要300ms
    本算法只需要10ms;
    主页
    github代码

    中心思想:K-mean, 先将每个cluster均匀分布, 然后对每个像素找最近的cluster, 然后更新每个cluster.最终的cluster就是超像素

    代码解析

    主类:
    SLic_enegine

    class core_engine
    {
    private:
          seg_engine* slic_seg_engine;
    
    public:
    	core_engine(const objects::settings& in_settings);
    	~core_engine();
    
    	// 图片分割函数
    	void Process_Frame(UChar4Image* in_img);
    
    	// 获取图片分割结果的函数
    	const IntImage * Get_Seg_Res();
    
    	// 在输出图片上画轮廓的函数
    	void Draw_Segmentation_Result(UChar4Image* out_img);
    
    	//把分割结果保存到一个图片中
    	void Write_Seg_Res_To_PGM(const char* fileName);
    };
    

    seg_engnie

    class seg_engine
    {
    protected:
    
    	// normalizing distances
    	// 归一化距离
    	float max_color_dist; //颜色距离
    	float max_xy_dist; //像素点距离
    
    	// images
    	UChar4Image *source_img;
    	Float4Image *cvt_img;
    	IntImage *idx_img;
    
    	// superpixel map
    	// 超像素的地图
    	SpixelMap* spixel_map;
    	int spixel_size; //超像素大小
    
    	objects::settings gSLICr_settings; //slic设置
    
    	virtual void Cvt_Img_Space(UChar4Image* inimg, Float4Image* outimg, COLOR_SPACE color_space) = 0;
    	virtual void Init_Cluster_Centers() = 0;//初始化聚类中心
    	virtual void Find_Center_Association() = 0;
    	virtual void Update_Cluster_Center() = 0;//更新聚类中心
    	virtual void Enforce_Connectivity() = 0;//强制联通
    
    public:
    
    	seg_engine(const objects::settings& in_settings );//通过setting结构体初始化
    	virtual ~seg_engine();
    
    	const IntImage* Get_Seg_Mask() const {
    		idx_img->UpdateHostFromDevice();
    		return idx_img;
    	};
    
    	void Perform_Segmentation(UChar4Image* in_img);
    	virtual void Draw_Segmentation_Result(UChar4Image* out_img){};
    };
  • 相关阅读:
    Path Sum
    Restore IP Addresses
    Subsets II
    N-Queens
    Subsets
    Combination Sum II
    Combination Sum
    Sudoku Solver
    Valid Sudoku
    【贪心】【Uva11292】 勇者斗恶龙
  • 原文地址:https://www.cnblogs.com/guoben/p/12964124.html
Copyright © 2011-2022 走看看