⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 process.c

📁 足球机器人自动程序
💻 C
字号:
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <sys/mman.h>#include <unistd.h>#include "dec.h"#include "cmv.h"int use_cmv = 0;struct cmv_data data;int bb = 0;unsigned char src[YUV_SIZE];char *filename;static inline void print_help(char *argv0) {	fprintf(stderr, "Usage: %s [option] file\n"		"-c s\tset color file s\n"		"-b\tshow bounding box\n"		"-h\tprint this help\n", argv0);}void process(int argc, char *argv[]) {	char cfilename[64];	for (;;) {		int t = getopt(argc, argv, "c:bh");		if (t == -1) {			break;		}		switch (t) {			case 'c':				if (sscanf(optarg, "%s", cfilename) != 1) {					fprintf(stderr, "error optarg: %s\n", optarg);					exit(-1);				}				use_cmv = 1;				break;			case 'b':				bb = 1;				break;			case 'h':				print_help(argv[0]);				exit(0);			case '?':				break;			default:				fprintf(stderr, "error option: %d\n", t);				exit(-1);		}	}	if (argc - optind != 1) {		print_help(argv[0]);		exit(-1);	}	filename = argv[optind];	int fd = open(filename, O_RDONLY);	if (fd < 0) {		perror(filename);		exit(-1);	}	char *suffix = strrchr(filename, '.');	if (suffix == NULL) {		fprintf(stderr, "unknown filename: %s\n", filename);		exit(-1);	}	++suffix;	if (!strcmp(suffix, "raw")) {		unsigned char *raw = mmap(NULL, RAW_SIZE, PROT_READ, MAP_SHARED, fd, 0);		if (raw == MAP_FAILED) {			perror("mmap");			exit(-1);		}		dec_init();		dec_process(raw, src);	}	else {		fprintf(stderr, "unknown filename: %s\n", filename);		exit(-1);	}	if (use_cmv) {		cmv_init(&data, cfilename);		printf("using color file %s\n", cfilename);		cmv_process(&data, src);	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -