예제 #1
0
파일: vil_adaptor.py 프로젝트: caioc2/vxl
def scale_and_offset_values(img, scale, offset):
    boxm2_batch.init_process("vilScaleAndOffsetValuesProcess")
    boxm2_batch.set_input_from_db(0, img)
    boxm2_batch.set_input_float(1, scale)
    boxm2_batch.set_input_float(2, offset)
    boxm2_batch.run_process()
    return
예제 #2
0
def read_CLIF07(indir,outdir,camnum,datatype="CLIF06") :
  boxm2_batch.init_process("bilReadCLIF07DataProcess")
  boxm2_batch.set_input_string(0,indir);
  boxm2_batch.set_input_string(1,outdir);
  boxm2_batch.set_input_int(2,camnum);
  boxm2_batch.set_input_string(3,datatype);
  boxm2_batch.run_process();
예제 #3
0
def get_number_of_planes(img):
  boxm2_batch.init_process("vilGetNumberOfPlanesProcess");
  boxm2_batch.set_input_from_db(0, img);
  boxm2_batch.run_process();
  (id, type) = boxm2_batch.commit_output(0);
  n_planes = boxm2_batch.get_output_unsigned(id)
  return n_planes;
예제 #4
0
def BGR_to_RGB(inimg):
  boxm2_batch.init_process("vilBGRToRGBProcess")
  boxm2_batch.set_input_from_db(0, inimg)
  boxm2_batch.run_process()
  (id, type) = boxm2_batch.commit_output(0)
  out_img = dbvalue(id,type)
  return out_img
예제 #5
0
def gen_tex_mesh(mesh, in_img_dir, in_cam_dir, out_dir):
    batch.init_process("boxm2TextureMeshProcess")
    batch.set_input_from_db(0, mesh)
    batch.set_input_string(1, in_img_dir)
    batch.set_input_string(2, in_cam_dir)
    batch.set_input_string(3, out_dir)
    batch.run_process()
예제 #6
0
def load_mesh(filename):
    batch.init_process("boxm2LoadMeshProcess")
    batch.set_input_string(0, filename)
    batch.run_process()
    (id, type) = batch.commit_output(0)
    mesh = dbvalue(id, type)
    return mesh
예제 #7
0
def import_point_cloud(scene, cache, in_file, min_octree_depth=2):
    batch.init_process("boxm2ImportPointCloudProcess")
    batch.set_input_from_db(0, scene)
    batch.set_input_from_db(1, cache)
    batch.set_input_string(2, in_file)
    batch.set_input_unsigned(3, min_octree_depth)
    batch.run_process()
예제 #8
0
def import_triangle_mesh(scene, cache, ply_filename, occupied_prob=0.99):
    batch.init_process("boxm2ImportTriangleMeshProcess")
    batch.set_input_from_db(0, scene)
    batch.set_input_from_db(1, cache)
    batch.set_input_string(2, ply_filename)
    batch.set_input_float(3, occupied_prob)
    batch.run_process()
예제 #9
0
def paint_mesh(scene, cache, in_file, out_file):
    batch.init_process("boxm2PaintMeshProcess")
    batch.set_input_from_db(0, scene)
    batch.set_input_from_db(1, cache)
    batch.set_input_string(2, in_file)
    batch.set_input_string(3, out_file)
    batch.run_process()
예제 #10
0
def export_stack(scene, cache, outdir, identifier):
    batch.init_process("boxm2ExportStackImagesProcess")
    batch.set_input_from_db(0, scene)
    batch.set_input_from_db(1, cache)
    batch.set_input_string(2, outdir)
    batch.set_input_string(3, identifier)
    batch.run_process()
