📄 camera.c
字号:
/* * Camera utilities interface */#include "camera.h"#include "fs_api.h"#ifndef NULL#define NULL 0#endifvoid camera_open(void)// 打开摄像头程序 { cim_init();//初始化#ifdef CONFIG_OV7660//默认是7660 init_ov7660();#endif#ifdef CONFIG_KSMOV7649 init_ksmov7649();#endif#ifdef CONFIG_HV7131 init_hv7131(); /* enable sensor*/ unsigned int val ; val = sensor_read_reg( 0x02); val &= ~(0x08); sensor_write_reg(0x02, val);#endif}void camera_close(void)//关闭摄像头{ /* disable sensor */#ifdef CONFIG_HV7131 unsigned int val; val = sensor_read_reg( 0x02); val |= (0x08); sensor_write_reg(0x02, val);#endif /* CONFIG_HV7131 */ cim_close();// cim port?}void camera_read(unsigned char *buf, int size){ cim_read(buf);//需要修改的程序}/* * Common utils */void save_frame(char *filename, void *buf, int size)//存成文件?{ FS_FILE *ffd; //没有文件系统 能放到内存么? int count; if ((ffd = FS_FOpen(filename,"wb")) == NULL) { printf("Open file %s failed\n", filename); } if ((count = FS_FWrite(buf, 1, size, ffd)) != size) { printf("Error when write to %s.\n", filename); } FS_FClose(ffd);}void read_frame(char *filename, void *buf, int size)//读取 给lcd用么?{ FS_FILE *fd; int count; if ((fd = FS_FOpen(filename, "rb")) == NULL) { printf("Failed to open file %s\n", filename); } if ((count = FS_FRead(buf, 1, size, fd)) != size) { printf("Error when read %s. %s\n", filename); } FS_FClose(fd);}#define NULLRGB565 0x0000void rgb_convert(int o_xres, int o_yres, int n_xres, int n_yres, int start_x, int start_y, unsigned char *o_buf, unsigned char *n_buf)//颜色转换{ int x, y; unsigned short *o_ptr = (unsigned short *)o_buf; unsigned short *n_ptr = (unsigned short *)n_buf; for (y = 0; y < start_y; y++) { for (x = 0; x < n_xres; x++) *n_ptr++ = NULLRGB565; } for (y = start_y; y < start_y + o_yres; y++) { for (x = 0; x < start_x; x++) *n_ptr++ = NULLRGB565; for (x = start_x; x < start_x + o_xres; x++) *n_ptr++ = *o_ptr++; for (x = start_x + o_xres; x < n_xres; x++) *n_ptr++ = NULLRGB565; } for (y = start_y + o_yres; y < n_yres; y++) { for (x = 0; x < n_xres; x++) *n_ptr++ = NULLRGB565; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -