自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python Gstreamer入门-学习笔记

Python Gstreamer入门-学习笔记  历时一个月的Python Gstreamer入门阶段接近尾声,在这里总结一下自己的学习历程。首先感谢一下Andy同学和Stephen老师的帮助和指导。1.基础知识学习阶段  首先需要了解Gstreamer是什么,有哪些基本的内容,element、pad、bin、pipeline各是什么,其中又有哪些分类。这里推荐Gsteamer的官方文档进行...

2019-07-09 13:02:16 14433 1

原创 Windows C++ 编程:UDP组播

组播报文的目的地址需使用D类IP地址,范围从 224.0.0.0到239.255.255.255。本文将分享在Windows环境下使用C++编写的UDP组播示例,不同的操作系统环境使用的头文件及函数略有不同。

2023-05-05 14:34:42 3082

原创 Python合并列表与元组

Python快速合并两个列表知识总结:列表前面加星号可将列表内容解开成独立的元素。(元组相同)如代码:a = [1 for _ in range(5)]a1 = (2 for _ in range(5))print(*a)print(*a1)#代码输出为#1 1 1 1 1#2 2 2 2 2由此可得合并列表方法:a = [1 for _ in range(5)]b = [2 for _ in range(5)]c = [ *a, *b]print(c)#代码输出为:#[

2021-06-24 17:14:43 2419

原创 ubuntu安装NVIDIA显卡驱动以及CUDA/CUDNN

ubuntu安装NVIDIA显卡驱动以及CUDA/CUDNN一、驱动及CUDA/CUDNN下载1、下载显卡驱动(1)查看显卡型号(2)驱动下载2、下载CUDA(1)查询显卡驱动版本对应的cuda版本(2)cuda下载3、下载CUDNN二、驱动及CUDA/CUDNN安装1、驱动安装2、CUDA安装3、CUDNN安装一、驱动及CUDA/CUDNN下载1、下载显卡驱动(1)查看显卡型号在终端中输入以下命令来查看显卡型号:lshw -c video(2)驱动下载显卡驱动下载地址:https://ww

2021-06-23 16:27:19 656

原创 _io.BufferedReader图片类型转化为numpy.ndarray格式

_io.BufferedReader图片转化为numpy.ndarray格式转化顺序为:_io.BufferedReader --> bytes --> 单通道numpy.ndarray --> 多通道numpy.ndarrayPython转化代码:pic = open(path, mode='rb')print('pic type:',type(pic))data = pic.read()print('data type:',type(data))nparr = np.fr

2020-08-22 10:14:39 1197 3

原创 python给内存和cpu使用量设置限制

python给内存和cpu使用量设置限制在linux系统中,使用Python对内存和cpu使用量设置限制需要通过resource模块来完成。resource文档地址:resource — Resource usage information限制Python进程cpu使用时间的样例如下:import signalimport resourceimport osdef time_exceeded(signo, frame): print("time's up") raise Sys

2020-08-12 20:53:38 7371 1

原创 Makefile文件编写总结

Makefile文件编写总结语法规则一、显示规则:1.目标文件:依赖文件[TAB]指令例子:hello.i:hello.c gcc -E hello.c -o hello.i含义为:通过gcc命令由“hello.c”文件得到“hello.i”文件。2.第一个目标文件应为欲得到的最终目标(自顶而下分解任务)3.伪目标:在“.PHONY:”后添加伪目标(即不会被创建文件的目标)及相应命令。如:.PHONY:clean: rm -rf hello.o hello.i hello

2020-08-11 10:38:33 552

原创 使用Darknet训练yolo模型

使用Darknet训练yolo模型本文将通过训练一个人形检测模型来描述使用Darknet训练yolo模型的过程。文章目录使用Darknet训练yolo模型图像标注图像分类保存使用darknet训练模型图像标注1.图像标注工具labelImg安装方法:https://www.cnblogs.com/new-age/p/7071289.html2.labelImg的使用:注:labelImg有两种输出方式,这里可以在左侧栏中选择yolo的txt格式输出,也可以使用xml输出再通过darknet包

2020-06-07 21:08:30 2392 1

原创 将numpy.ndarray格式图像转化为_io.BufferedReader格式

图像格式转换 numpy.ndarray–>_io.BufferedReader在项目中遇到问题:现有通过opencv的imread()函数读取的图像,需要将图像的格式转化为io.open()函数读取图像的格式来用于requests.post()发送图像文件。现整理问题解决的思路及相应代码。问题解决的过程1.首先查看opencv的imread()与Python IO中的open()函数...