예제 #11
0
def get_3d_point_from_index(scene, cache, block_index, index):
    # Warning, you probably shouldn't be doing this!
    batch.init_process("boxm2CppGet3dPointFromIndexProcess")
    batch.set_input_from_db(0, scene)
    batch.set_input_from_db(1, cache)
    batch.set_input_int(2, block_index[0])
    batch.set_input_int(3, block_index[1])
    batch.set_input_int(4, block_index[2])
    batch.set_input_int(5, index)
    batch.run_process()

    (id, type) = batch.commit_output(0)
    x = batch.get_output_float(id)
    batch.remove_data(id)
    (id, type) = batch.commit_output(1)
    y = batch.get_output_float(id)
    batch.remove_data(id)
    (id, type) = batch.commit_output(2)
    z = batch.get_output_float(id)
    batch.remove_data(id)

    (id, type) = batch.commit_output(3)
    xs = batch.get_output_float(id)
    batch.remove_data(id)
    (id, type) = batch.commit_output(4)
    ys = batch.get_output_float(id)
    batch.remove_data(id)
    (id, type) = batch.commit_output(5)
    zs = batch.get_output_float(id)
    batch.remove_data(id)
    (id, type) = batch.commit_output(6)
    leaf = batch.get_output_int(id)
    batch.remove_data(id)

    return ((x, y, z), (xs, ys, zs), leaf)
예제 #12
0
def histogram_equalize(img):
  boxm2_batch.init_process("vilHistogramEqualizeProcess");
  boxm2_batch.set_input_from_db(0, img);
  boxm2_batch.run_process();
  (id, type) = boxm2_batch.commit_output(0);
  img_equalized = dbvalue(id, type);
  return img_equalized;
예제 #13
0
def debayer(img):
  boxm2_batch.init_process("vilDebayerBGGRToRGBProcess")
  boxm2_batch.set_input_from_db(0,img);
  boxm2_batch.run_process();
  (id, type) = boxm2_batch.commit_output(0);
  outimg = dbvalue(id,type);
  return outimg;
예제 #14
0
    def batch_synoptic_function(self):
        """ Create synoptic function (cubic function) at each voxel """
        # write image identifiers to file
        image_id_fname = self.model_dir + "/image_list.txt"
        fd = open(image_id_fname, "w")
        print >> fd, 2 * len(self.imgList)
        for i, img in enumerate(self.imgList):
            print >> fd, "img_%05d" % i
        for i, img in enumerate(self.imgList):
            print >> fd, "viewdir_%05d" % i
        fd.close()

        type_id_fname = self.model_dir + "/type_names_list.txt"
        fd2 = open(type_id_fname, "w")
        print >> fd2, 4
        print >> fd2, "aux0"
        print >> fd2, "aux1"
        print >> fd2, "aux2"
        print >> fd2, "aux3"
        fd2.close()

        # open the stream cache, this is a read-only cache
        batch.init_process("boxm2OclBatchSynopticFunctionProcess")
        batch.set_input_from_db(0, self.device)
        batch.set_input_from_db(1, self.scene)
        batch.set_input_from_db(2, self.opencl_cache)
        batch.set_input_unsigned(3, len(self.imgList))
        batch.set_input_string(4, image_id_fname)
        batch.set_input_float(5, 0.09)
        batch.run_process()
예제 #15
0
파일: vil_adaptor.py 프로젝트: caioc2/vxl
def read_CLIF07(indir, outdir, camnum, datatype="CLIF06"):
    boxm2_batch.init_process("bilReadCLIF07DataProcess")
    boxm2_batch.set_input_string(0, indir)
    boxm2_batch.set_input_string(1, outdir)
    boxm2_batch.set_input_int(2, camnum)
    boxm2_batch.set_input_string(3, datatype)
    boxm2_batch.run_process()
