自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 音视频学习_01_YUV原理

YUV是一种常见的视频像素格式,由亮度分量(Y) 和 色度分量(U、V) 组成。Y分量:表示亮度(灰阶值),决定图像的亮暗程度。也就是我们经常说的灰阶值,相当于一副灰色的图像。U分量:表示蓝色偏移(去掉亮度后的蓝色信息)。V分量:表示红色偏移(去掉亮度后的红色信息)。如果只有Y分量(没有U、V分量),图像会变成黑白。因此,YUV格式广泛应用于视频编解码和彩色电视系统,以有效分离亮度和色彩信息。

2025-03-25 13:59:05 555

原创 树莓派安装opencv

打开python交互模式,输入下面命令,会输出版本。1.安装opencv。3.验证opencv。

2025-03-11 15:21:36 138

原创 垃圾桶项目-开机自启usb摄像头(补充)

然后在和开发板同一局域网的 Ubuntu PC 或者 Windows PC 或者手机的浏览器中输入【开发板的 IP 地址:8080】就能看到摄像头输出的视频了。通过 v4l2-ctl 命令可以看到 USB 摄像头的设备节点信息为/dev/video0。首先将 USB 摄像头插入到 Orange Pi 开发板的 USB 接口中。然后通过 lsmod 命令可以看到内核自动加载了下面的模块。使用 mjpg-streamer 测试 USB 摄像头。至此,开机自启usb摄像头完成!mjpg.desktop的内容。

2025-03-01 21:57:22 512

原创 基于香橙派的智能垃圾桶项目(二)

上文已经成功完成了简单的识别功能,这篇文章添加舵机开盖功能。

2025-01-18 18:08:32 174

原创 基于香橙派的智能垃圾桶项目(一)

图像处理使用阿里SDK支持Python和Java接口,目的是引入C语言的Python调用。具体还是根据示例代码来执行,防止后续开发出现问题。简陋的代码部分完成,现在对语音模块配置。修改示例py代码garbage.py。c语言调用代码garbage.c。根据文档教程开通账号创建并获取。头文件uartTool.h。头文件garbage.h。串口uartTool.c。配置完成后产看是否成功。

2025-01-17 15:01:34 263

原创 SQLite数据库安装

【代码】SQLite数据库安装。

2025-01-13 22:34:46 182

原创 linux热插拔UDEV机制

守护进程linuxU盘自动挂载

2025-01-13 18:36:18 329

原创 api地址残缺问题

用代码生成器生成一个http请求的代码的时候,如果我们将 api 地址的 http:// 不添加,那么生成的代码是没法直接使用的。下面我用一段示例来简单将一个没有http://的api地址补充完整。基于上面的问题我们使用。

2024-05-30 21:39:32 169

原创 gRPC流式示例

在上面的示例中,客户端发起了一个RPC请求到服务端,服务端进行业务处理并返回响应给客户端,这是gRPC最基本的一种工作方式(Unary RPC)。除此之外,依托于HTTP2,gRPC还支持流式RPC(Streaming RPC)。

2024-05-12 16:30:37 438

原创 protobuf中使用oneof、WrapValue和FieldMask

假设我的博客系统支持为读者朋友们发送博客更新的通知信息,系统支持通过邮件和短信两个方式发送通知。但每一次只允许使用一种方式发送通知。在这个场景下我们就可以使用oneof字段来定义通知的方式——notice_way。// 通知读者的消息类似这种场景推荐使用中定义的WrapValue,本质上就是使用自定义message代替基本类型。在这个示例中,我们就可以使用Int64Value代替int64,修改后的protobuf文件如下。

2024-05-11 13:48:35 1234 1

原创 gRPC快速上手

在你的项目目录下执行以下命令,获取 gRPC 作为项目依赖。

2024-05-09 21:11:55 619

原创 go语言入门

Go语言中的一种特殊类型,一种“元素对”的无序集合元素对包含一个key(索引)和一个value(值),也称为“关联数组”。方法是作用在接受者(receiver)上的一个函数,接受者是某种类型的变量。匿名函数也称为“闭包”,是指一类无需定义标识符(函数名)的函数或子程序,匿名函数往往以变量方式被传递。数组是值传递类型,切片(slice)是对数组的一个连续“片段”的引用,所以切片是一个引用类型。匿名函数的优越性在于:可以直接使用函数内的变量,不必声明。接口本质是一种类型,(指针类型),接口可以实现多态功能。

2024-04-18 18:54:25 956 1

原创 go-微服务初始

它允许像调用本地服务一样调用远程服务。微服务启动后,将自己IP和端口进行注册,客户端查询注册,得到提供服务的IP和端口,通过负载均衡,访问微服务。② client stub接收到调用后负责将方法、参数等组装成能够进行网络传输的消息体;RPC 让远程调用就像本地调用一样,其调用过程可拆解为以下步骤。① 服务调用方(client)以本地调用方式调用服务;⑥ server stub根据解码结果调用本地的服务;⑦ 本地服务执行并将结果返回给server stub;首先与RPC(远程过程调用)相对应的是本地调用。

2024-04-18 18:53:18 1028 1

原创 linux学习杂记

注意:使用rm命令删除的文件和文件夹不会出现在回收站,因此会永久删除,使用时需要谨慎。1.tgz格式解压缩。

2024-03-03 20:05:48 252 1

原创 ubuntu无法与win进行复制粘贴

安装工具open-vm-tools 安装open-vm-tools-desktop 重启

2024-03-02 14:36:12 345

原创 Git学习

查看分支git branch创建分支git branch 分支名称切换分支git checkout 分支名称分支合并(可能产生冲突)git merge 要合并的分支名注意:切换分支在合并删除分支git checkout -d 分支名称。

2024-02-29 20:48:27 229

原创 Go Web 开发

跑起来的效果:RESTful API(后面会用go实现)REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”或“表现层状态转化”。简单来说,REST的含义就是客户端与Web服务器之间进行交互的时候,使用HTTP协议中的4个请求方法代表不同的动作。Gin框架支持RESTful API的开发。示例:搭配Postman使用在下面的代码片段里面涉及到了 如何 自定义模版函数 加载静态模版 的方法:JS

2024-02-12 11:36:06 1064 1

原创 Context使用方式

在context学习中,我脑子里一直回响这句话:如何优雅的实现结束子goroutine。

2023-11-13 23:01:50 72

原创 Gin笔记

注意把这个函数要放在加载模版前(

2023-10-31 22:29:08 108 1

原创 Gin框架基础配置

Linux平台示例:full_bin = "APP_ENV=dev APP_USER=air ./tmp/main.exe"# Windows平台示例: cmd = "go build -o ./tmp/main.exe ."4.代码开发时需要不断的修改代码,然后重新编译启动程序,需要重复性的执行相关命令,如果使用。# 使用 . 或绝对路径,请注意 `tmp_dir` 目录必须在 `root` 目录下。# air的日志文件名,该日志文件放置在你的`tmp_dir`中。看到这里,我们的路刚刚开始!

2023-10-19 23:25:14 302

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除