コード例 #1
0
ファイル: cde.cpp プロジェクト: aidiandin/hot-exports
    void init_ogr(const std::string& outfile) {
        OGRRegisterAll();

        const char* driver_name = "SQLite";
        OGRSFDriver* driver = OGRSFDriverRegistrar::GetRegistrar()->GetDriverByName(driver_name);
        if (driver == NULL) {
            std::cerr << driver_name << " driver not available.\n";
            exit(1);
        }

        CPLSetConfigOption("OGR_SQLITE_SYNCHRONOUS", "FALSE");
        const char* options[] = { "SPATIALITE=TRUE", NULL };

        m_data_source = driver->CreateDataSource(outfile.c_str(), const_cast<char**>(options));
        if (m_data_source == NULL) {
            std::cerr << "Creation of output file failed.\n";
            exit(1);
        }

        m_layer_point   = init_layer("planet_osm_point",   m_fields_nodes, wkbPoint);
        m_layer_line    = init_layer("planet_osm_line",    m_fields_ways,  wkbLineString);
        m_layer_polygon = init_layer("planet_osm_polygon", m_fields_areas, wkbMultiPolygon);

        stringv fields_roads;
        fields_roads.push_back("railway");
        fields_roads.push_back("highway");
        fields_roads.push_back("boundary");
        m_layer_roads = init_layer("planet_osm_roads", fields_roads, wkbLineString);
    }
コード例 #2
0
static DFBResult
sh_du_add_region( CoreLayer             *layer,
                  void                  *driver_data,
                  void                  *layer_data,
                  void                  *region_data,
                  CoreLayerRegionConfig *config )
{
     SHGfxDriverData *drv;
     SHDuLayerData   *lyr;
     DFBResult        ret;

     D_DEBUG_AT( SH_DU_LAYER, "%s( %u )\n",
                 __FUNCTION__, dfb_layer_id( layer ) );
     D_UNUSED_P( region_data );

     drv = (SHGfxDriverData *)driver_data;
     lyr = (SHDuLayerData *)layer_data;

     init_layer( drv, lyr, dfb_layer_id( layer ), config );
     ret = update_layer( drv, lyr, PLANE_ALL, NULL );
     if (ret == DFB_OK)
          ret = sh_du_add_layer( dfb_layer_screen( layer ), driver_data,
	                         lyr->id, lyr->plane.id, &lyr->level );

     return ret;
}
コード例 #3
0
layer_t *avg_pooling(layer_t *target, int factor) {
	layer_t *result_layer = init_layer();

	for (int stack = 0; stack < target->size; stack += 1) {
		int result_size = (target->feature[stack]->size)/factor;
		image_t *result = init_image2D(result_size);

		for(int i = 0; i < result_size; i += 1) {
			for(int j = 0; j < result_size; j += 1) {
				float sum = 0;
				for(int m = 0; m < factor; m += 1) {
					for(int n = 0; n < factor; n += 1) {
						sum += target->feature[stack]->element[0][i*target->feature[stack]->size*factor+j*factor+m*target->feature[stack]->size+n];
					}
				}
				result->element[0][i*result->size+j] = sum / (target->feature[stack]->size * target->feature[stack]->size);
			}
		}
		add_feature(result_layer, result);
	}
	return result_layer;
}
コード例 #4
0
ファイル: hdmitester.c プロジェクト: Merrii-DKG/buildroot
int main(int argc, char *argv[])
{
    unsigned int args[4];
    int status = 0;
    int retry = 0;
    int flags = 0;
    int ret;
    pthread_t tid;
    __disp_output_type_t disp_output_type;
    int mic_activated;

    INIT_CMD_PIPE();

    init_script(atoi(argv[2]));

    disp = open("/dev/disp", O_RDWR);
    if (disp == -1) {
        db_error("hdmitester: open /dev/disp failed(%s)\n", strerror(errno));
        goto err;
    }

    args[0] = 0;
    disp_output_type = (__disp_output_type_t)ioctl(disp, DISP_CMD_GET_OUTPUT_TYPE,(void*)args);
     if(script_fetch("mic", "activated", &mic_activated,1)){
        mic_activated=0;  
     }       

    /* test main loop */
    while (1) {
        if(disp_output_type==DISP_OUTPUT_TYPE_LCD)
        args[0] = 1;
        else
        args[0] = 0;
        
        ret = ioctl(disp, DISP_CMD_HDMI_GET_HPD_STATUS, args);
        if (ret == 1) {
            flags = 0;

            if (status == 1) {
                sleep(1);
                continue;
            }

            /* try three times before go on...
             * it will take 3 second.
             */
            if (retry < 3) {
                retry++;
                sleep(1);
                continue;
            }
            
            if(disp_output_type==DISP_OUTPUT_TYPE_LCD){
                   /* detect and set output mode */
                  ret = detect_output_mode();
                  if (ret < 0) {
                       goto err;
                 }

               args[0] = 1;
               args[1] = output_mode;
                   ret = ioctl(disp, DISP_CMD_HDMI_SET_MODE, args);
                if (ret < 0) {
                    db_error("hdmitester: set hdmi output mode failed(%d)\n", ret);
                  goto err;
                 }

               /* init layer */
               ret = init_layer();
                if (ret < 0) {
                      db_error("hdmitester: init layer failed\n");
                       goto err;
                }

               /* set hdmi on */
               args[0] = 1;
               ret = ioctl(disp, DISP_CMD_HDMI_ON, args);
               if (ret < 0) {
                     db_error("hdmitester: set hdmi on failed(%d)\n", ret);
                     exit_layer();
                    goto err;
                 }

                /* create sound play thread */
               sound_play_stop = 0;
                //ret = pthread_create(&tid, NULL, sound_play, NULL);
				ret=0;
			   if (ret != 0) {
                    db_error("hdmitester: create sound play thread failed\n");
                   exit_layer();
                      args[0] = 1;
                    ioctl(disp, DISP_CMD_HDMI_OFF, args);
                    goto err;
                   }
                 
            }else
            if((disp_output_type==DISP_OUTPUT_TYPE_HDMI)&&(!mic_activated)){
               /* create sound play thread */
               sound_play_stop = 0;
                ret = pthread_create(&tid, NULL, sound_play, NULL);
               if (ret != 0) {
                    db_error("hdmitester: create sound play thread failed\n");
                    exit_layer();
                     args[0] = 1;
                    ioctl(disp, DISP_CMD_HDMI_OFF, args);
                    goto err;
                   }

            }
            status = 1;
             SEND_CMD_PIPE_OK();
        }
        else {
            void *retval;

            /* reset retry to 0 */
            retry = 0;

            if (status == 0) {
                sleep(1);
                continue;
            }

            if (flags < 3) {
                flags++;
                sleep(1);
                continue;
            }

            status = 0;
            if(disp_output_type==DISP_OUTPUT_TYPE_LCD){
            /* end sound play thread */
            sound_play_stop = 1;
            db_msg("hdmitester: waiting for sound play thread finish...\n");
            if (pthread_join(tid, &retval)) {
                db_error("hdmitester: can't join with sound play thread\n");
            }
            db_msg("hdmitester: sound play thread exit code #%d\n", (int)retval);

            exit_layer();
            args[0] = 1;
            ioctl(disp, DISP_CMD_HDMI_OFF, args);
            }
            else
            if((disp_output_type==DISP_OUTPUT_TYPE_HDMI)&&(!mic_activated)){
                 /* end sound play thread */
              sound_play_stop = 1;
             db_msg("hdmitester: waiting for sound play thread finish...\n");
             if (pthread_join(tid, &retval)) {
                db_error("hdmitester: can't join with sound play thread\n");
              }
            db_msg("hdmitester: sound play thread exit code #%d\n", (int)retval);
            }
        }

        /* sleep 1 second */
        sleep(1);
    }

err:
    SEND_CMD_PIPE_FAIL();
    close(disp);
    deinit_script();
    return -1;
}
コード例 #5
0
ファイル: neural.cpp プロジェクト: rleddy/pattclass
		OutputLayer(unsigned int N,Ply *p) {
			init_layer(N,p);
		}
