- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 opencv-cuda开发(5)当工作量远大于线程量时的跨步处理,拓展到图像处理领域
每次线程里都去跳着完成多次求差运算,循环覆盖整个数据存储区域
2023-08-15 15:41:55 242
原创 opencv-cuda开发(4)对图像在cuda内存存放和映射的理解
使用的是行优先进行线性存储,相当于把二维数组按行展开,每一行一个线程块,这样展开成一维数组要所应到展开得到的一维数组的某个特定值,采用的方式就是行展开后,这里的X是有增长的,但是Y没有,所以TID只由X轴索引而来上图中的NX=8就代表blockDim.x=8blockIdx.x代表的是row 0 到row 5 也就是对应ny公式就能得出来 idx = iy * nx + ix;所以说,要通过一维索引的方式索引到44数组的(1,3)这一个数据就是要在4。
2023-08-15 15:06:06 279
原创 基于VS2019,利用paddle-ocr源码生成DLL文件
首先修改上文中的代码,因为paddle-ocr源码会将每幅图里的字符串分开,标上坐标但是对我的应用来说,我只需要读取当前的全部字符即可,不需要用到两维的向量,而且二维的向量也不利于函数返回。
2023-08-09 15:45:26 1731 1
原创 opencv-cuda开发(3)自定义cuda核函数实现RGB图像转灰度图像和背景差分批处理
前文的基础上,加入背景差分实现:读取一张背景图片,上传GPU,在cuda核函数内差分,然后输出为视频文件
2023-08-02 16:32:10 132
原创 opencv-cuda开发(2)自定义cuda核函数实现RGB图像转灰度图像批处理
然后编写一个应用,通过视频读入1000帧图像,批上传,批处理,批下载,然后写入视频文件观察结果。学习了下cuda编程在图像处理方面的应用,试水以下灰度处理。观察输出视频文件,发现灰度处理成功。首先完成 .cu文件。
2023-08-02 14:04:54 390 1
原创 opencv-cuda开发(1):opencv-cuda对比CPU的加速测试
问:为什么会出现使用cv::cuda::absdiff的处理函数,运算速度还比不过CPU版本的cv::absdiff?答:使用处理函数时,CUDA加速的性能优势并不是绝对的,它取决于很多因素。数据传输开销:CUDA涉及将数据从主机(CPU)传输到GPU,以及从GPU传输回主机。如果处理的图像大小较小,数据传输的开销可能会导致CUDA版本的运算速度比CPU版本慢。启动开销:在CUDA版本中,启动GPU核函数涉及GPU上下文的切换和其他开销,这可能在处理小图像时成为瓶颈。
2023-08-01 11:16:04 2614 1
原创 VS2019环境下OPENCV开发环境配置的几点细节
我这是将debug和release都放在了一起,这里细节是必须将两个BIN文件夹和LIB文件夹合并。之前不太熟悉VS开发流程,就只合并了LIB文件夹,报错报吐了然后去把BIN和LIB文件夹都添加到系统PATH。
2023-07-26 14:21:42 185
原创 基于QT5.14.2的OPENCV4.8.0的cuda11.4开发环境搭建和源码编译
为了在WINDOWS环境中可以运行OPNECV CUDA程序,对源码进行编译,包括CUDA驱动和CUDNN的环境配置过程
2023-07-25 14:33:02 2797 1
原创 基于STM32F407+W5500的freemodbus tcp移植与实现
基于STM32F407+W5500的freemodbus tcp移植与实现
2022-11-15 15:02:41 6814 11
原创 RT-thread 基于FAL架构的easyflash移植
基于SFUD + FAL架构的easyflash移植 W25Q128 STM32F429
2022-10-25 16:45:14 519
原创 rtthread通过SFUD、FAL、RT--YMODEM-OTA实现在线升级IAP
rtthread通过SFUD、FAL、RT--YMODEM-OTA实现在线升级IAP平台:STM32F103ZET6开发工具:STM32CUBEMX / RTTHREAD STUDIO
2022-10-23 22:07:58 2412
原创 GD32F303基于USBD库的usb custom hid 双向通讯实现
GD32F303芯片,基于GD官方的USBD库实现usb custom hid 双向通讯,类似串口收发
2022-09-29 17:14:36 5438 8
原创 1553B通信项目开发笔记(二)bu61580芯片介绍
BU-61580是DDC公司在90年代初研制的一种可在处理机与1553B总线之间全集成化的接口芯片,该芯片有如下几个特点:1)全集成化的1553B总线标准的终端接口。2)小型陶瓷封装,面积为1.9 平方英寸,70引脚的双列直插式组件(DIP)。3) BC/RT/MT- 体化设计。4)灵活的存储器/处理器接口: 16位缓冲/透明、8位缓冲、16位DMA及16位双口RAM。5)内部4K字共享RAM,可外扩64K字RAM。6)先进的BC特性:帧自动重复、自动重试、帧时间间隔可编程等。......
2022-05-12 15:32:09 9674 1
原创 1553B通信项目开发笔记(一)协议概述
最近接了个项目,需要用1553B协议通信,仅作为RT端口进行通信,控制器采用ARM使用芯片为国产的BU61580芯片,功能和引脚和DDC的61580完全一致。
2022-05-11 19:31:44 15348 5
原创 FPGA静态时序分析——IO口时序(理论推导)
1.1 概述 在高速系统中FPGA时序约束不止包括内部时钟约束,还应包括完整的IO时序约束和时序例外约束才能实现PCB板级的时序收敛。因此,FPGA时序约束中IO口时序约束也是一个重点。只有约束正确才能在高速情况下保证FPGA和外部器件通信正确。1.2 FPGA整体概念 由于IO口时序约束分析是针对于电路板整个系统进行时序分析,所以FPGA需要作为一个整体分析,其中包括FPGA的建立时间、保持时间以及传输延时。传统的建立时间、保持时间以及传输延时都是针对寄存器形式的分析。但是针对整个系统..
2022-01-06 11:01:57 923
原创 fpga建立时间与保持时间的探讨
时钟是整个电路最重要、最特殊的信号,系统内大部分器件的动作都是在时钟的跳变沿上进行, 这就要求时钟信号时延差要非常小, 否则就可能造成时序逻辑状态出错;因而明确FPGA设计中决定系统时钟的因素,尽量较小时钟的延时对保证设计的稳定性有非常重要的意义。 1.1 建立时间与保持时间 建立时间(Tsu:set up time)是指在时钟沿到来之前数据从不稳定到稳定所需的时间,如果建立的时间不满足要求那么数据将不能在这个时钟上升沿被稳定的打入触发器;保持时间(Th:hold time)是指数据稳定...
2022-01-04 15:32:42 1730
原创 STM32H743IIT6+USB3300,USB_HS高速双向HID通讯开发
STM32H743IIT6+USB3300开发,环境为STM32CUBEMX+MDK5.27开发目的:实现与电脑的USB_HS高速通讯,通过ULPI接口外接PHY芯片。板子为微雪open743,模块USB3300也是微雪家的,之前单独买了一个USB3300模块搭配自己手里的743核心板(杜邦线连接),发现USB枚举无法正常。无奈之举,买了一块微雪的开发板。项目着急开发程序,板子只能买,全网做USB3300模块也就微雪一家。开发流程:1、微雪只提供了USB_HS的HID和MSC例子,其
2021-05-26 11:21:58 15273 15
GD32F303RC_demo_letter_shell
2022-08-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人