예제 #16
0
    def create_stream_cache(self, imgs, interval=1, types="", max_gb=6.0):

        # write image identifiers to file
        # imgRange = range(0, len(imgs), interval);
        # num_imgs = len(imgRange);
        image_id_fname = self.model_dir + "/image_list.txt"
        fd = open(image_id_fname, "w")
        print >> fd, len(imgs)
        # for i in imgRange:
        #  print >>fd, "img_%05d"%i
        for img in imgs:
            fname, fextension = os.path.splitext(img)
            bname = os.path.basename(fname)
            print >> fd, bname
        fd.close()

        # write type identifiers into file
        type_id_fname = self.model_dir + "/type_names_list.txt"
        fd2 = open(type_id_fname, "w")
        print >> fd2, 4
        print >> fd2, "aux0"
        print >> fd2, "aux1"
        print >> fd2, "aux2"
        print >> fd2, "aux3"
        fd2.close()

        # open the stream cache, this is a read-only cache
        batch.init_process("boxm2CreateStreamCacheProcess")
        batch.set_input_from_db(0, self.scene)
        batch.set_input_string(1, type_id_fname)
        batch.set_input_string(2, image_id_fname)
        batch.set_input_float(3, max_gb)
        batch.run_process()
        (cache_id, cache_type) = batch.commit_output(0)
        self.str_cache = dbvalue(cache_id, cache_type)
예제 #17
0
파일: vil_adaptor.py 프로젝트: caioc2/vxl
def debayer(img):
    boxm2_batch.init_process("vilDebayerBGGRToRGBProcess")
    boxm2_batch.set_input_from_db(0, img)
    boxm2_batch.run_process()
    (id, type) = boxm2_batch.commit_output(0)
    outimg = dbvalue(id, type)
    return outimg
예제 #18
0
    def transform_to_scene(self, to_scene, trans, rot, scale):
        if self.opencl_cache.type == "boxm2_opencl_cache_sptr":
            print("transforming scene")
            batch.init_process("boxm2VecfOclTransformSceneProcess")
            batch.set_input_from_db(0, self.scene)
            batch.set_input_from_db(1, to_scene)
            batch.set_input_from_db(2, self.opencl_cache)
            batch.set_input_double(3, trans[0])
            batch.set_input_double(4, trans[1])
            batch.set_input_double(5, trans[2])
            batch.set_input_double(6, rot[0][0])
            batch.set_input_double(7, rot[0][1])
            batch.set_input_double(8, rot[0][2])
            batch.set_input_double(9, rot[1][0])
            batch.set_input_double(10, rot[1][1])
            batch.set_input_double(11, rot[1][2])
            batch.set_input_double(12, rot[2][0])
            batch.set_input_double(13, rot[2][1])
            batch.set_input_double(14, rot[2][2])
            batch.set_input_double(15, scale[0])
            batch.set_input_double(16, scale[1])
            batch.set_input_double(17, scale[2])

            return batch.run_process()
        else:
            print "ERROR: Cache type not recognized: ", self.opencl_cache.type
            return False
예제 #19
0
파일: vil_adaptor.py 프로젝트: caioc2/vxl
def fill_holes(img):
    boxm2_batch.init_process("vilFillHolesInRegionsProcess")
    boxm2_batch.set_input_from_db(0, img)
    boxm2_batch.run_process()
    (id, type) = boxm2_batch.commit_output(0)
    outimg = dbvalue(id, type)
    return outimg
예제 #20
0
def export_points_and_normals(scene,
                              cache,
                              file_out,
                              save_aux=True,
                              prob_thresh=0.0,
                              vis_thresh=0.0,
                              nmag_thresh=0.0,
                              exp_thresh=0.0,
                              bbox_file=""):
    if cache.type == "boxm2_cache_sptr":
        print("Exporting to oriented point cloud")
        batch.init_process("boxm2ExportOrientedPointCloudProcess")
        batch.set_input_from_db(0, scene)
        batch.set_input_from_db(1, cache)
        batch.set_input_string(2, file_out)
        # output aux (prob, vis, normal magnitdue)
        batch.set_input_bool(3, save_aux)
        batch.set_input_float(4, vis_thresh)  # vis threshold
        batch.set_input_float(5, nmag_thresh)  # nmag threshold
        batch.set_input_float(6, prob_thresh)  # prob threshold
        # batch.set_input_float(7,exp_thresh); #exp threshold
        # batch.set_input_string(8, bbox_file); #bb filename
        batch.set_input_string(7, bbox_file)  # bb filename
        return batch.run_process()
    else:
        print "ERROR: Cache type not recognized: ", cache.type
        return False
예제 #21
0
def get_3d_point_from_index(scene, cache, block_index, index):
    # Warning, you probably shouldn't be doing this!
    batch.init_process("boxm2CppGet3dPointFromIndexProcess")
    batch.set_input_from_db(0, scene)
    batch.set_input_from_db(1, cache)
    batch.set_input_int(2, block_index[0])
    batch.set_input_int(3, block_index[1])
    batch.set_input_int(4, block_index[2])
    batch.set_input_int(5, index)
    batch.run_process()

    (id, type) = batch.commit_output(0)
    x = batch.get_output_float(id)
    batch.remove_data(id)
    (id, type) = batch.commit_output(1)
    y = batch.get_output_float(id)
    batch.remove_data(id)
    (id, type) = batch.commit_output(2)
    z = batch.get_output_float(id)
    batch.remove_data(id)

    (id, type) = batch.commit_output(3)
    xs = batch.get_output_float(id)
    batch.remove_data(id)
    (id, type) = batch.commit_output(4)
    ys = batch.get_output_float(id)
    batch.remove_data(id)
    (id, type) = batch.commit_output(5)
    zs = batch.get_output_float(id)
    batch.remove_data(id)
    (id, type) = batch.commit_output(6)
    leaf = batch.get_output_int(id)
    batch.remove_data(id)

    return ((x, y, z), (xs, ys, zs), leaf)
예제 #22
0
def load_mesh(filename):
    batch.init_process("boxm2LoadMeshProcess")
    batch.set_input_string(0, filename)
    batch.run_process()
    (id, type) = batch.commit_output(0)
    mesh = dbvalue(id, type)
    return mesh
예제 #23
0
def fill_holes(img):
  boxm2_batch.init_process("vilFillHolesInRegionsProcess")
  boxm2_batch.set_input_from_db(0,img)
  boxm2_batch.run_process()
  (id,type) = boxm2_batch.commit_output(0)
  outimg = dbvalue(id, type);
  return outimg
예제 #24
0
def gen_tex_mesh(mesh, in_img_dir, in_cam_dir, out_dir):
    batch.init_process("boxm2TextureMeshProcess")
    batch.set_input_from_db(0, mesh)
    batch.set_input_string(1, in_img_dir)
    batch.set_input_string(2, in_cam_dir)
    batch.set_input_string(3, out_dir)
    batch.run_process()
예제 #25
0
def import_point_cloud(scene, cache, in_file, min_octree_depth=2):
    batch.init_process("boxm2ImportPointCloudProcess")
    batch.set_input_from_db(0, scene)
    batch.set_input_from_db(1, cache)
    batch.set_input_string(2, in_file)
    batch.set_input_unsigned(3, min_octree_depth)
    batch.run_process()
예제 #26
0
def import_triangle_mesh(scene, cache, ply_filename, occupied_prob=0.99):
    batch.init_process("boxm2ImportTriangleMeshProcess")
    batch.set_input_from_db(0, scene)
    batch.set_input_from_db(1, cache)
    batch.set_input_string(2, ply_filename)
    batch.set_input_float(3, occupied_prob)
    batch.run_process()
예제 #27
0
    def create_stream_cache(self, imgs, interval=1, types="", max_gb=6.0):

        # write image identifiers to file
        # imgRange = range(0, len(imgs), interval);
        # num_imgs = len(imgRange);
        image_id_fname = self.model_dir + "/image_list.txt"
        fd = open(image_id_fname, "w")
        print >> fd, len(imgs)
        # for i in imgRange:
        #  print >>fd, "img_%05d"%i
        for img in imgs:
            fname, fextension = os.path.splitext(img)
            bname = os.path.basename(fname)
            print >> fd, bname
        fd.close()

        # write type identifiers into file
        type_id_fname = self.model_dir + "/type_names_list.txt"
        fd2 = open(type_id_fname, "w")
        print >>fd2, 4
        print >>fd2, "aux0"
        print >>fd2, "aux1"
        print >>fd2, "aux2"
        print >>fd2, "aux3"
        fd2.close()

        # open the stream cache, this is a read-only cache
        batch.init_process("boxm2CreateStreamCacheProcess")
        batch.set_input_from_db(0, self.scene)
        batch.set_input_string(1, type_id_fname)
        batch.set_input_string(2, image_id_fname)
        batch.set_input_float(3, max_gb)
        batch.run_process()
        (cache_id, cache_type) = batch.commit_output(0)
        self.str_cache = dbvalue(cache_id, cache_type)
예제 #28
0
def paint_mesh(scene, cache, in_file, out_file):
    batch.init_process("boxm2PaintMeshProcess")
    batch.set_input_from_db(0, scene)
    batch.set_input_from_db(1, cache)
    batch.set_input_string(2, in_file)
    batch.set_input_string(3, out_file)
    batch.run_process()
예제 #29
0
    def batch_synoptic_function(self):
        """ Create synoptic function (cubic function) at each voxel """
        # write image identifiers to file
        image_id_fname = self.model_dir + "/image_list.txt"
        fd = open(image_id_fname, "w")
        print >> fd, 2 * len(self.imgList)
        for i, img in enumerate(self.imgList):
            print >> fd, "img_%05d" % i
        for i, img in enumerate(self.imgList):
            print >> fd, "viewdir_%05d" % i
        fd.close()

        type_id_fname = self.model_dir + "/type_names_list.txt"
        fd2 = open(type_id_fname, "w")
        print >>fd2, 4
        print >>fd2, "aux0"
        print >>fd2, "aux1"
        print >>fd2, "aux2"
        print >>fd2, "aux3"
        fd2.close()

        # open the stream cache, this is a read-only cache
        batch.init_process("boxm2OclBatchSynopticFunctionProcess")
        batch.set_input_from_db(0, self.device)
        batch.set_input_from_db(1, self.scene)
        batch.set_input_from_db(2, self.opencl_cache)
        batch.set_input_unsigned(3, len(self.imgList))
        batch.set_input_string(4, image_id_fname)
        batch.set_input_float(5, 0.09)
        batch.run_process()
예제 #30
0
    def transform_to_scene(self, to_scene, trans, rot, scale):
        if self.opencl_cache.type == "boxm2_opencl_cache_sptr":
            print("transforming scene")
            batch.init_process("boxm2VecfOclTransformSceneProcess")
            batch.set_input_from_db(0, self.scene)
            batch.set_input_from_db(1, to_scene)
            batch.set_input_from_db(2, self.opencl_cache)
            batch.set_input_double(3, trans[0])
            batch.set_input_double(4, trans[1])
            batch.set_input_double(5, trans[2])
            batch.set_input_double(6,  rot[0][0])
            batch.set_input_double(7,  rot[0][1])
            batch.set_input_double(8,  rot[0][2])
            batch.set_input_double(9,  rot[1][0])
            batch.set_input_double(10, rot[1][1])
            batch.set_input_double(11, rot[1][2])
            batch.set_input_double(12, rot[2][0])
            batch.set_input_double(13, rot[2][1])
            batch.set_input_double(14, rot[2][2])
            batch.set_input_double(15, scale[0])
            batch.set_input_double(16, scale[1])
            batch.set_input_double(17, scale[2])

            return batch.run_process()
        else:
            print "ERROR: Cache type not recognized: ", self.opencl_cache.type
            return False
