motiondetect.rar

  • motan
    了解作者
  • Others
    开发工具
  • 89KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 3
    下载次数
  • 2008-04-16 10:15
    上传日期
图像处理试验程序,平台是TI公司的CCS2.0(CCS5000),完成运动检测
motiondetect.rar
  • motiondetect
  • Debug
  • motiondetect.c
    403B
  • system.c
    371B
  • rts.lib
    173.3KB
  • motiondetect.cmd
    1.2KB
  • regs54xx.h
    30.9KB
  • motiondetect.pjt
    958B
  • regs.h
    8.8KB
  • cc_build_Debug.log
    314B
  • c5416.gel
    5.8KB
  • Debug.lkf
    491B
  • system.h
    400B
  • vectors.asm
    2.2KB
  • motiondetect.h
    161B
  • MotionDetect.paf
    4.3KB
  • comm.c
    8.5KB
  • comm.h
    5KB
  • tvp5150.h
    662B
  • Debug.lkv
    491B
  • type.h
    970B
  • main.c
    10.2KB
  • boot.asm
    12.7KB
  • tvp5150.c
    5.4KB
  • mcbsp54.h
    17KB
  • ch375inc.h
    12.3KB
  • www.pudn.com.txt
    218B
内容介绍
/* * Copyright 2001 by Texas Instruments Incorporated. * All rights reserved. Property of Texas Instruments Incorporated. * Restricted rights to use, duplicate or disclose this code are * granted through contract. * U.S. Patent Nos. 5,283,900 5,392,448 */ /* "@(#) DSP/BIOS 4.51.0 05-23-01 (barracuda-i10)" */ /***************************************************************************/ /* */ /* H E L L O . C */ /* */ /* Basic C standard I/O from main. */ /* */ /* */ /***************************************************************************/ #include <stdio.h> #include <stdlib.h> #include "type.h" #include "mcbsp54.h" #include "system.h" #include "tvp5150.h" #include "comm.h" #include "motiondetect.h" typedef struct _UartFrame{ u8 Head; u8 Type; u8 Experiment; u8 Operation; u8 Method; u8 Parameter; }UartFrame, *PuartFrame; u8 lsrstatus; extern u8 rece[8]; PuartFrame preceive=0; int i,parameter,method,exp_flag=0,image_num=-1,image_num1=0,com_mode=0; extern unsigned int rdv_int,fifoempty_int,rerror_int,timeout_int; u8 sendsingal1[8]={0x55,0x00,0xff,0x00,0x00,0x00,0x00,0x00}; u8 senddatahead1[8] = {0x55,0x00,0x99,0xff,0x88,0x00,0x00,0x00}; #pragma DATA_SECTION(e_buffer,".e_buffer") unsigned char e_buffer[25344]; #pragma DATA_SECTION(y_buffer,".y_buffer") unsigned char y_buffer[25344]; #pragma DATA_SECTION(u_buffer,".u_buffer") unsigned char u_buffer[6336]; /* ======== main ========*/ void main() { tvp5150_init(CIF); //图象采集芯片的初始化 ch375_Init(); //USB芯片的初始化 uart_setup(BAUDRATE_115200, //设置uart的工作参数 WORDLENGTH_8, STOPBIT_1, NO_PARITY, (FIFO_ENABLE+FIFO_DIP_8)); uart_interrupt_control((RDAV_INT+RLS_INT)); //打开uart的数据接收中断和接收状态中断 rece_reset(); //接收数组清零 int_flag_reset(); //中断标志位清零 dsp_interrupt_set(INT_2); //开DSP的INT2中断 dsp_interrupt_set(INT_3); //开DSP的INT3中断 for(;;) { if((timeout_int==0x01)) //若是time out中断,则执行以下代码 { timeout_int=0x00; //超时中断标志清零 UART_FCR_REG = 0x0083; //复位receiver FIFO asm(" nop "); asm(" nop "); uart_sendsingal(TIMEOUTERR,NO_IMAGE_NUM); //通知上位机发生超时错误 } else if((rerror_int==0x01)) //若是接收错误中断,则执行以下代码 { rerror_int=0x00; //uart接收错误中断标志清零 UART_FCR_REG = 0x0083; //复位receiver FIFO asm(" nop "); asm(" nop "); uart_sendsingal(RECEIVEERR,NO_IMAGE_NUM); //通知上位机发生接收错误(如接收FIFO溢出错误) } else if((rdv_int==0x01)) //若是数据有效中断则判断接收到的数据 { rdv_int=0x00; //数据有效中断标志清零 preceive = (PuartFrame)(&rece[0]); //将接收数组的首地址赋给结构体指针preceive if(preceive->Head!=HEAD&&preceive->Head!=0x00)//若数据头有错则通知上位机重发 { rece_reset(); //接收数组清零 sendsingal(com_mode,HEADERR,NO_IMAGE_NUM); //通知上位机数据头错误 } else if(preceive->Head==HEAD) //若数据头没错则依据命令操作 { if(preceive->Type == IMAGE1) //如果上位机进入的是image界面,则报实验选择错 { Delay50ms(); sendsingal(com_mode,EXP_ERROR,NO_IMAGE_NUM); } if(preceive->Type == TEST) //若是测试串口则应答 { rece_reset(); //接收数组清零 if(com_mode==UART_COM) { sendsingal(com_mode,READY,NO_IMAGE_NUM); //测试应答 } image_num = -1; } if(preceive->Type == INIT) //上位机切换实验标签时下位机图像标志重新初始化 { image_num = -1; } switch(preceive->Operation) { case START: //若是开始实验命令则采集图象 exp_flag = (int)(preceive->Experiment); rece_reset(); if(exp_flag!=MOTIONDETECT) //若和上位机实验类型不对则通知上位机 { sendsingal(com_mode,EXP_ERROR,NO_IMAGE_NUM); } else //若实验类型对则开始采集 { startcapG(); ramselect(FIRST_32K); ReadbufG(y_buffer,72,CIF,RstReadP); ramselect(SECOND_32K); ReadbufG(y_buffer,72,CIF,NoRstReadP); ramselect(THIRD_32K); ReadbufG(y_buffer,72,CIF,NoRstReadP); ramselect(FOURTH_32K); ReadbufG(y_buffer,72,CIF,NoRstReadP); image_num++; image_num1=(image_num%2); sendsingal(com_mode,ORI_IMAGEREADY,((u8)image_num1)); } break; case ORI_IMAGE: //若是传输原图象命令则传原图象 rece_reset(); image_num=(image_num%2); ramselect(FIRST_32K); //传第一幅图象 senddata(com_mode,LENGTH_Y_QCIF,y_buffer,FIRSTTIME_SEND); ramselect(SECOND_32K); senddata(com_mode,LENGTH_Y_QCIF,y_buffer,NOT_FIRSTTIME_SEND); ramselect(THIRD_32K); senddata(com_mode,LENGTH_Y_QCIF,y_buffer,NOT_FIRSTTIME_SEND); ramselect(FOURTH_32K); senddata(com_mode,LENGTH_Y_QCIF,y_buffer,NOT_FIRSTTIME_SEND); break; case START_SEC_IMAGE: //开始采集第二幅命令 parameter = (int)(preceive->Parameter); rece_reset(); startcapG(); ramselect(FIRST_32K); ReadbufG(e_buffer,72,CIF,RstReadP); motiondetect(e_buffer,y_buffer,y_buffer,XSIZE,YSIZE>>2,parameter); image_num1=image_num+2; sendsingal(com_mode,SEC_IMAGEREADY,((u8)image_num1)); break; case SEC_IMAGE: //传送第二幅图像命令 rece_reset(); ramselect(FIRST_32K); //传送第二幅图像 senddata(com_mode,LENGTH_Y_QCIF,e_buffer,FIRSTTIME_SEND); ramselect(SECOND_32K); ReadbufG(e_buffer,72,CIF,NoRstReadP);
评论
    相关推荐
    • codesforimageprocessing.rar
      实现简单图像处理,包括256色转灰度图、Hough变换、Walsh变换、中值滤波、二值化变换、亮度增减、傅立叶变换、反色、取对数、取指数、图像平移、图像旋转、图像细化、图像缩放、图像镜像、均值滤波、对比度拉伸、拉普拉斯锐化(边缘检测)、方块编码、梯度锐化、灰度均衡、直方图均衡、离散余弦变换、维纳滤波处理、逆滤波处理、阈值变换、高斯平滑。
    • matlab.rar
      基于MATLAB-GUI图形界面的数字图像处理软件 本系统设计基于GUI图形界面,用matlab语言编写代码,实现功能包括图象的读取、存储、显示、直方图均衡化、阈值化、小波分解、小波重构、加噪、去噪、平滑、锐化、边缘检测、图像分割等
    • OPENCV_SIFT_VC6.rar
      基于OPENCV的SIFT特征提取与匹配算法。包含完整的从图像高斯金字塔、DOG、空间极值点提取、关键点描述、KDtree匹配等关键步骤的全部函数实现,对全面深入理解Lowe的SIFT算法有莫大帮助。程序运行前须安装(1)OpenCV: http://opencvlibrary.sourceforge.net (2)SIFT: http://web.engr.oregonstate.edu/~hess/index.html,并配置其环境参数。
    • MATLAB_code_of_image_processing.rar
      该gui函数基本上包括图像处理里面的最基本处理,相当于一个小型photoshop。比如读取文件,几何变换中的垂直镜像,平移,旋转,缩放;正交变换的DFT,FFT,DCT,DST,DHT,DWashT;灰度处理中的反色,直方图均衡,全局线性变换,分段线性变换,指数非线性变换,对数非线性变换;图像增强里面的加噪声,平滑,锐化,伪彩色增强;图像分割里面的灰度阈值法,Robert,Laplace,sobel,prewitt,canny算子边缘检测法;图像恢复里面的直接逆滤波,维纳滤波;图像编码里面的霍夫曼编码,行程编码等等
    • bianyuan_jiance_bijiao.rar
      用六种算子(分别是gabor、拉普拉斯、priwitt、robert、sobel、wallis),对三种图象进行边缘检测比较,强烈推荐哦,是本人的毕业设计中的关键程序
    • 一维和二维小波变换的VC实现.rar
      小波算法在vc的具体实现.小波算法在图像处理,视频压缩,特征提取等领域有广泛应用,程序以灰度图像为数据分别演示了一维和二维小波变换,希望对大家有所帮助.谢谢!
    • thresold.rar
      基于小波变换阈值去噪的MATLAB源代码(包含小波包去噪程序)
    • HOG.rar
      基于HOG的行人检测,作者的源代码有错误,现代码已经进行了改变,并可以调试通
    • tuxiangzengqiang.rar
      本程序基于Matlab,初步实现图像增强的基本操作,实现 图像明暗度调整, 图像旋转,更改颜色显示方式,直接灰度调整,图像求反,动态范围压缩,显示原始图像直方图,直方图均衡化,滤波增强等功能
    • ImgSeg.rar
      哥们图像边缘检测与特征提取的毕业设计,包括全部经典算法,还有他自己的改进,VC6下测试通过。(这个改进我不是很懂,不要问我!:))