CCS3.3图片翻转与反色 您所在的位置:网站首页 如何把图片反色处理 CCS3.3图片翻转与反色

CCS3.3图片翻转与反色

2024-07-13 02:15| 来源: 网络整理| 查看: 265

CCS3.3图片翻转与反色_C6416

流程图

Created with Raphaël 2.2.0 开始 CCS3.3 set up小项目 C program 分配寄存器 load data(图片) view image以及编译运行 结束 yes 1.CCS3.3 set up小项目

在这里插入图片描述

2.program导入

在这里插入图片描述 在这里插入图片描述

3.分配寄存器

在这里插入图片描述

4.image导入

在这里插入图片描述

5.确定图片样式并观察

在这里插入图片描述 在这里插入图片描述

在这里插入图片描述

6.编译1运行2,注意:编译一次LOAD PROGRAM一次。

在这里插入图片描述在这里插入图片描述 7.输入新地址观察image 在这里插入图片描述

下面展示代码。 #include #include "intr.h" #include #include #include #include "timer.h" #include "function.h" #include "regs.h" #include "declare.h" void InitEMIF(void) { *(int *)EMIFA_GCTL = 0x0009207C;//设置标志控制字 *(int *)EMIFA_CE0 = 0xFFFFFF43;//0x20d2c321;//32位宽同步程序存储,读取图像数据(见外设指南10-21,控制4MTYPE) *(int *)EMIFA_CE0SEC= 0x00000040;//附加寄存器,0周期读等待,CE0空间同步到ECLKOUT2(见外设指南10-21) *(int *)EMIFA_CE1 = 0xFFFFFF43;//0x20d2c321;//32位宽同步程序存储,读取图像数据(见外设指南10-21,控制4MTYPE) *(int *)EMIFA_CE1SEC= 0x00000040;//附加寄存器,0周期读等待,CE0空间同步到ECLKOUT2(见外设指南10-21) *(int *)EMIFA_CE2 = 0xFFFFFF23;//同步,控制系数 *(int *)EMIFA_CE2SEC= 0x00000040; //附加寄存器,CE2空间同步到ECLKOUT1 *(int *)EMIFA_CE3 = 0xFFFFFF23;//0x20d2c321;//32位宽同步程序存储 *(int *)EMIFA_CE3SEC= 0x00000040;//附加寄存器,CE3空间同步到ECLKOUT2 return; } //中断初始化模块 (DSP 支持1个NMI不可屏蔽中断,12个可屏蔽中断(INT4-15,4最高,15最低) void Initinter(void) { intr_reset();//中断复位 *(volatile int*)0x01A0FFE8=0x100;//通道中断使能低位寄存器,CIERL //intr_hook(dmaserver0,CPU_INT4); //清零中断挂起 //int_hook(dmaserver1,CPU_INT5); INTR_ENABLE(CPU_INT4); //使能中断 INTR_ENABLE(CPU_INT5); INTR_ENABLE(CPU_INT_NMI); INTR_GLOBAL_ENABLE(); return; } void main() { unsigned char *cp,*cp1; short *cpp,*cpp1; int i,j,x,y; int b=45,i0=480,j0=270; cpp=(short *)0x40000; cpp1=(short *)0x40000; cp=(unsigned char *) 0x80000000;//地址分配 cp1=(unsigned char *)0xA0000000; InitEMIF(); //EMIF配置 for(j=0;j x=(i-i0)*cos(3.14/180.0 * b)-(j-j0)*sin(3.14/180.0 * b)+560;//以(i0,j0)为中心旋转b度,560为对角线长度一半,即540和960的平方和再开方 y=(i-i0)*sin(3.14/180.0* b)+(j-j0)*cos(3.14/180.0 * b)+560; cp1[x*2000+y]=cp[i*960+j];//新行数要大于对角线长度 } } //ISTP=0x400; //中断向量指针,烧写时不能少(在仿真状态下挂起,烧写时放开) 指针寄存器,初始化中断时使用,规定这个状态字 Initinter(); //中断初始化 while(1) { ; } } 结果展示

由于实验过程是对DSP运行的模拟,所以需耗费较长时间,进行到中间这种程度已经等待五分钟。若要加快速度,可通过优化编译器(C优化器优化),优化代码(内联函数的使用、软件流水等)。 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有