예제 #31
0
def export_stack(scene, cache, outdir, identifier):
    batch.init_process("boxm2ExportStackImagesProcess")
    batch.set_input_from_db(0, scene)
    batch.set_input_from_db(1, cache)
    batch.set_input_string(2, outdir)
    batch.set_input_string(3, identifier)
    batch.run_process()
예제 #32
0
def scale_and_offset_values(img,scale,offset):
  boxm2_batch.init_process("vilScaleAndOffsetValuesProcess")
  boxm2_batch.set_input_from_db(0,img)
  boxm2_batch.set_input_float(1,scale)
  boxm2_batch.set_input_float(2,offset)
  boxm2_batch.run_process()
  return
예제 #33
0
파일: vil_adaptor.py 프로젝트: caioc2/vxl
def median_filter_image(img, neighborhood_radius):
    boxm2_batch.init_process("vilMedianFilterProcess")
    boxm2_batch.set_input_from_db(0, img)
    boxm2_batch.set_input_int(1, neighborhood_radius)
    boxm2_batch.run_process()
    (id, type) = boxm2_batch.commit_output(0)
    filt_img = dbvalue(id, type)
    return filt_img
예제 #34
0
파일: vil_adaptor.py 프로젝트: caioc2/vxl
def image_mean(img):
    boxm2_batch.init_process("vilImageMeanProcess")
    boxm2_batch.set_input_from_db(0, img)
    boxm2_batch.run_process()
    (id, type) = boxm2_batch.commit_output(0)
    mean_val = boxm2_batch.get_output_float(id)
    boxm2_batch.remove_data(id)
    return mean_val
예제 #35
0
파일: vil_adaptor.py 프로젝트: caioc2/vxl
def img_sum(img, plane_index=0):
    boxm2_batch.init_process("vilImageSumProcess")
    boxm2_batch.set_input_from_db(0, img)
    boxm2_batch.set_input_unsigned(1, plane_index)
    boxm2_batch.run_process()
    (id, type) = boxm2_batch.commit_output(0)
    value = boxm2_batch.get_output_double(id)
    return value
예제 #36
0
파일: vil_adaptor.py 프로젝트: caioc2/vxl
def convert_image(img, type="byte"):
    boxm2_batch.init_process("vilConvertPixelTypeProcess")
    boxm2_batch.set_input_from_db(0, img)
    boxm2_batch.set_input_string(1, type)
    boxm2_batch.run_process()
    (id, type) = boxm2_batch.commit_output(0)
    cimg = dbvalue(id, type)
    return cimg
예제 #37
0
파일: vil_adaptor.py 프로젝트: caioc2/vxl
def detect_shadow_rgb(img, threshold):
    boxm2_batch.init_process("vilShadowDetectionProcess")
    boxm2_batch.set_input_from_db(0, img)
    boxm2_batch.set_input_float(1, threshold)
    boxm2_batch.run_process()
    (o_id, o_type) = boxm2_batch.commit_output(0)
    region_img = dbvalue(o_id, o_type)
    return region_img
예제 #38
0
def query_cell_data(scene, cache, point):
    batch.init_process("boxm2CppQueryCellDataProcess")
    batch.set_input_from_db(0, scene)
    batch.set_input_from_db(1, cache)
    batch.set_input_float(2, point[0])
    batch.set_input_float(3, point[1])
    batch.set_input_float(4, point[2])
    batch.run_process()
예제 #39
0
def fuse_based_orientation(device, sceneA, sceneB, opencl_cache):
    print("Updating Dot product")
    batch.init_process("boxm2OclFuseBasedOrientationProcess")
    batch.set_input_from_db(0, device)
    batch.set_input_from_db(1, sceneA)
    batch.set_input_from_db(2, sceneB)
    batch.set_input_from_db(3, opencl_cache)
    return batch.run_process()
