Ao_Richard
码龄5年
关注
提问 私信
  • 博客:90,005
    90,005
    总访问量
  • 107
    原创
  • 28,230
    排名
  • 1,017
    粉丝
  • 学习成就

个人简介:个人学习理解笔记

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2020-04-21
博客简介:

qq_47258284的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    4
    当前总分
    921
    当月
    23
个人成就
  • 获得1,486次点赞
  • 内容获得28次评论
  • 获得1,404次收藏
  • 代码片获得138次分享
创作历程
  • 108篇
    2024年
  • 1篇
    2023年
成就勋章
TA的专栏
  • Linux
    60篇
  • 应用编程
    19篇
  • STM32
    5篇
  • V4L2
    5篇
  • USB
    5篇
  • 驱动开发
    5篇
  • 移植
    10篇
  • Leecode
    13篇
  • 二叉树
    13篇
  • QT
    2篇
  • 回溯算法
    2篇
  • 机器视觉
    1篇
  • 栈与队列
    2篇
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

linux自由软件安装--configure脚本

但如果你进行源码包安装的时候没有指定位置(默认值一般为/usr/local/),或指定的位置为--prefix=/usr/local,则这时候你安装软件生成的文件将分别存储在/usr/local/里面的bin、lib或ect等目录中,这时候卸载起来就相对麻烦一点了。上面的意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share.
转载
发布博客 2024.09.23 ·
220 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

运用海康SDK发生的的错误代码分析

修改完第一个结构体类型后,再修改它的结构体成员,并在后面sprintf_s的传参中传入char* pcImagePath类型的参数;SaveImageToFile函数需要的参数类型为MV_SAVE_IMAGE_TO_FILE_PARAM_EX。关于文件路径参数可以按自己的实际情况修改,至此修改完成。时出现保存图片的错误,可以此篇为参考修改。可能也有朋友在使用这位大佬的代码。因为在下面第349行代码中。
原创
发布博客 2024.08.21 ·
485 阅读 ·
8 点赞 ·
5 评论 ·
5 收藏

QT入门(二)信号槽

然后在mainwindow源文件中实例化对象,连接信号槽,就发送信号触发槽函数。所以需要指定父对象,在父对象析构时,new的子对象也会被析构,防止内存泄漏。在mainwindow.h头文件中包含新建类的头文件、声明类、声明类对象。在此事例中,需要在学校类中声明信号、在学生类中声明并定义槽函数。
原创
发布博客 2024.08.05 ·
260 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

QT入门(一)C++基础和QT启动文件分析

是成员列表的初始化,要注意初始化的顺序符合mainwindow.h中class mywindow的顺序。其中class MyWindow和Ui:MyWindow是不一样的,印务诶实在不同的命名空间。
原创
发布博客 2024.08.05 ·
398 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

51、回溯之N皇后

1、棋盘的生成std::vector<std::string> chessboard(n, std::string(n, '.'));创建一个n×n的棋盘。3、终止条件的判断,棋盘是n行的,为回溯函数传入的行数是从0开始,所以当行数row==n时,就将棋盘放入result中,结束返回。每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。
原创
发布博客 2024.07.17 ·
241 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

从零写UVC摄像头驱动(二)数据传输

当USB插上主机,就会产生两个接口(VC和VS),然后获取到USB描述符并解析,从而设置摄像头(比如分辨率、格式);然后分配缓冲区,启动摄像头,便从USB得到摄像头采集数据,保存到缓冲区供应用程序使用。详细过程看这两篇:​​​​​​​。我们在设置FORMAT时只是简单的使用video->streaming->format[fmt->index]等数据,这些数据哪来的?b. 启动ubuntu,修改/etc/default/grub。应是设备被枚举时设置的,也就是分析它的描述符时设置的。
原创
发布博客 2024.07.15 ·
536 阅读 ·
3 点赞 ·
0 评论 ·
9 收藏

从零写UVC摄像头驱动(三)设置属性

uvc_ctrl.c里数组: static struct uvc_control_info uvc_ctrls[].entity = UVC_GUID_UVC_PROCESSING, // 属于哪个entity(比如PU).selector = PU_BRIGHTNESS_CONTROL, // 用于亮度。
原创
发布博客 2024.07.15 ·
712 阅读 ·
9 点赞 ·
0 评论 ·
16 收藏

Linux--USB驱动开发(二)插入USB后的内核执行程序

USB设备描述符(usb_device_descriptor)USB配置描述符(usb_config_descriptor)USB接口描述符(usb_interface_descriptor)USB端点描述符(usb_endpoint_descriptor)一个设备描述符可以有多个配置描述符;一个配置描述符可以有多个接口描述符(比如声卡驱动就有两个接口:录音接口和播放接口)一个接口描述符可以有多个端点描述符;
原创
发布博客 2024.07.12 ·
1283 阅读 ·
23 点赞 ·
0 评论 ·
36 收藏

从零写UVC摄像头驱动(一)驱动框架

probe:2.1. 分配video_device:video_device_alloc2.2. 设置.fops.ioctl_ops (里面需要设置11项)如果要用内核提供的缓冲区操作函数,还需要构造一个videobuf_queue_ops2.3. 注册: video_register_deviceid_table: 表示支持哪些USB设备UVC驱动:drivers\media\video\uvc\
原创
发布博客 2024.07.11 ·
542 阅读 ·
4 点赞 ·
0 评论 ·
9 收藏

77、组合

题解:组合问题其实可以暴力求解,用for循环嵌套,但在此题中如果k的值很大,那就需要多层嵌套,求解困难。
原创
发布博客 2024.07.08 ·
273 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

