ADI Blackfin DSP处理器-BF533的开发详解49:图像处理专题-Bright (图像亮暗处理)(含源码)
硬件准备
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 宏开关,如果不需要将处理后的图片显示在液晶屏上,只需将这个宏开关注释掉
代码实验步骤
- 将工程文件根目下的 ImageView 文件夹内存放一个名为 testin.bmp 的图像文件,该文件尺寸为 480*272 的24bit 的 bmp 图片(默认已存一幅测试图片)。
- 打开工程文件 BF53x_Bright.dpj,编译并运行代码。
- 等待图像处理,处理完成之后会在液晶屏上显示处理后的图片,并在工程文件根目下的 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 (图像亮暗处理)(含源码)相关推荐
- ADI Blackfin DSP处理器-BF533的开发详解70:NES 红白机模拟器(含源码)
硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP++软件 硬件链接 代码实现功能 代码实现了 NES 游戏模拟器在 ...
- ADI Blackfin DSP处理器-BF533的开发详解10:SPORT-IIS口驱动和应用(含源代码)
硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP++软件 硬件链接 接口功能介绍 ADSP-BF533上有两个 S ...
- ADI Blackfin DSP处理器-BF533的开发详解24:触摸屏的实现和应用(含源代码)
硬件准备** ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP++软件 硬件链接 使用到硬件模块原理图 功能介绍 四线电阻式 ...
- ADI Blackfin DSP处理器-BF533的开发详解1:软件和硬件的准备
BF533是ADI Blackfin系列DSP处理器里的最经典型号,这个DSP我用了20年,单就这一颗DSP来讲,我相信国内应该没有比我更资深的了,下面就来说一说这颗DSP. 这颗IC是Blackfi ...
- ADI Blackfin DSP处理器-BF533的开发详解3:GPIO(含源代码)
我们从最基础的GPIO开始,先讲外设,这玩意不管是单片机,还是ARM,又或是FPGA,甚至SOC的芯片,都有GPIO,有共性,就好理解,让我们看看在ADI的DSP里头,GPIO是怎么一回事吧. 硬件准 ...
- ADI Blackfin DSP处理器-BF533的开发详解58:DSP控制ADXL345三轴加速度传感器的应用(含源码)
硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP++软件 硬件链接 MEMS三轴加速度传感器 我做了一个三轴加速度 ...
- ADI Blackfin DSP处理器-BF533的开发详解60:DSP控制ADXL345三轴加速度传感器-电子水平仪(含源码)
硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP++软件 硬件链接 MEMS三轴加速度传感器 我做了一个三轴加速度 ...
- ADI Blackfin DSP处理器-BF533的开发详解21:RTC实时时钟的原理及应用(含源码)
硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP++软件 硬件链接 硬件设计原理图 功能介绍 ADSP-BF53x ...
- ADI Blackfin DSP处理器-BF533的开发详解55:CVBS输入-DSP和ADV7180的应用详解(含源码)
硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP++软件 硬件链接 CVBS IN 视频输入 硬件实现原理 CVB ...
最新文章
- mysql 存储过程怎么多行注释_数据库通过存储过程批量添加注释(模板为oracle)...
- window powershell 获取前后日期,格式化日期
- Gitlab CI 持续集成的完整实践
- signal(SIGCHLD, SIG_IGN) 和 signal(SIGPIPE, SIG_IGN) 使用场景
- iOS.UITableView.SectionIndex
- Android单击、长按获取当前触点坐标下(TextView)文字字符
- 【kafka】kafka 启动 Version `123123` is not a valid version
- 【空间】C++内存管理
- 自动驾驶算法-滤波器系列(三)——不同运动模型(CV、CA、CTRV、CTRA)的建模和推导
- 2017-3-17 SQL server 数据库 视图,事务,备份还原,分离附加
- 解决Element的 InfiniteScroll 无限滚动组件报错
- Java(31)_JDBC连接mysql数据库(一)
- Android 自定义和可下载字体
- 【万字专栏总结】离线强化学习(OfflineRL)总结(原理、数据集、算法、复杂性分析、超参数调优等)...
- 用户使用手机号快速登录注册功能实现
- C#语法糖(Csharp Syntactic sugar)
- 网易免费邮箱服务器,网易免费邮箱重新免费开放 POP3/SMTP 服务
- Thrift入门学习
- 开始混CSDN了,大器晚成……
- 《CSS世界》读书笔记:line-height