예제 #40
0
파일: vil_adaptor.py 프로젝트: caioc2/vxl
def max_threshold_image(img, threshold):
    boxm2_batch.init_process("vilThresholdMaxImageProcess")
    boxm2_batch.set_input_from_db(0, img)
    boxm2_batch.set_input_float(1, threshold)
    boxm2_batch.run_process()
    (id, type) = boxm2_batch.commit_output(0)
    mask = dbvalue(id, type)
    return mask
예제 #41
0
def query_cell_data(scene, cache, point):
    batch.init_process("boxm2CppQueryCellDataProcess")
    batch.set_input_from_db(0, scene)
    batch.set_input_from_db(1, cache)
    batch.set_input_float(2, point[0])
    batch.set_input_float(3, point[1])
    batch.set_input_float(4, point[2])
    batch.run_process()
예제 #42
0
def aggregate_normal_from_filter_vector(scene, cache, device, filter_vector):
    """ compute normals based on response of filter vector """
    batch.init_process("boxm2_ocl_aggregate_normal_from_filter_vector_process")
    batch.set_input_from_db(0, device)
    batch.set_input_from_db(1, scene)
    batch.set_input_from_db(2, cache)
    batch.set_input_from_db(3, filter_vector)
    return batch.run_process()
예제 #43
0
def image_mean(img):
  boxm2_batch.init_process("vilImageMeanProcess")
  boxm2_batch.set_input_from_db(0,img)
  boxm2_batch.run_process()
  (id,type) = boxm2_batch.commit_output(0)
  mean_val = boxm2_batch.get_output_float(id)
  boxm2_batch.remove_data(id)
  return mean_val
예제 #44
0
def fuse_based_surface_density(device, sceneA, sceneB, opencl_cache):
    print("Fuse two models using Surface Density")
    batch.init_process("boxm2OclFuseSurfaceDensityProcess")
    batch.set_input_from_db(0, device)
    batch.set_input_from_db(1, sceneA)
    batch.set_input_from_db(2, sceneB)
    batch.set_input_from_db(3, opencl_cache)
    return batch.run_process()
예제 #45
0
def max_threshold_image(img, threshold):
    boxm2_batch.init_process("vilThresholdMaxImageProcess")
    boxm2_batch.set_input_from_db(0,img)
    boxm2_batch.set_input_float(1,threshold)
    boxm2_batch.run_process()
    (id,type) = boxm2_batch.commit_output(0)
    mask = dbvalue(id,type)
    return mask
예제 #46
0
파일: vil_adaptor.py 프로젝트: caioc2/vxl
def combine_eo_ir(eo_img, ir_img):
    boxm2_batch.init_process("vilEOIRCombineProcess")
    boxm2_batch.set_input_from_db(0, eo_img)
    boxm2_batch.set_input_from_db(1, ir_img)
    boxm2_batch.run_process()
    (id, type) = boxm2_batch.commit_output(0)
    img_out = dbvalue(id, type)
    return img_out
예제 #47
0
파일: vil_adaptor.py 프로젝트: caioc2/vxl
def get_plane(img, plane_id):
    boxm2_batch.init_process("vilGetPlaneProcess")
    boxm2_batch.set_input_from_db(0, img)
    boxm2_batch.set_input_unsigned(1, plane_id)
    boxm2_batch.run_process()
    (id, type) = boxm2_batch.commit_output(0)
    img_plane = dbvalue(id, type)
    return img_plane
예제 #48
0
def fuse_based_visibility(device, sceneA, sceneB, opencl_cache):
    print("Updating Max Vis")
    batch.init_process("boxm2OclFuseBasedVisibilityProcess")
    batch.set_input_from_db(0, device)
    batch.set_input_from_db(1, sceneA)
    batch.set_input_from_db(2, sceneB)
    batch.set_input_from_db(3, opencl_cache)
    return batch.run_process()
예제 #49
0
def median_filter_image(img, neighborhood_radius):
    boxm2_batch.init_process("vilMedianFilterProcess")
    boxm2_batch.set_input_from_db(0,img)
    boxm2_batch.set_input_int(1,neighborhood_radius)
    boxm2_batch.run_process()
    (id,type) = boxm2_batch.commit_output(0)
    filt_img = dbvalue(id,type)
    return filt_img
예제 #50
0
def img_sum(img, plane_index=0):
  boxm2_batch.init_process("vilImageSumProcess")
  boxm2_batch.set_input_from_db(0,img)
  boxm2_batch.set_input_unsigned(1,plane_index)
  boxm2_batch.run_process()
  (id,type) = boxm2_batch.commit_output(0)
  value = boxm2_batch.get_output_double(id)
  return value
예제 #51
0
def get_plane(img, plane_id):
  boxm2_batch.init_process("vilGetPlaneProcess");
  boxm2_batch.set_input_from_db(0, img);
  boxm2_batch.set_input_unsigned(1, plane_id);
  boxm2_batch.run_process();
  (id, type) = boxm2_batch.commit_output(0);
  img_plane = dbvalue(id, type);
  return img_plane;
예제 #52
0
def convert_image(img, type="byte") :
  boxm2_batch.init_process("vilConvertPixelTypeProcess");
  boxm2_batch.set_input_from_db(0, img);
  boxm2_batch.set_input_string(1, type);
  boxm2_batch.run_process();
  (id,type) = boxm2_batch.commit_output(0);
  cimg = dbvalue(id,type);
  return cimg;
예제 #53
0
def detect_shadow_rgb(img,threshold) :
  boxm2_batch.init_process("vilShadowDetectionProcess");
  boxm2_batch.set_input_from_db(0,img)
  boxm2_batch.set_input_float(1, threshold);
  boxm2_batch.run_process();
  (o_id,o_type) = boxm2_batch.commit_output(0);
  region_img = dbvalue(o_id,o_type);
  return region_img;
예제 #54
0
def combine_eo_ir(eo_img,ir_img):
  boxm2_batch.init_process("vilEOIRCombineProcess")
  boxm2_batch.set_input_from_db(0,eo_img)
  boxm2_batch.set_input_from_db(1,ir_img)
  boxm2_batch.run_process()
  (id,type) = boxm2_batch.commit_output(0)
  img_out = dbvalue(id,type)
  return img_out
예제 #55
0
def arf_next_frame(rawStream) :
  boxm2_batch.init_process("bilArfReadFrameProcess")
  boxm2_batch.set_input_from_db(0,rawStream);
  boxm2_batch.run_process();
  (id, type) = boxm2_batch.commit_output(0);
  img = dbvalue(id,type);
  (id, type) = boxm2_batch.commit_output(1);
  time = boxm2_batch.get_output_unsigned(id);
  return img, time
예제 #56
0
파일: vil_adaptor.py 프로젝트: caioc2/vxl
def arf_next_frame(rawStream):
    boxm2_batch.init_process("bilArfReadFrameProcess")
    boxm2_batch.set_input_from_db(0, rawStream)
    boxm2_batch.run_process()
    (id, type) = boxm2_batch.commit_output(0)
    img = dbvalue(id, type)
    (id, type) = boxm2_batch.commit_output(1)
    time = boxm2_batch.get_output_unsigned(id)
    return img, time
예제 #57
0
def query_cell_brdf(scene, cache, point, model_type):
    batch.init_process("boxm2CppQueryCellBrdfProcess")
    batch.set_input_from_db(0, scene)
    batch.set_input_from_db(1, cache)
    batch.set_input_float(2, point[0])
    batch.set_input_float(3, point[1])
    batch.set_input_float(4, point[2])
    batch.set_input_string(5, model_type)
    batch.run_process()