ADI Blackfin DSP处理器-BF533的开发详解51:Bin_Conver (图像二值变换处理)(含源码)

news/2024/7/21 5:19:18 标签: 图像处理, ADI DSP, ADI DSP中文资料

硬件准备

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

软件准备

Visual DSP++软件

硬件链接

在这里插入图片描述

功能介绍

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

代码使用说明

funct.c 中的 Bin_conver (BMPIMAGE* img)

该函数是将读取的图像进行二值变换处理。
BMPIMAGE * 图像结构体指针

在 main.c 文件中定义了一个#define LCD_VIEW_ENABLE 宏开关,如果不需要将处理后的图片显示在液晶屏上,只需将这个宏开关注释掉

代码实验步骤

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

代码实验结果

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

程序源码

#include “bmp.h”
/*************************************************************************
该函数用来镜像DIB图像。可以指定镜像的方式是水平还是垂直。
************************************************************************/

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

int i;
unsigned char gray;	

// 图像的宽度和高度
long lWidth;
long lHeight;


lWidth = img->infohead.BiWidth;
lHeight = img->infohead.BiHeight;

for(i=0;i<lWidth*lHeight*3;i=i+3)
{
	gray =( lpSrc[i+0]*229+lpSrc[i+1]*587+lpSrc[i+2]*114+500)/1000;
	if(gray<0x7f)gray=0;
	else gray=255;
	lpSrc[i+0]=gray;
	lpSrc[i+1]=gray;
	lpSrc[i+2]=gray;
}
// 返回
return TRUE;

}


http://www.niftyadmin.cn/n/16602.html

相关文章

【网络】一文带你了解计算机网络基础

我们在学校中&#xff0c;相信大家都学过计算机四门必修课之一的计算机网络&#xff0c;那么今天简单的总结一下计算机网络的基础和原理&#xff0c;有需要朋友&#xff0c;可以点赞收藏。 一文带你了解计算机网络基础1、 网络 7 层架构2、 TCP/IP原理2.1 网络访问层(Network A…

算法竞赛入门【码蹄集进阶塔335题】(MT2026-2050)

算法竞赛入门【码蹄集进阶塔335题】(MT2026-2050&#xff09; 文章目录算法竞赛入门【码蹄集进阶塔335题】(MT2026-2050&#xff09;前言为什么突然想学算法了&#xff1f;为什么选择码蹄集作为刷题软件&#xff1f;目录1. MT2026 二维坐标点移动2. MT2027 一秒成零3. MT2028 小…

GD32F303固件库开发(17)----内部Flash读写

概述 本例程主要讲解如何对芯片自带Flash进行读写&#xff0c;用芯片内部Flash可以对一些需要断电保存的数据进行保存&#xff0c;无需加外部得存储芯片&#xff0c;本例程采用的是GD32F303ZET6主控&#xff0c;512K大小的Flash。 最近在弄ST和GD的课程&#xff0c;需要GD样片…

11.校验token和解析token获取数据代码优化

校验token和解析token获取数据代码优化 解决方案 基于ThreadLocal 拦截器的形式统一处理 一、使用拦截器进行统一身份鉴权 1.1定义拦截器 package com.tanhua.server.interceptor;import com.tanhua.commons.utils.JwtUtils; import org.springframework.web.servlet.Handl…

UNIX网络编程卷一 学习笔记 第五章 TCP客户/服务器程序示例

本章将编写一个完整的TCP客户/服务器程序&#xff0c;这个简单例子是执行以下步骤的一个回射服务器&#xff1a; 1.客户从标准输入读入一行文本&#xff0c;并写给服务器&#xff1b; 2.服务器从网络输入读入这行文本&#xff0c;并回射给客户&#xff1b; 3.客户从网络输入读入…

华为机试 - 最多获得的短信条数

题目描述 某云短信厂商,为庆祝国庆,推出充值优惠活动。 现在给出客户预算,和优惠售价序列,求最多可获得的短信总条数。 输入描述 第一行客户预算M,其中 0 ≤ M ≤ 10^6 第二行给出售价表, P1, P2, … Pn , 其中 1 ≤ n ≤ 100 , Pi为充值 i 元获得的短信条数。1 ≤ Pi …

Simulink自动化-Matlab脚本自动生成Autosar RTE S/R接口及mapping

文章目录前言设计Excel模板Input/Output属性Sender/Receiver属性Matlab脚本自动创建Input/Output接口自动创建RTE Sender/Receiver port实现效果Excel设置运行新建Input与Output运行创建RTE Port及Mapping总结前言 在之前的一篇文章中&#xff0c;介绍了Autosar Parameter Por…

linux操作:查看nginx实际调用的配置文件与重启nginx

一、查看nginx实际调用的配置文件 1、locate 若安装了locate可通过该命令进行查看。 [rootxxx nginx]# locate nginx.conf /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.default ...如果服务器中存在多个nginx.conf文件&#xff0c;我们并不知道实际上…