2020-04-21 13:53:56 3680 4

原创 python gstreamer 实现视频快进/快退/循环播放

python gstreamer 实现视频快进/快退/循环播放关于视频快进/快退/循环播放的知识总结:1.本地视频时长获取:Gst.Pad.query_duration官方函数介绍:def Gst.Pad.query_duration (self, format): #python wrapper for 'gst_pad_query_duration'Queries a pa...

2020-03-30 14:25:01 2488

原创 opencv 矩阵数据类型及转换方式

opencv 矩阵数据类型及转换方式在完成多个连续图像取色彩平均值时出现了处理后的图像色彩偏暗的情况(使用(pic1+pic2+…+picn)/n的方式求多个图像平均值),经过查找资料发现原因:图像的矩阵数据类型8位的最大值只有255,进行图像相加的时候所有图片需变成32位。opencv矩阵数据类型及其取值范围:数据类型中C1、C2、C3、C4为图像的通道数,如CV_8UC1为八位无符号...

2020-02-18 09:46:29 1794

原创 使用darknet中c语言函数对图片进行目标检测

使用darknet中c语言函数对图片进行目标检测代码如下:#include "/home/.../darknet/include/darknet.h"static network *net;static layer l;image **alphabet;char **names;char cfgfile[100] = ".../yolov2-tiny-voc.cfg"; //加载配...

2020-01-09 16:29:22 525

原创 gstreamer插件知识总结

gstreamer插件知识总结1.gstreamer插件内部结构及函数总结(1)定义插件属性及信号enum{ /* FILL ME */ SIGNAL_DETECTED, LAST_SIGNAL};(2)定义衬垫接收和发送的数据类型static GstStaticPadTemplate sink_factory...(3)元件属性及信号初始化gst_human_d...

2020-01-09 13:21:13 1470

原创 gstreamer常用知识总结

文章目录gstreamer常用知识总结1.元件(1)元件的种类:(2)元件的申请:(3)元件的属性设置(4)元件连接(5)查看元件信息的方法(6)导入gstreamer包及初始化(7)接收元件总结(8)视频分辨率转换2.管道(1)管道创建(2)元件加入管道(3)管道之间的连接(4)从管道获得指定元件(5)文件描述符创建及赋值(6)播放窗口设置(7)检测插件中的信号gstreamer常用知识总结...

2020-01-09 10:32:33 3861

原创 Python多线程和定时器

Python多线程和定时器多线程在Python中任务由上到下顺序执行,若需要将多个任务同时执行需要引入多线程。多线程示例代码如下:import threadingrunWebVedio(i): ...fun_timer(x): ...th1 = threading.Thread(target= runWebVedio, args=(1,), name="thread1")th2...

2019-12-26 15:32:16 2314 1

原创 在Python中使用shell命令的几种方式总结

文章目录在Python中使用shell命令的几种方式总结1. os.system2. os.popen3. subprocess.Popen在Python中使用shell命令的几种方式总结有时会有在python中使用shell命令的需求,在此整理了三种在Python中使用shell命令的需求并提供部分代码样例。1. os.system这是最简单的一种方法,其执行过程中会输出显示cmd命令执...

2019-12-26 15:01:27 1297

原创 python 锁的两种用法

python 锁的两种用法程序中锁的作用:在程序中用到多线程,对临界区进行加锁处理以避免出现竞争条件。1.基础用法:import threadingvalue_lock = threading.Lock()value_lock.acquire()#需要加锁的代码段value_lock.release()2.与with搭配的用法import threadingvalue_lo...

2019-11-21 19:33:52 1285

原创 python将序列分解为单独的变量

python将序列分解为单独的变量在阅读《python cookbook》一书时学习到将将序列分解为单独的变量新的简洁的方法。任何序列(或可迭代的对象)都可以通过一个简单的赋值操作来分解为单独的变量。唯一的要求是变量的总数和结构要与序列吻合。如:p = [4, 5, (8, 9)]x, y, z = p结果:x = 4 , y = 5 , z = (8, 9)只要对象是可迭代的...

2019-11-19 11:16:29 231

原创 gstreamer插件制作(插件内使用c++和opencv)

