硬件准备

ADSP-EDU-BF533:BF533开发板
AD-HP530ICE:ADI DSP仿真器

软件准备

Visual DSP++软件

硬件链接

功能介绍

代码实现了图像亮暗处理,代码运行时,会通过文件系统打开工程文件根目下" …/ImageView"路径中的 testin.bmp 文件,进行图像亮暗处理后把图片保存到工程文件根目下" …/ImageView"路径中的 testout.bmp 文件,并且将处理后的图片显示到液晶屏上。例子中的算法只支持尺寸为 480*272 的 24bit 的 bmp 图片,可以根据自己的需要自行调整。

代码使用说明

funct.c 中的 Bright(const BMPIMAGE *img,int rate)

该函数是将读取的图像进行亮暗处理。
BMPIMAGE * 图像结构体指针

int rate 亮暗参数,大于 100 变亮,小于 100 变暗,等于 100 保持不变
在 main.c 文件中定义了一个#define LCD_VIEW_ENABLE 宏开关,如果不需要将处理后的图片显示在液晶屏上,只需将这个宏开关注释掉

代码实验步骤

  1. 将工程文件根目下的 ImageView 文件夹内存放一个名为 testin.bmp 的图像文件,该文件尺寸为 480*272 的24bit 的 bmp 图片(默认已存一幅测试图片)。
  2. 打开工程文件 BF53x_Bright.dpj,编译并运行代码。
  3. 等待图像处理,处理完成之后会在液晶屏上显示处理后的图片,并在工程文件根目下的 ImageView 文件夹内生成一个处理后名为 testout.bmp 图片。

代码实验结果
1.液晶屏上显示处理后的图片。
2.在工程文件根目下的 ImageView 文件夹中查看处理后名为 testout.bmp 图片。

程序源码

#include <cdefBF533.h>
#include “bmp.h”

/********************************************************

  • 函数名 : Bright
  • 函数功能 : 图像亮暗处理
  • 函数参数 : BMPIMAGE * 图像结构体指针
    int rate 大于100变亮,小于100变暗,等于100保持不变
  • 函数返回值 :FALSE 处理失败
  •            TRUE    处理成功
    

********************************************************/

int Bright(BMPIMAGE* img,int rate)
{
// 指向源象素的指针
unsigned char *lpSrc = img->imgbuf;

int i;   // 图像的宽度和高度
long    lWidth;
long    lHeight;
unsigned int intR,intG,intB,intMax;lWidth = img->infohead.BiWidth;
lHeight = img->infohead.BiHeight;if(rate<=100)
{for(i=0;i<lWidth*lHeight*3;i=i+3){                   lpSrc[i+0]=(lpSrc[i+0]*rate+50)/100;lpSrc[i+1]=(lpSrc[i+1]*rate+50)/100;lpSrc[i+2]=(lpSrc[i+2]*rate+50)/100;}
}
else
{for(i=0;i<lWidth*lHeight*3;i=i+3){intR=(lpSrc[i+0]*rate+50)/100;intG=(lpSrc[i+1]*rate+50)/100;intB=(lpSrc[i+2]*rate+50)/100;intMax=intR>intG?intR:intG;intMax=intMax>intB?intMax:intB;if(intMax>255){intR=(intR*255)/intMax;intG=(intG*255)/intMax;intB=(intB*255)/intMax;}lpSrc[i+0]=intR;lpSrc[i+1]=intG;lpSrc[i+2]=intB;}
}

}