远心镜头简介

普通工业镜头的畸变一般在1%~2%,这样的畸变通常会影响检测精度(例如实际长度为100mm的物体,使用这种镜头测得的尺寸可能是101mm~102mm;与可通过改变工作距离和重新手动聚焦来更改图像比例的普通镜头相比,远心镜头的图像比例始终不变。大家都有这种印象,一个物体在人眼看来,会有近大远小的现象。这是因为物体近的时候,在视网膜上投影大,小的时候,投影小。镜头使用,它的主要特点是在远心视角下,没有入射角引起的测量误差,与标准镜头相比,远心透视的镜头前面的光线与光轴平行。为了解决这个问题,就产生了远心镜头。
原创
发布博客 2024.07.07 ·
559 阅读 ·
4 点赞 ·
0 评论 ·
4 收藏

669、修剪二叉搜索树

给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>=L)。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。题解:与二叉搜索树删除节点操作一样,不同的是要遍历整个树,需要注意的是单层逻辑的实现。返回修剪后的节点嫁接到上层节点。
原创
发布博客 2024.07.06 ·
238 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Linux--USB驱动开发(一)USB简介

USB全称为,翻译过来就是通用串行总线。由英特尔与众多电脑公司提出来,用于规范电脑与外部设备的连接与通讯。目前 USB接口已经得到了大范围的应用,已经是电脑、手机等终端设备的必配接口,甚至取代了大量的其他接口。
原创
发布博客 2024.07.06 ·
1366 阅读 ·
30 点赞 ·
0 评论 ·
22 收藏

450、删除二叉搜索树中的节点

是 C++11 引入的一种关键字,用于自动推导变量的类型。编译器会根据变量的初始化表达式来推断变量的类型。对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。中通过递归返回值来加入新节点, 这里也可以通过递归返回值删除节点。遇到空返回,其实这也说明没找到删除的节点,遍历到空节点直接返回了。1)对单层递归逻辑即找到key值时的五种情况的分析。这里就把二叉搜索树中删除节点遇到的情况都搞清楚。节点的右子节点赋值给一个自动类型推导的变量。给定一个二叉搜索树的根节点。
原创
发布博客 2024.07.04 ·
248 阅读 ·
4 点赞 ·
0 评论 ·
4 收藏

Linux--V4L2摄像头驱动框架及UVC浅析

对于一个usb摄像头,它的内核驱动源码位于/drivers/media/usb/uvc/核心层:V4L2_dev.c文件硬件相关层: uvc_driver.c文件本篇记录基于对6.8.8.8内核下vivid-core.c文件(虚拟视频驱动程序)的分析,梳理Linux系统中vedio视频设备的驱动框架。
原创
发布博客 2024.07.04 ·
1534 阅读 ·
13 点赞 ·
0 评论 ·
18 收藏

235、二叉搜索树的最近公共祖先

重点在return上,满足条件进入左子树递归时,就只会一直沿着左边递归,有结果了就直接结束函数返回或者满足条件进入了向右方向的递归,总之,递归了一条线然后就返回。中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]本题就是标准的搜索一条边的写法,遇到递归函数的返回值,如果不为空,立刻返回。
原创
发布博客 2024.07.03 ·
243 阅读 ·
5 点赞 ·
0 评论 ·
2 收藏

Linux--平台设备、平台驱动框架的注册源码分析

设备树dts文件中定义了设备节点,描述了硬件信息,比如寄存器信息,引脚信息等,内核将从设备树中解析得到的platform_device注册到平台总线中。具体设备树在内核中的编译流程可以看。
原创
发布博客 2024.07.03 ·
977 阅读 ·
12 点赞 ·
0 评论 ·
29 收藏

Linux--V4L2应用程序开发(二)改变亮度

创建一个新线程用来控制亮度,线程通过读取用户输入来增加或减少亮度值,并使用ioctl函数将新亮度值设置到视频设备。
原创
发布博客 2024.07.02 ·
373 阅读 ·
8 点赞 ·
0 评论 ·
0 收藏

501、二叉搜索树中的众数

所以其实不用遍历两遍:先遍历一遍找到长度最大的,再遍历一遍符合把这个长度val输出。先设立一个maxCount值,并从一开始就将符合的值放进去,之后动态的改变maxCount,当遍历得到的count比现在的maxcount更大时,就更新maxcount,并且把之前放进reslut的值都清空,把新的放进去。要点:重点在单层逻辑的处理中,因为是搜索树,所以按照中序遍历的话节点的值是递增的,所以形象化的可以将二叉树想成一段一段递增的数列,要找到众数,就是找到哪一段或几段是最长的。,找出并返回 BST 中的所有。
原创
发布博客 2024.07.01 ·
413 阅读 ·
8 点赞 ·
0 评论 ·
3 收藏

Linux--V4L2应用程序开发(二)获取数据

ioctl VIDIOC_REQBUFS:申请buffer,APP可以申请很多个buffer,但是驱动程序不一定能申请到ioctl VIDIOC_QUERYBUF和mmap:查询buffer信息、映射如果申请到了N个buffer,这个ioctl就应该执行N次执行mmap后,APP就可以直接读写这些bufferioctl VIDIOC_QBUF:把buffer放入"空闲链表"如果申请到了N个buffer,这个ioctl就应该执行N次ioctl VIDIOC_STREAMON:启动摄像头。
原创
发布博客 2024.06.28 ·
876 阅读 ·
19 点赞 ·
0 评论 ·
11 收藏
加载更多