- 博客(48)
- 资源 (2)
- 收藏
- 关注

原创 unet模型及代码解析
什么是unet一个U型网络结构,2015年在图像分割领域大放异彩,unet被大量应用在分割领域。它是在FCN的基础上构建,它的U型结构解决了FCN无法上下文的信息和位置信息的弊端(下文细说)Unet网络结构主干结构解析左边为特征提取网络,右边为特征融合网络特征提取网络由两个3x3的卷积层(RELU)再加上一个2x2的maxpooling层组成一个下采样的模块,一共经过4次这样的操作特征融合网络由一层反卷积+特征拼接concat+两个3x3的卷积层(ReLU)反复构成,一共经过4次这样的操
2021-11-06 13:01:49
41850
8

原创 【深度学习】-pytorch新手入门经验,完整代码+详细注释
第一阶段:拿来主义1.学会如何用torch方式:看大量博文,将手写数字识别用torch做出来成果:成功做出效果import torchfrom torchvision import datasets,transformsimport torchvisionfrom torch.autograd import Variableimport numpy as npimport matplotlib.pyplot as pltfrom torch.utils.data import Data
2021-10-23 10:55:59
1495
原创 【linux网络】IO多路复用select、epoll的区别,含示例代码
解耦操作:服务器等待 、服务器处理数据客户端不活跃 (无数据传输)时,服务器不等待,直接挂起服务器只处理活跃客户端IO (有数据传输)
2023-09-24 13:32:27
37
原创 c++-深浅拷贝
浅拷贝是一种拷贝方式,它只是简单地复制对象的值或引用。这意味着原对象和新对象会共享相同的内存,对其中一个对象的修改可能会影响另一个对象。通常用于处理栈上分配的对象,如基本数据类型或对象的引用。深拷贝是一种拷贝方式,它会在堆区重新分配内存并复制对象的内容。这意味着原对象和新对象是完全独立的,对其中一个对象的修改不会影响另一个对象。通常用于处理动态分配内存的情况,如指针指向的数据。
2023-09-19 14:37:38
34
原创 【音视频】ffplay解析-音视频同步
视频慢了则丢掉部分视频帧(视觉->画⾯跳帧)主要:以音频为基准,让视频合成音频。视频快了则继续渲染上⼀帧。
2023-09-19 14:05:17
549
原创 C++类型转换
并确保它们不会引入潜在的错误或不安全的操作。良好的代码设计和类型安全性是更重要的目标。:动态类型转换,用于基类和子类之间的转换,要求有虚函数,不安全则返回NULL。:静态类型转换,用于基本数据类型、继承关系中的向上转换,空指针转换。:底层数据重新解释,用于指针、引用、算术类型等,不保证类型安全。:修改const属性,用于指针和引用,可添加或删除const。虽然类型转换是一种有用的工具,但在项目中应。
2023-09-19 10:01:07
33
原创 c++语法-模板
模板是C++中一种强大的特性,允许你编写通用的代码,以便在不同数据类型上重复使用。模板分为函数模板和类模板,它们都是在编译时生成具体代码的蓝图。
2023-09-18 15:32:41
120
原创 ffplay源码解析-main入口函数
启动线程:解复用,解码,播放等线程都在stream_open中启动。变量、缓存区、SDL窗口初始化等。播放、暂停、快进、快退等操作。
2023-09-17 16:37:10
335
原创 【音视频】ffplay源码解析-FrameQueue队列
如果只用一个连续数组表示一个队列,没有其他标志位。因为这⾥存储的是解码后的数据,不宜设置过⼤。则无法判断队列状态是队满还是队空。
2023-09-17 15:47:47
210
原创 【音视频】FLV封装格式
位置:Timestamp:每一个Tag的头信息第5个字节-第7个字节,一共三个字节TimestampExtended:还有一个扩展字节一共4个字节时间戳占4个字节 其中第四个字节是⾼位 前三个字节是低位(每个tag的5~8字节),毫秒级。
2023-09-16 00:12:15
302
原创 【音视频】H264视频压缩格式
H.264从1999年开始,到2003年形成草案,最后在2007年定稿有待核实。在ITU的标准里称为H.264,在MPEG的标准里是MPEG-4的一个组成部分-MPEG-4 Part 10,又叫Advanced Video Codec,因此常常称为MPEG-4AVC或直接叫AVC。
2023-09-15 23:48:30
171
原创 【音视频】AAC音频压缩格式
总结:ADTS可以在任意帧解码,也就是说它每一顿都有头信息【默认使用格式】ADIF只有一个统一的头,所以必须得到所有的数据后解码【一般不使用】
2023-09-15 23:09:59
180
原创 多线程笔记
安装信号 或者 信号注册函数注册某一个信号后,会重写系统对应的信号函数比如导致ctrlc无效信号处理函数重写系统信号处理函数,接收到信号后会 自动中断进程,先执行信号处理函数内容,执行完之后再执行后面的进程代码//信号处理函数printf("已收到SIGNT信号\n");exit(0);//安装信号//注意绑定。
2023-08-30 23:32:39
21
原创 linux学习笔记
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wMYnIh3e-1691403061327)(D:\IOT-QF\文档\学习记录\img\image-20230704174140848.png)]打开文件之后的默认模式,可以执行特定的指令,如i, o, a,O等,如果按i表示,进入插入模式。在编辑模式下,按shift :进入命令行模式。输入文件内容,按ESC退出插入模式,进入编辑模式。自动补全+历史命令——Tab+双Tab+上下键。man——查看帮助信息。
2023-08-07 18:10:37
14
原创 Java接口
接口基础定义一种对类的约束,规定统一的方法名,参数,返回值类型需求:要生产很多具有相同功能,不同内容的对接工具(多对一)——比如USB接口和其他可拆卸硬件设备在项目架构中,必须先把接口文件写好,之后在实现功能就行了接口代码package base.接口_new;//定义接口public interface UsbInterface { public void start(); public void stop();}实现接口手机类package base.接口_n
2022-01-28 16:53:48
446
原创 网络编程概念
1.1 网络通信概念网络编程的目的连接,信息交换网络编程中两个主要问题如何准确定位到网络上的一台或多台主机找到主机后如何进行通信网络编程的要素地址ip_公网ip/内网ip端口号网络通信协议javaweb:网页编程 B/S网络编程 TCP/DCP1.2 ipip地址:inetAddress唯一定位一台网络上的计算机127.0.0.1:本机localhostip地址的分类ipv4 / ipv6ipv4 127.0.0.1 , 4个字节,0-255
2022-01-22 19:25:33
1490
原创 使用flask_SQLAlchemy如何创建一对多关系表数据库(sqlite3)
使用flask_SQLAlchemy如何创建一对多关系表数据库(sqlite3)from flask_sqlalchemy import SQLAlchemyfrom flask import Flask# 先连接数据库app = Flask(__name__)app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///test.sqlite3"app.config['SQLALCHEMY_ECHO'] = False # 日志app.config
2022-01-13 13:17:04
676
原创 java中public/private/protected的具体区别
java中public/private/protected的具体区别public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用。protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。...
2021-12-07 09:47:34
7267
原创 numpy ValueError: cannot reshape array of size 200704 into shape (1,3,224,224)
报错ValueError: cannot reshape array of size 200704 into shape (1,3,224,224)解决如何将200704—2242244像素转变成2242243像素————png转jpgfile_path = 'work/216_cir_1_r95.png'im = Image.open(file_path) # 将一个4通道转化为rgb三通道img = im.convert("RGB")pri
2021-12-02 13:23:18
3610
转载 numpy reshape与resize区别
reshape :1)reshape-1:无返回值的reshape;2)reshape-2:有返回值的reshape。注意:把array reshape成一个新的结构,但是不会改变原来的array,也不会改变array原本的数据,比如下图 # error 所显示,若强制把8个数据reshape成(2,3)则会报错。resize:1)resize-1:无返回值的resize,会改变原来array的shape;2)resize-2:有返回值的resize,不会改变原来array的shape;3)r
2021-12-02 13:08:59
297
原创 队列实现及其操作java版
队列实现及其操作java版静态队列–循环队列package 数据结构.队列;/* 静态队列通常都是循环队列——数组前面删掉的多了,闲置空间就无法利用在队列中,使得队列空间越用越少 1.什么是循环队列——数组中两个指针内区间域作为队列域,循环的是指针, 2.循环队列结构——有限数组,头指针(int),尾指针(int) 3.头尾指针不同场景下的含义: (1)初始化:front=rear=0 (2)队列非空:front指向队列第一个元素;re
2021-12-01 15:01:08
427
原创 python列表推导式总结公式
首先总结ls = [循环变量 循环语句 循环语句… 条件语句]列表推导式就是将循环变量放入列表举个例子# 百元百鸡问题ls = [[f'公鸡:{i}',f'母鸡:{j}',f'小鸡:{k}'] for i in range(20) for j in range(33) for k in range(101) if i + j + k == 100 and i*5 + j*3 + k/3 == 100]print(ls)...
2021-11-23 20:31:58
470
原创 数据结构-栈的实现及其操作【java】
数据结构-栈的实现及其操作【java】静态栈的实现package 数据结构.栈;//以数组定义栈体——静态栈的实现class Strack { //该栈最大空间为100 int[] strack = new int[100]; //top为最顶端层数加1,top从零开始 int top; Strack() { //定义一个索引变量,表示栈顶指针 int top = 0; } //显示栈的元素 pub
2021-11-23 15:14:08
181
原创 【爬虫】BeautifulSoup的使用
安装pip install beautifulsoup4pip install lxml使用1. 导入html文档soup = BeautifulSoup(html_doc,'lxml')2.获取标题的内容print(soup.title.string)3.获取 p 标签里面的内容print(soup.p.string)4.获取 title 的父级标签print(soup.title.parent.name)5.获取超链接print(soup.a)6.获取所有超链接p
2021-11-18 12:27:25
561
原创 双链表实现增插删改查操作
双链表实现增插删改查操作增加元素操作思路遍历寻找到尾节点(节点next为null),将尾节点next指向参数节点就ok具体方法先遍历找到链表的最后节点new一个新节点(这里因为将新节点作为参数,故无需new)将上一个节点的next变量指向新节点将新节点的last变量指向上一个节点public void append(HeroNode_2 heroNode) { //因为头结点不能动,所以需要一个辅助遍历变量temp HeroNode_2 temp =
2021-11-17 19:28:48
251
原创 双链表实现Java版
双链表构造每个节点可以存放到离散空间中,利用指针将每个节点串起来节点由数据域与指针域组成,指针域存在两个指针,一个指向上一个节点,一个指向下一个节点存在一个头结点,无数据域,只有一个指针指向首节点,方便后续操作尾节点指向下一个节点的指针为null与单链表的区别双链表每个节点有两个指针,一个指针指向前一个节点,一个指针指向后一个节点;而单链表每个节点只有一个指针,指向下一个节点Java中伪指针的表示——浅拷贝类名 变量 = 对象名这种不用new的实例化,让变量可以作为指针使用(内存地址相同
2021-11-17 19:12:39
213
原创 matplotlib的subplot使用
应用场景subplot用来将多个图拼在一张图上展示出来代码展示简单一句话subplot(331)表示将整个figure分成三行三列,并将该图形放在第1个网格中后面用imshow(img)接入一张要显示的图最后用show()将图片展示...
2021-11-16 14:18:09
2034
原创 Java版单链表实现增插删改查
单链表实现增插删改查操作增加元素操作思路:遍历寻找到尾节点(节点next为null),将尾节点next指向参数节点就okpublic void add(HeroNode heroNode) { //因为头结点不能动,所以需要一个辅助遍历变量temp HeroNode temp = head; //遍历链表,找到最后一个节点,该节点next变量为null //简洁版 // while (temp.next != null) { //
2021-11-13 21:30:17
906
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人