- 博客(19)
- 收藏
- 关注
原创 DSP解决malloc函数分配内存时片内RAM空间不足的问题
DSP里的动态内存分配,其分配的内存区域在在堆(heap)中。同时DSP里动态分配内存的函数还有calloc以及reclloc。这些动态分配的内存放置在.system段的全局池或堆(heap)中。因此当我们需要动态分配大尺寸的内存时,我们的片内内存不够使用,我们将.system段定位到我们的EMIFA内存中,然后在编写cmd文件时,加入对堆大小(heap-Size)的指定。具体操作如下介绍:1、当我们使用CCS5.5建立DSP的Project后,编译环境会自动为我们生成链接文件(.cmd)(若没有自动生.
2022-05-31 15:44:36
1953
原创 TI-DSPC6657、C6678多核开发OpenMP示例
(1)CCS编程注意事项在CCS的工程属性Build-C6000 Compiler-Advanced Options里要勾选OpenMP使能,才能有效识别OpenMP的预编译指令。需要应用omp.h头文件(2)24位RGB图像转为灰度图#pragma omp parallel for //预编译指令for(i=0;i<240000;i++){ Gray[i] = (Image[3*i+2]*76) + Image[3*i+1]*150 +Image[3*i]*30) >>
2022-05-30 15:35:01
1118
原创 【DSP开发】从DSP中读取并显示图片的两种方法
显示图片方法1:摄像头的图片通过SRIO发送到DSP DDR3的0x80000000地址中,所以可以通过Tools → Image Analyzer 打开属性对话框。读取该地址的图片,打开对话框后,照下图设置:如上图,更改名字,选择图像颜色空间(以RGB为例,实际显示大小640×512×1Byte的灰度图,存放在unsigned char 的数组 dbImage 中)。每行的像素个数(列数):640;行数:512数据格式:单独存放各个空间的值选 planar (平面格式);此处选平面。维基百科中
2022-05-30 15:25:11
1380
原创 C语言+opencv实现jpg、png等图片批量转为DSP可读取的.dat文件
#include <stdio.h>#include <stdlib.h>#include<iostream>#include<opencv2\opencv.hpp>using namespace std;using namespace cv;int main(void) { //------------将图像文件生成.dat------------------------- int num_img = 291;
2022-05-27 20:23:16
1284
转载 DSPC6657读取图片数据并进行图像处理
DSP芯片中没有文件系统,不能像PC那样直接用imread或open file等操作直接读取图片,需要将图片转为.dat文件注入DSP芯片的存储器中,再进行处理操作。准备一张图像,我采用lean.jpg, 512*512,单通道灰度图像。打开C++ IDE,编写C++代码,将图像数据保存到为DSP可以加载的.dat文件。c++代码:#include <stdio.h>#include <stdlib.h>#include<iostream>#inc
2022-05-27 16:14:55
1835
原创 DSP跑KCF代码之后读取结果txt文件并在Matlab中可视化结果
将.m放在KCF的matlab代码文件夹中即可运行base_path = 'E:\DSP-c66\KCF工程汇总\1.KCF初代版\KCF初代VS2019工程文件\data\';video = 'coke';video_path = [base_path video '/'];img_files = dir([video_path '*.png']);if isempty(img_files), img_files = dir([video_path '*.jpg']); asse
2022-05-24 20:11:43
379
1
原创 jpg图片转为txt格式的数据matlab代码
clc ; clear ll; close all;jpg_folder = ('E:\DSP-c66\KCF_C\coke_img\*.jpg');folder = ('E:\DSP-c66\KCF_C\coke_img\');file_list=dir(jpg_folder);file_num=size(file_list,1);for i=1:file_num list1 = {file_list.name}; list2 = list1'; file_name =
2022-05-24 20:07:33
796
原创 DSP TMS320C6657中FFT函数的调用与具体使用方法
首先明确一点,C6678中FFT的函数形式为:N : length of FFT in complex samplesptr_x : pointer to complex data inputptr_w : pointer to complex twiddle factorptr_y : pointer to complex output databrev : pointer to bit reverse table containing 64 entriesn_min : should be
2022-05-24 19:22:54
2489
1
原创 DPM目标检测算法——目标框选工具Matlab代码(框选,保存txt文件)
num=8;%待框的图像数量figure;f_id=fopen('negative.txt','wt');for i = 1:num path=[num2str(i),'.jpg'];%待读取图像的路径和文件名 path_1=[num2str(i),'.jpg'];%待读取图像的文件名 img=imread(path); imshow(img); objNum = inputdlg(strcat('目标数目',num2str(i)),'ObjDlg');
2022-04-11 14:57:17
987
原创 OTB数据集批量设置代码——设置configSeq.m并复制groundtruth文件
(1)configSeq.m代码自动编写OTB数据集Benchmark中的数据集设置十分繁琐,OTB2015中有100个视频序列,如果手动添加每个视频序列的属性效率极低,因此本文通过Matlab代码实现自动获取数据集每个视频序列的属性,按照configSeq中的结构体样式编写属性代码并存入txt文件中,随后将代码复制进configSeq中即可。(2)自动将原数据集中的groundtruth文件复制进anno文件夹中并重命名由于Benchmark在测试算法之后要根据groundtruth文件计算跟踪精.
2022-04-09 09:59:03
581
原创 Matlab自动下载OTB数据集代码
在下载OTB数据集时http://cvlab.hanyang.ac.kr/tracker_benchmark/datasets.html官网提供的是每个视频序列的下载链接,如果想要一次性全部下载或者批量下载就有点麻烦,所以参考了KCF算法中提供的download_video.m,改写为较为简便的下载代码:base_path = '';%list of videos to downloadvideos = 'Basketball Biker Bird1 Bird2 BlurBody BlurCar
2022-04-08 09:54:40
798
转载 Matlab 读取视频并分帧保存、鼠标手动标注框出目标
Matlab 读取视频并分帧保存fileName = 'E:\数据分析-成都\20220318_175929 00_00_00-00_05_01.mp4'; obj = VideoReader(fileName);numFrames = obj.NumFrames;% 帧的总数 for k = 1 : numFrames% 读取数据 frame = read(obj,k); disp(k); imwrite(frame,strcat('E:\数据分析-成都\
2022-03-20 19:30:05
836
转载 C语言static变量详解
在 C 语言中,static 关键字不仅可以用来修饰变量,还可以用来修饰函数。在使用 static 关键字修饰变量时,我们称此变量为静态变量。静态变量的存储方式与全局变量一样,都是静态存储方式。但这里需要特别说明的是,静态变量属于静态存储方式,属于静态存储方式的变量却不一定就是静态变量。例如,全局变量虽然属于静态存储方式,但并不是静态变量,它必须由 static 加以定义后才能成为静态全局变量。1、隐藏与隔离作用上面已经阐述过,全局变量虽然属于静态存储方式,但并不是静态变量。全局变量的作用域是整个源程
2022-03-06 15:54:13
3627
4
转载 C语言-#ifndef的作用
转载自:https://www.cnblogs.com/codingmengmeng/p/7221295.html#ifndef 是"if not defined"的简写,是预处理功能(宏定义、文件包含、条件编译)当中的条件编译,可以根据是否已经定义了一个变量来进行分支选择,其作用是:1、防止头文件的重复包含和编译;2、便于程序的调试和移植;下面分别举例描述。一、防止头文件的重复包含和编译错误示范:headfile_1.h#include <iostream>class C.
2022-03-05 18:41:33
2499
原创 通过TMS320F28335学习DSP的开发流程——28335的基础知识(2)
1、创建工程模板——CCS6一个完整的基础工程有哪些文件所构成呢?①首先需要仿真调试或者flash烧写所需的.cmd文件和DSP的BIOS或nonBIOS .cmd文件。②其次需要我们使用的芯片的.ccxml目标配置文件。③芯片内核及外设.c源文件,比如DSP2833x_Gpio.c、DSP2833x_PieCtrl.c等。④芯片内核及外设.h头文件,比如DSP2833x_Gpio.h、DSP2833x_PieCtrl.h等。⑤DSP .lib库文件,常用的如IQmath.lib等。
2022-03-04 21:11:41
3039
原创 通过TMS320F28335学习DSP的开发流程——28335的基础知识(1)
1、TMS320F28335内核的主要特点①F28335 DSP集成了DSP和微控制器的长处,如DSP的主要特征、单周期乘法运算,F28335能够在一个周期内完成32x32位的乘法累加运算,或者两个16x16位乘法累加运算,而同样32位的普通单片机则需要4个周期以上才能完成②快速的中断响应③可在任何内存位置进行单周期读、修改、写操作④可采用C/C++编程软件,效率非常高2、处理器的主要资源①32位浮点DSP,主频是150MHz,方便电机控制、电力设备控制及工业控制等。②片上存储器:FLASH–
2022-03-04 20:34:25
20211
原创 C语言单链表创建(基础)
最近在刷题重温C语言的基础知识。关于单链表的创建还有一些不懂,参考了网上的代码,做一下笔记。1、单链表的创建与赋值#include <stdio.h>#include <stdlib.h>struct node{ int data; struct node* next;};int main(){ //创建一个单链表并输出数值 struct node* head, * p, * q, * t; int i, n, a; scan
2022-03-04 11:35:46
3509
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人