ADI Blackfin DSP处理器-BF533的开发详解49:图像处理专题-Bright (图像亮暗处理)(含源码)相关推荐

  1. ADI Blackfin DSP处理器-BF533的开发详解70:NES 红白机模拟器(含源码)

    硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP++软件 硬件链接 代码实现功能 代码实现了 NES 游戏模拟器在 ...

  2. ADI Blackfin DSP处理器-BF533的开发详解10:SPORT-IIS口驱动和应用(含源代码)

    硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP++软件 硬件链接 接口功能介绍 ADSP-BF533上有两个 S ...

  3. ADI Blackfin DSP处理器-BF533的开发详解24:触摸屏的实现和应用(含源代码)

    硬件准备** ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP++软件 硬件链接 使用到硬件模块原理图 功能介绍 四线电阻式 ...

  4. ADI Blackfin DSP处理器-BF533的开发详解1:软件和硬件的准备

    BF533是ADI Blackfin系列DSP处理器里的最经典型号,这个DSP我用了20年,单就这一颗DSP来讲,我相信国内应该没有比我更资深的了,下面就来说一说这颗DSP. 这颗IC是Blackfi ...

  5. ADI Blackfin DSP处理器-BF533的开发详解3:GPIO(含源代码)

    我们从最基础的GPIO开始,先讲外设,这玩意不管是单片机,还是ARM,又或是FPGA,甚至SOC的芯片,都有GPIO,有共性,就好理解,让我们看看在ADI的DSP里头,GPIO是怎么一回事吧. 硬件准 ...

  6. ADI Blackfin DSP处理器-BF533的开发详解58:DSP控制ADXL345三轴加速度传感器的应用(含源码)

    硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP++软件 硬件链接 MEMS三轴加速度传感器 我做了一个三轴加速度 ...

  7. ADI Blackfin DSP处理器-BF533的开发详解60:DSP控制ADXL345三轴加速度传感器-电子水平仪(含源码)

    硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP++软件 硬件链接 MEMS三轴加速度传感器 我做了一个三轴加速度 ...

  8. ADI Blackfin DSP处理器-BF533的开发详解21:RTC实时时钟的原理及应用(含源码)

    硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP++软件 硬件链接 硬件设计原理图 功能介绍 ADSP-BF53x ...

  9. ADI Blackfin DSP处理器-BF533的开发详解55:CVBS输入-DSP和ADV7180的应用详解(含源码)

    硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP++软件 硬件链接 CVBS IN 视频输入 硬件实现原理 CVB ...

最新文章

  1. mysql 存储过程怎么多行注释_数据库通过存储过程批量添加注释(模板为oracle)...
  2. window powershell 获取前后日期,格式化日期
  3. Gitlab CI 持续集成的完整实践
  4. signal(SIGCHLD, SIG_IGN) 和 signal(SIGPIPE, SIG_IGN) 使用场景
  5. iOS.UITableView.SectionIndex
  6. Android单击、长按获取当前触点坐标下(TextView)文字字符
  7. 【kafka】kafka 启动 Version `123123` is not a valid version
  8. 【空间】C++内存管理
  9. 自动驾驶算法-滤波器系列(三)——不同运动模型(CV、CA、CTRV、CTRA)的建模和推导
  10. 2017-3-17 SQL server 数据库 视图,事务,备份还原,分离附加
  11. 解决Element的 InfiniteScroll 无限滚动组件报错
  12. Java(31)_JDBC连接mysql数据库(一)
  13. Android 自定义和可下载字体
  14. 【万字专栏总结】离线强化学习(OfflineRL)总结(原理、数据集、算法、复杂性分析、超参数调优等)...
  15. 用户使用手机号快速登录注册功能实现
  16. C#语法糖(Csharp Syntactic sugar)
  17. 网易免费邮箱服务器,网易免费邮箱重新免费开放 POP3/SMTP 服务
  18. Thrift入门学习
  19. 开始混CSDN了,大器晚成……
  20. 《CSS世界》读书笔记:line-height

热门文章

  1. 《花开半夏》--5 脚步(2)
  2. ld 新解Hello world
  3. 熵、KL散度、交叉熵公式及通俗理解
  4. LeetCode 高级 - 单词接龙
  5. esp分区创建 linux_Linux 基础知识: GPT分区基础知识及如何在GPT分区上安装WIN7
  6. CRM 导入数据失败,显示【ISV 代码已中止操作】
  7. Hotp和totp随记
  8. Bash中的标准输入、标准输出和标准错误输出
  9. windows7启动项的修改
  10. 用Worktile管理园林景观设计项目,让多方协作更便捷