コード例 #6
0
ファイル: neural.cpp プロジェクト: rleddy/pattclass
		InputLayer(unsigned int N,Ply *p) {
			init_layer(N);
		}
コード例 #7
0
int main() {

	int i;
	printf("==== Initial status ====\n");
	image_t *test_cimage1 = init_image2D(5);
	for(i = 0; i < test_cimage1->size*test_cimage1->size; i += 1) {
		if (i%2)
			test_cimage1->element[0][i] = i;
		else
			test_cimage1->element[0][i] = -i;
	}

	image_t *test_cimage2 = init_image2D(5);
	for(i = 0; i < test_cimage2->size*test_cimage2->size; i += 1) {
		if (i%2)
			test_cimage2->element[0][i] = i;
		else
			test_cimage2->element[0][i] = -i;
	}


	kernel_t *test_kernel1 = init_kernel2D(3);
	for(i = 0; i < test_kernel1->size*test_kernel1->size; i += 1) {
		test_kernel1->element[0][i] = (i%3)+1;
	}

	kernel_t *test_kernel2 = init_kernel2D(3);
	for(i = 0; i < test_kernel2->size*test_kernel2->size; i += 1) {
		test_kernel2->element[0][i] = -1;
	}

	printf("Images:\n");
	layer_t *input_layer = init_layer();
	add_feature(input_layer, test_cimage1);
	add_feature(input_layer, test_cimage2);
	printlayer(input_layer);

	printf("Kernels:\n");
	layer_t *kernel_layer = init_layer();
	add_feature(kernel_layer, test_kernel1);
	add_feature(kernel_layer, test_kernel2);
	printlayer(kernel_layer);

	printf("\n");
	printf("==== Test convolution ====\n");
	printf("Convolution2D:\n");
	layer_t *result_clayer = convolution2D(input_layer, kernel_layer);
	printlayer(result_clayer);

	printf("\n");
	printf("==== Test activator function ====\n");
	layer_t *result_alayer = activator(result_clayer, relu);
	printlayer(result_alayer);

	printf("\n");
	printf("==== Test pooling ====\n");
	printf("Max Pooling:\n");
	layer_t *result_player = max_pooling(result_alayer, 3);
	printlayer(result_player);
	printf("Avg Pooling:\n");
	result_player = avg_pooling(result_alayer, 3);
	printlayer(result_player);
	printf("Min Pooling:\n");
	result_player = min_pooling(result_alayer, 3);
	printlayer(result_player);

  printf("=== Test image3D ===\n");
  image_t *image3d = init_image3D(3, 3);
  image3d->element[0][1] = 1;
  image3d->element[1][1] = 2;
  image3d->element[2][1] = 3;
  printmap(image3d);

  return 0;
}