资源简介

effective large scale stereo matching,用于快速立体匹配,代码量比较大,可以直接用在工程中。

资源截图

代码片段和文件信息

/*
Copyright 2011. All rights reserved.
Institute of Measurement and Control Systems
Karlsruhe Institute of Technology Germany

This file is part of libelas.
Authors: Andreas Geiger

libelas is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License or any later version.

libelas is distributed in the hope that it will be useful but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with
libelas; if not write to the Free Software Foundation Inc. 51 Franklin
Street Fifth Floor Boston MA 02110-1301 USA 
*/
#include “StdAfx.h“
#include “descriptor.h“
#include “filter.h“
#include 

using namespace std;

Descriptor::Descriptor(uint8_t* Iint32_t widthint32_t heightint32_t bplbool half_resolution) {
  I_desc        = (uint8_t*)_mm_malloc(16*width*height*sizeof(uint8_t)16);
  uint8_t* I_du = (uint8_t*)_mm_malloc(bpl*height*sizeof(uint8_t)16);
  uint8_t* I_dv = (uint8_t*)_mm_malloc(bpl*height*sizeof(uint8_t)16);
  filter::sobel3x3(II_duI_dvbplheight);
  createDescriptor(I_duI_dvwidthheightbplhalf_resolution);
  _mm_free(I_du);
  _mm_free(I_dv);
}

Descriptor::~Descriptor() {
  _mm_free(I_desc);
}

void Descriptor::createDescriptor (uint8_t* I_duuint8_t* I_dvint32_t widthint32_t heightint32_t bplbool half_resolution) {

  uint8_t *I_desc_curr;  
  uint32_t addr_v0addr_v1addr_v2addr_v3addr_v4;
  
  // do not compute every second line
  if (half_resolution) {
  
    // create filter strip
    for (int32_t v=4; v
      addr_v2 = v*bpl;
      addr_v0 = addr_v2-2*bpl;
      addr_v1 = addr_v2-1*bpl;
      addr_v3 = addr_v2+1*bpl;
      addr_v4 = addr_v2+2*bpl;

      for (int32_t u=3; u        I_desc_curr = I_desc+(v*width+u)*16;
        *(I_desc_curr++) = *(I_du+addr_v0+u+0);
        *(I_desc_curr++) = *(I_du+addr_v1+u-2);
        *(I_desc_curr++) = *(I_du+addr_v1+u+0);
        *(I_desc_curr++) = *(I_du+addr_v1+u+2);
        *(I_desc_curr++) = *(I_du+addr_v2+u-1);
        *(I_desc_curr++) = *(I_du+addr_v2+u+0);
        *(I_desc_curr++) = *(I_du+addr_v2+u+0);
        *(I_desc_curr++) = *(I_du+addr_v2+u+1);
        *(I_desc_curr++) = *(I_du+addr_v3+u-2);
        *(I_desc_curr++) = *(I_du+addr_v3+u+0);
        *(I_desc_curr++) = *(I_du+addr_v3+u+2);
        *(I_desc_curr++) = *(I_du+addr_v4+u+0);
        *(I_desc_curr++) = *(I_dv+addr_v1+u+0);
        *(I_desc_curr++) = *(I_dv+addr_v2+u-1);
        *(I_desc_curr++) = *(I_dv+addr_v2+u+1);
        *(I_desc_curr++) = *(I_dv+addr_v3+u+0);
      }
    }
    
  // compute full descriptor images
  } else {
    
    // create filter strip
    for (int32_t v=3; v
      addr_v2 = v*bpl;
      addr_v0 = addr_v2-2*bp

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     413696  2015-12-02 21:36  largeScaleOmp\Debug\largeScaleOmp.exe

     文件    1196996  2015-12-02 21:36  largeScaleOmp\Debug\largeScaleOmp.ilk

     文件    1641472  2015-12-02 21:36  largeScaleOmp\Debug\largeScaleOmp.pdb

     文件    2359296  2015-12-02 21:07  largeScaleOmp\ipch\largescaleomp-a40dcaa8\largescaleomp-ca41a80b.ipch

     文件       5408  2015-12-02 21:36  largeScaleOmp\largeScaleOmp\Debug\cl.command.1.tlog

     文件      49508  2015-12-02 21:36  largeScaleOmp\largeScaleOmp\Debug\CL.read.1.tlog

     文件       5632  2015-12-02 21:36  largeScaleOmp\largeScaleOmp\Debug\CL.write.1.tlog

     文件      34856  2015-12-02 21:08  largeScaleOmp\largeScaleOmp\Debug\descriptor.obj

     文件     535834  2015-12-02 21:09  largeScaleOmp\largeScaleOmp\Debug\elas.obj

     文件      36866  2015-12-02 21:08  largeScaleOmp\largeScaleOmp\Debug\filter.obj

     文件        406  2015-12-02 20:57  largeScaleOmp\largeScaleOmp\Debug\largeScaleOmp.exe.embed.manifest

     文件        472  2015-12-02 20:57  largeScaleOmp\largeScaleOmp\Debug\largeScaleOmp.exe.embed.manifest.res

     文件        381  2015-12-02 21:36  largeScaleOmp\largeScaleOmp\Debug\largeScaleOmp.exe.intermediate.manifest

     文件         56  2015-12-02 21:36  largeScaleOmp\largeScaleOmp\Debug\largeScaleOmp.lastbuildstate

     文件       4505  2015-12-02 21:36  largeScaleOmp\largeScaleOmp\Debug\largeScaleOmp.log

     文件     252337  2015-12-02 21:36  largeScaleOmp\largeScaleOmp\Debug\largeScaleOmp.obj

     文件    1179648  2015-12-02 21:08  largeScaleOmp\largeScaleOmp\Debug\largeScaleOmp.pch

     文件        713  2015-12-02 20:54  largeScaleOmp\largeScaleOmp\Debug\largeScaleOmp.vcxprojResolveAssemblyReference.cache

     文件          0  2015-12-02 20:54  largeScaleOmp\largeScaleOmp\Debug\largeScaleOmp.write.1.tlog

     文件        216  2015-12-02 20:57  largeScaleOmp\largeScaleOmp\Debug\largeScaleOmp_manifest.rc

     文件          2  2015-12-02 21:36  largeScaleOmp\largeScaleOmp\Debug\link-cvtres.read.1.tlog

     文件          2  2015-12-02 21:36  largeScaleOmp\largeScaleOmp\Debug\link-cvtres.write.1.tlog

     文件          2  2015-12-02 21:36  largeScaleOmp\largeScaleOmp\Debug\link.10404-cvtres.read.1.tlog

     文件          2  2015-12-02 21:36  largeScaleOmp\largeScaleOmp\Debug\link.10404-cvtres.write.1.tlog

     文件          2  2015-12-02 21:36  largeScaleOmp\largeScaleOmp\Debug\link.10404.read.1.tlog

     文件          2  2015-12-02 21:36  largeScaleOmp\largeScaleOmp\Debug\link.10404.write.1.tlog

     文件          2  2015-12-02 21:36  largeScaleOmp\largeScaleOmp\Debug\link.12748-cvtres.read.1.tlog

     文件          2  2015-12-02 21:36  largeScaleOmp\largeScaleOmp\Debug\link.12748-cvtres.write.1.tlog

     文件          2  2015-12-02 21:36  largeScaleOmp\largeScaleOmp\Debug\link.12748.read.1.tlog

     文件          2  2015-12-02 21:36  largeScaleOmp\largeScaleOmp\Debug\link.12748.write.1.tlog

............此处省略78个文件信息

评论

共有 条评论