gstreamer插件制作(插件内使用c++和opencv)gstreamer插件默认是使用c语言编写的,不过我们经常在插件中使用opencv来处理图像,而opencv对c语言的接口并不多,于是我们便要在gstreamer插件中使用c++和opencv,本篇就记录一个使用了c++和opencv的插件制作。这种插件和普通使用c语言插件创建的不同主要在于makefile内配置的不同。1.获取创建插...

2019-11-13 10:22:09 4260 1

原创 Python变量名解析机制

Python变量名解析机制问题描述:  前一段时间在编写python程序定义函数的时候偶尔忘记给函数传入相应参数,结果发现在函数中使用函数外的全局变量竟然不报错而且运行通过了。虽然感觉很奇怪但并没有对这个问题进行解决,今天在阅读《Python学习手册》时找到了这个问题的答案。  先给出一个简单的例子来说明我之前的困惑:a = 2def printa(): print(a)pri...

2019-08-11 20:55:44 288

原创 python Gstreamer将视频逐帧保存为图片

python Gstreamer将视频逐帧保存为图片  将视频流保存为图片和播放视频的区别并不是很大,主要思路就是利用图片格式转换元件将原视频逐帧转换图片格式,利用multifilesink元件对图片进行接收存储。元件连接如下:  src元件——>demux或depay元件——>decode元件——>图片格式转换元件——>接收元件对于元件选择的说明:src元件:...

2019-08-04 19:22:30 3887 3

原创 python gstreamer将rtsp码流视频保存到本地

python gstreamer将rtsp码流视频保存到本地  实现对视频的保存需要将接入的rtsp码流视频解协议和封装音视频两个过程。MKV封装格式可封装几乎所有种类编码的视频和音频,因此采用Gstreamer中的matroskamux元件将解协议后的视频和音频封装成MKV格式的视频保存到本地。元件连接图解:Python Gstreamer代码import gigi.require_...

2019-07-17 15:31:41 5118 10

原创 python包终端中可以import,IDE中无法import问题解决

问题描述:在使用python IDE(如pycharm)时,有时会遇到部分python包终端中可以导入但IDE中无法导入的问题。这里提供一种解决方法。问题分析:系统中往往不止有一个版本的python,在某个版本中有的包在其他版本中未必能找到。这里我们检查一下系统的默认版本和IDE的python版本,然后把IDE中出现问题项目的python版本改为系统的默认版本即可,当然也可以修改系统默认py...

2019-07-17 15:17:28 1934

原创 Ubuntu使用Gstreamer gi包不存在解决

