- 博客(185)
- 收藏
- 关注
原创 2022.08.31 交叉编译进展
最近完成了几个任务,编译了OpenCV+dmyx+zxing,Nt,CUPS。收到任务后要和客户充分沟通,把需要的信息全部明确。
2022-09-01 07:12:23
1318
2
原创 2022.07.01 C++并发编程笔记01
C++并发编程笔记011. 启动线程的几种方式头文件#include <thread>方式1:普通函数void do_some_work();std::thread my_thread(do_some_work);方式2:可调用对象class background_task{public:void operator()() const{ do_some_work(); do_some_other_work(...
2022-07-30 16:50:29
326
原创 2022.07.28 Linux设备驱动的软件架构思想
Linux设备驱动的软件架构思想Linux设备驱动的软件架构Linux设备驱动非常重视软件的可重用和跨平台能力。最好能把设备端的信息从驱动里面剥离出来,让驱动以某种标准方法拿到这些平台信息(设备树方式)。Linux总线,设备和驱动模型,驱动只管驱动,设备只管设备,总线则负责匹配设备和驱动。驱动以标准途径拿到板级信息,则驱动可以放之四海而皆准。将软件进行分层设计是软件工程最基本的一个思想。Linux设备驱动框架设计中还有分隔的思想。对主机控制器驱动和外设驱动进行分离。外设驱动与主机控制器
2022-07-30 15:42:23
255
原创 2022.07.29 Linux矩阵键盘驱动开发笔记2
@岭南码农夫这是之前帮客户开发Linux矩阵按键驱动时记录的笔记。1. 在SCAN函数和probe函数里添加详细打印,编译内核和ko文件,更新内核,下载ko后测试。只按下K1键,然后详细分析日志。发现K1按键被识别为6行6列。2. 日志中打印了probe函数从DTS拿到的GPIO编号列表,经分析与DTS一致。3. 考虑可能与GPIO引脚顺序有关,于是分析几种可能的情况。当前情况为ROW 0 GP1ROW 1 GP2ROW 2 GP3ROW 3 GP4ROW 4 GP5ROW 5
2022-07-30 15:06:58
541
原创 2022.07.30 Linux矩阵按键驱动笔记1
这是之前帮客户开发矩阵键盘驱动时记录的笔记。1. 行GPIO必须为输入,列GPIO必须为输出。2. 硬件原理图上的引脚与DTS文件中的引脚必须匹配。3. X30.dts中要配置行,列对应的键值,还有GPIO引脚复用关系。4. linux.keymap, 030100xx,其中03为行,01为列,00xx为键值。5. 改DTS以后要编译生成DTB,并更新到板上。6. matrix_keypad.c中会读取并解析DTS中的配置信息。7. DTS文件包含.h文件和.dtsi文件。...
2022-07-30 14:15:20
430
原创 2022-06-22 用python合并多个文本文件
#路径C:\PythonTest下有2组文件,一组为aX.txt,一组为bX.txt#C:\PythonTest\txt目录下有集合.txt文件用于存放合并后的文件内容#找出全部以b为前缀的文件名的文件,将他们的内容全部读取到集合.txtimport osdef getAllTxt(): # 文件夹目录 path = "C:\\PythonTest" # 得到文件夹下的所有文件名称 files= os.listdir(path) print(files)...
2022-06-22 23:21:16
1021
1
原创 2022-06-20 C++ boost学习杂记之一
1. pool内存池,用于分配基本数据类型的内存,如int型。2. object_pool用于分配类类型的内存,如自定义的类。3. operators用于简化操作符重载的定义,只需定义
2022-06-20 09:09:16
297
原创 2022-05-25 Ubuntu下编译Windows exe文件的方法
第1步,在Ubuntu下打开以下文件:sudo gedit /etc/apt/sources.list第2步,在文件末尾添加如下语句:deb http://us.archive.ubuntu.com/ubuntu trusty main universe第3步,保存并关闭文件第4步,输入以下两条命令安装mingw32sudo apt-get updatesudo apt-get install mingw32第5步,写一个cpp文件#include <iostream>
2022-05-25 00:10:00
1089
原创 2022-05-20 基于HackFun OpenCV开发板开发应用程序的步骤介绍
1. 打开Ubuntu2. 执行sudo /opt/start qt.sh启动Qt Creator3.
2022-05-22 13:23:17
262
原创 2022-05-18 在HackFun OpenCV开发板上验证代码之极坐标变换
void MainWindow::Test_WarpPolar_P91_C3_39(){ Mat img = imread("dial.png"); if(!img.data) { cout << "Fail to open image!" << endl; return; } Mat img1, img2; Point2f center = Point2f(img.cols / 2, img.row...
2022-05-22 09:02:20
188
原创 2022-05-17 在HackFun OpenCV开发板上验证代码之求均值和方差
void MainWindow::Test_FindMeanAndMeanStd_P65_C3_12(){ float a[12] = {1, 2, 3, 4, 5, 10, 6, 7, 8, 9, 10, 0}; Mat img = Mat(3, 4, CV_32FC1, a); Mat imgs = Mat(2, 3, CV_32FC2, a); cout << "get mean val" << endl; Scalar myMea...
2022-05-22 09:00:25
231
原创 2022-05-16 在HackFun OpenCV开发板上验证代码之求最值
void MainWindow::Test_FindMinAndMax_P63_C3_9(){ float a[12] = {1, 2, 3, 4, 5, 10, 6, 7, 8, 9, 10, 0}; Mat img = Mat(3, 4, CV_32FC1, a); Mat imgs = Mat(2, 3, CV_32FC2, a); double minVal, maxVal; Point minIdx, maxIdx; minMaxLoc(im...
2022-05-22 08:58:20
169
原创 2022-05-13 imwrite返回false问题
写了个简单的测试程序,用imwrite保存图像,一直运行失败,试了多种改动还是不行。后来想到执行时加上sudo,执行成功。应该是因为非root权限不允许创建新文件导致的,又填了一个坑。
2022-05-13 07:37:53
634
原创 2022-05-12 OpenCV环境安装进展
按照书中例子运行二维码通过,说明4.1.1版本安装成功。但是和之前一样还是有显示问题,要求安装gtk2.0,这个问题还没解决。后面尝试安装qt来解决。
2022-05-11 07:32:04
344
原创 2022-05-11 Ubuntu下安装OpenCV开发环境记录
开发环境虚拟机Virtual BoxUbuntu 16.04OpenCV 4.1.1详细过程:1. 从OpenCV官网下载OpenCV4.1.1版本的源码2. 待补充
2022-05-10 13:37:46
293
原创 2022-05-10 OpenCV编译进展
从官网下载了4.1.1版本的OpenCV源码,尝试编译,开始执行到一半左右也提示内存不够,然后把make -j16改为-j8,库编译通过。简单测试了一下,可以。明天再详细测试。这样看昨天编译失败可能也是这个原因,再重新试试。...
2022-05-10 07:15:46
289
原创 2022-05-08 编译OpenCV 4.5.5失败
提示无法分配内存,但我看了内存是够的。书上说编译器要求支持C++11,不知道是不是这个原因
2022-05-08 11:33:17
569
原创 2022-05-07 OpenCV编译失败找不到QRCodeDetector定义
原因是我的OpenCV库是3.4.1版本,太旧了。需要换4.0以上的版本。
2022-05-08 08:59:33
824
原创 2022-05-07 C++函数模板
当算法相同而处理的数据类型不同时,可以考虑使用函数模板,比如交换两个数据的函数,int型和double型数据,不必写两个函数,只需要写一个函数模板即可。减少了代码量,就减少了出错可能,方便维护。...
2022-05-07 08:37:24
516
原创 2022-05-01 OpenCV直线拟合
void ZhiXianNiHe(){Vec4f lines;vector<Point2f> point;const static float Points[10][2]={ {0.0f, 0.0f}, {10.0f, 11.0f}, {21.0f, 20.0f}, {30.0f, 30.0f}, {40.0f, 42.0f}, {50.0f, 50.0f}, {60.0f, 60.0f}, {70.0f, 70.0f}, {80.0f, 80.0f}, {...
2022-05-01 10:10:46
1562
原创 2022-04-12 Linux设备树总结
【Linux设备树总结】1. 设备树是一种描述板上硬件信息的有特定格式要求的ASCII文本文件。2. 提出设备树的目的是去掉内核代码中用于描述设备硬件信息的大量垃圾代码。3. 设备树是.dts文本文件,可以用dtc将其编译为dtb文件。4. dtb文件写入Flash。上电时由Bootloader将dtb传递给内核,内核解析dtb得到硬件信息,并据此初始化相应硬件。...
2022-04-12 12:36:08
261
原创 2022-02-21 项目进展
年后继续开发之前接到的一个私活儿项目。Opencv项目暂停一段时间,等这个搞完了再继续。收到客户寄来的开发板,调通一项功能。其它功能一个一个开展。
2022-02-21 17:05:17
1875
原创 2022-02-16 OpenCV编译Qt
编译了Qt。之前的OpenCV代码中调用imshow失败。原因是缺少gui相关组件。试过gtk,没有成功。这次还用Qt。
2022-02-17 07:38:12
1300
原创 2022-01-27 OpenCV开发环境
1)ARM + Linux + Opencv + C++ OK2)ARM + Linux + OpenCV + Python ?
2022-02-12 03:58:13
1911
原创 2022-01-25 OpenCV代码优化
2022.02.10用cmake重新编译了全部工程代码,将代码完整的整理一遍,划分到不同的文件和类中,方便后续代码管理和新增。
2022-02-10 10:01:41
893
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人