问题描述:初次使用Gstreamer时经常会遇到gi包不存在的问题。import gi报错如下:ImportError: No module named gi而且使用python的pip安装往往会出现找不到gi版本,报错如下:ERROR: Could not find a version that satisfies the requirement gi (from vers...

2019-07-17 14:57:44 3447 3

原创 PTA 1013 数素数 python超时解决

题目:令 P​i表示第 i 个素数。现任给两个正整数 M≤N≤10​4 ,请输出 P​M到 P​N的所有素数。输入格式:输入在一行中给出 M 和 N,其间以空格分隔。输出格式:输出从 P​M到 P​N的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。输入样例:5 27输出样例:11 13 17 19 23 29 31 37 41 4347 53 59...

2019-07-11 20:43:57 1267 1

原创 PTA 1012数字分类 python满分解决

题目:给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:A1 = 能被 5 整除的数字中所有偶数的和;A2 = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1−n​2+n3−n​4⋯;A​3 = 被 5 除后余 2 的数字的个数;A4 = 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;A​5​​ = 被 5 除后余 4 的数字中最大数字。...

2019-07-10 20:43:54 626 2

原创 Python Gstreamer播放rtsp视频(含音频)(海康IPCAM)

Python Gstreamer播放rtsp视频(海康IPCAM)播放思路详见博客:Python Gstreamer播放rtsp视频流(海康IPCAM  这里开始想使用tee分流,但是不成功,后来使用两个源来分别对视频音频输出,目前还不是特别清楚出现网络延迟后视音频的时间能否统一,等查阅资料有结果之后会更新此博客。Python Gstreamer代码import gigi.require...

2019-07-09 19:24:09 3557

原创 Python Gstreamer播放rtsp视频流(海康IPCAM)

Python Gstreamer播放rtsp视频流(海康IPCAM)播放思路:1.首先通过IPCAM的ip与用户等信息获得rtsp码:  海康新版IPCAM的rtsp地址规则为:rtsp://用户名:密码@设备IP地址/Streaming/Channels/通道号及编码类型。如:rtsp://admin:12345@172.6.22.234:554/Streaming/Channels/1...

2019-07-08 21:01:39 11626 6

原创 PTA 1011 A+B 和 C (python实现)

题目:输入格式:输入第 1 行给出正整数 T (≤10),是测试用例的个数。随后给出 T 组测试用例,每组占一行,顺序给出 A、B 和 C。整数间以空格分隔。输出格式:对每组测试用例,在一行中输出 Case #X: true 如果 A+B>C,否则输出 Case #X: false,其中 X 是测试用例的编号(从 1 开始)。输入样例:41 2 32 3 421474836...

2019-07-05 16:45:47 576

原创 PTA 1010 一元多项式求导 Python实现

题目:输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。输入样例:3 4 -5 2 6 1 -2 0输出样例:12 3 -10 1 6 0这里需要注意:若输出的多项...

2019-07-03 20:06:13 680

原创 PTA 1009 说反话 Python实现

题目:给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。输入样例:Hello World Here I...

2019-07-03 17:14:10 369

原创 使用Gstreamer播放未知格式视频(python)

使用Gstreamer播放未知格式视频(python)1.播放含Audio的未知格式视频  使用Gstreamer中的decodebin来实现。实现代码如下:import gigi.require_version('Gst', '1.0')from gi.repository import Gst, GObject, GLibGst.init(None)#decodebin产生新p...

2019-07-03 13:02:03 1655

原创 python Gstreamer 播放不同编码格式的视频文件

python Gstreamer 播放不同编码格式的视频文件  在之前的博客中写过了如何查找一个视频中的video以及audio编码格式,并根据编码的格式挑选元件对视频进行播放。但在相同的封装格式的视频文件中,并不一定video、audio的编码格式也相同(如mkv封装格式的视频文件Audio的编码格式可能为AAC,也可能为MPEG)。那么我们想播放一个MKV文件时,不知道其中的编码格式该怎么办...

2019-06-28 17:25:51 1903 2

原创 PTA 1008 数组元素循环右移问题 -python实现

题目:输入格式:每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2行输入N个整数,之间用空格分隔。输出格式:在一行中输出循环右移M位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。输入样例:6 21 2 3 4 5 6输出样例:5 6 1 2 3 4python实现:list1 = list(input().split())list2 = l...

2019-06-27 20:09:12 642

原创 PTA 1007-素数对猜想— python超时解决

1.题目输入格式:输入在一行给出正整数N。输出格式:在一行中输出不超过N的满足猜想的素数对的个数。输入样例:20输出样例:42.遇到的问题此程序关键是对质数的判断,程序编写好后遇到了运行超时的问题,先后经过以下改动:1.初始版本:先对所有数据循环,然后以某数据为上限进行循环取余判断其是否为质数。运行超时。2.以某数据的一半为上限进行循环取余。运行超时。3.以某数据的平方根...

2019-06-25 17:12:54 1319

原创 PTA 1005-继续(3n+1)猜想 python实现

题目:卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这 4 个数已经在验证3的时候遇到过了,我们称 ...

2019-06-24 20:56:27 916 1

原创 使用python Gstreamer编写mp4视频播放器

python Gstreamer编写mp4视频播放器mp4简易播放器:import gigi.require_version('Gst', '1.0')from gi.repository import Gst, GObject, GLibGst.init(None)def cb_demuxer_newpad(src, pad, dst,dst2): if pad.get_p...

2019-06-24 16:01:49 6954 1

原创 PTA 1006-换个格式输出整数 c和python编写

题目让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12…n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。输入格式:每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。输出格式:每个测试用例的输出占一行,用规定的格式...

2019-06-20 20:32:30 206

原创 PTA 1004-成绩排名 c和python编写

1004题目:1004 成绩排名 (20 分)读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含 1 个测试用例,格式为第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 个学生的姓名 学号 成绩… … …第 n+1 行:第 n 个学生的姓名 学号 成绩其中姓名和学号均为不超过...

2019-06-19 20:23:54 578

原创 非web项目使用Django连接postgreSQL数据库

非web项目使用Django连接postgreSQL数据库1.Django安装1.1安装命令pip install Django检测安装是否成功:#python>>> import django>>> django.VERSION若输出了Django的版本号,说明安装成功。1.2出现python版本低异常的解决1.下载新版本python:s...

2019-06-05 16:12:05 848

空空如也

空空如也

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

TA关注的人

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