自定义博客皮肤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快速搭建下载服务器

Python快速搭建下载简易服务器

2022-11-22 10:12:54 572 1

原创 Quick Reference 代码速查表

Quick Reference代码速查表

2022-11-21 20:56:10 3509 2

原创 Python代码混淆和加密技术

编写脚本生成 pyc_create.py 文件import osimport sysimport shutilfrom py_compile import compile# print "argvs:",sys.argvif len(sys.argv) == 3: comd = sys.argv[1] # 输入的命令 path = sys.argv[2] # 文件的地址 if os.path.exists(path) and os.path.isdir(path)

2022-05-25 16:24:08 2863

原创 实现离线版语音转文本-支持Python,java等

使用开源的 VOSK-API开源代码地址测试步骤:开源代码地址https://github.com/alphacep/vosk-api1.升级pippython3 -m pip install -U pip2.安装voskpython3 -m pip install -U vosk3.直至成功安装,比如:Successfully installed vosk-0.3.10测试步骤:mkdir srccd srcgit clone https://github.com/alphace

2022-05-19 15:20:19 1322

原创 C++实现TCP简单的socket服务端和客户端

1、服务端#include <iostream>#include <sys/socket.h>#include <netinet/in.h>#include <unistd.h>#include <string.h>#define PORT 8111#define MESSAGE_LEN 1024 // 消息的长度int main(int argc, char* argv[]){ // 创建socket int sock

2022-01-08 02:00:22 3447

原创 C++实现一个最简单的服务器

一、 文件分为:main.cppserver.cppserver.h二、代码main.cpp#include <iostream>#include "server.h"int main(int argc, char* argv[]){ avdance::Server* server = new avdance::Server(); if (server) { server->run();

2022-01-03 20:31:11 3184

原创 error C4996: ‘strcpy‘: This function or variable may be unsafe. Consider using strcpy_s instead

出现这个错误时,是因为strcpy函数不安全造成的溢出。解决方法是:找到【项目属性】,点击【C++】里的【预处理器】,对【预处理器】进行编辑,在里面加入一段代码:_CRT_SECURE_NO_WARNINGS。

2021-11-20 00:21:46 952

原创 Pytorch基础

安装Pytorchpip install torch一、什么是PytorchPytorch是一个基于Numpy的科学计算包,向它的使用者提供了两大功能作为Numpy的替代者,向用户提供使用GPU强大功能的能力作为一个深度学习的平台,向用户提供最大的灵活性和速度二、基本的元素操作Tensor张量:类似于Numpy中的ndarray数据结构,最大的区别在于Tensor可以利用GPU的加速功能1、 创建矩阵的操作创建一个没有初始化的矩阵import torchx = torc

2021-09-13 00:28:57 155

原创 python-OpenCV图像的礼帽和黑帽

礼帽 = 原始输入-开运算结果黑帽 = 闭运算结果-原始输入原图一、礼帽方法:cv2.morphologyEx参数1:原图,参数2:关键字 cv2.MORPH_TOPHAT参数3:核的大小img = cv2.imread(r"C:\Users\admin\Desktop\hb.jpg")kernel = np.ones((3, 3), np.uint8)tophat = cv2.morphologyEx(img, cv2.MORPH_TOPHAT,kernel)效果几乎只剩下周边的

2021-08-17 23:42:30 296

原创 python-OpenCV图像的开运算、闭运算、梯度运算

一、开运算原理先腐蚀处理,再膨胀处理代码# 开运算# 方法:cv2.morphologyEx()# 参数1:原图,参数2:cv2.MORPH_OPEN,参数3:核的大小kernel = np.ones((3, 3), np.uint8)opening = cv2.morphologyEx(img,cv2.MORPH_OPEN, kernel)二、闭运算原理先膨胀处理,再腐蚀处理代码# 闭运算# 方法:cv2.morphologyEx()# 参数1:原图,参数2:cv2.MOR

2021-08-17 23:24:37 913

原创 python-OpenCV图像的腐蚀处理、膨胀处理

一、图像的腐蚀处理1、原图img = cv2.imread(r"C:\Users\admin\Desktop\hb.jpg")cv2.imshow('img', img)cv2.waitKey(0)cv2.destroyAllWindows()首先原图周围又很多白色直线2、进行腐蚀处理使用的方法是cv2.erode(img,kernel,iterations=1)img:原图kenrnel:核的大小iterations:迭代次数img = cv2.imread(r"C:\Use

2021-08-17 23:14:00 844

原创 python-OpenCV图像阈值处理和平滑处理

一、图像的阈值处理ret, dst = cv2.threshold(src=,thresh=,maxval=,type=)dst:输出图src:输入图,只能是单通道图像,通常来说为灰度图thresh:阈值maxval:当像素值超过了阈值(或者小于阈值,根据type来决定),所赋予的值type:二值化操作的类型和,包含以下五种cv2.THRESH_BINARY 超过阈值部分取maxval(最大值),否则0cv2.THRESH_BINARY_INV 小于阈值部分取maxval(最大值) 否

2021-08-16 23:44:01 226

原创 python-OpenCV图像的融合

将两张图片相互融合import cv2img_h = cv2.imread(r"C:\Users\admin\Desktop\yy.jpg", cv2.IMREAD_GRAYSCALE)img_z = cv2.imread(r"C:\Users\admin\Desktop\ztz.jpg", cv2.IMREAD_GRAYSCALE)# 公式:R = αX₁ + βX₂ + b, X₁:图一,X₂:图二 b:偏置项, α,β:权重, R:目标图片# img_h.shape为(6

2021-08-16 01:27:25 748

原创 python-OpenCV图像的边界填充

import cv2from matplotlib import pyplot as plt# 复制法,也就是复制最边缘像素replicate = cv2.copyMakeBorder(img_h,to_size,bottom_size,left_size,right_size, borderType=cv2.BORDER_REPLICATE)# 反射法,对感兴趣的图像中的像素在两边进行复制reflect = cv2.copyMake

2021-08-16 01:22:57 2099

原创 python-OpenCV视频的读取与显示

一、读取视频数据使用 .VideoCapture() 方法,参数为视频地址import cv2vc = cv2.VideoCapture(r"C:\Users\admin\Desktop\els.mp4")进行检查视频是否打开正确# 检查是否打开正确if vc.isOpened(): open_mark, frme = vc.read() # 会返回两个值 布尔值,第一帧图else: open_mark = False展示视频while open_mark:

2021-08-16 00:09:55 1200 1

原创 python-OpenCV简单的图像处理

简单的图像处理一、数据读取-图像# 读取彩色图片数据img = cv2.imread(r"C:\Users\admin\Desktop\ztz.jpg")print(img)返回值类型为:<class ‘numpy.ndarray’># 获取图片的灰度图img_h = cv2.imread(r"C:\Users\admin\Desktop\yy.jpg",cv2.IMREAD_GRAYSCALE)二、图片的显示img = cv2.imread(r"C:\Users\admi

2021-08-15 23:24:45 277

原创 C++,基本内置类型

基本内置类型C++定义了一套包括算数类型和空类型在内的基本数据类型,其中算数类型包含了字符,整型数,布尔值和浮点数。空类型不对应具体的值,仅用于一些特殊情况,例如,当函数不返回任何值的时使用空类型作为返回类型。1、算数类型类型含义最小格式bool布尔类型未定义char字符8位wchar_t宽字符16位char16_tUnicode字符16位char32_tUnicode字符32位short短整型16位int整型16位

2021-08-11 00:04:52 90

原创 C++,if语句

#include <iostream>int main() { int a = 0, b = 1; int c; while (std::cin >> c) if ( c >= (a+b)) std::cout << c << std::endl; else{ std::cout << a + b << std::endl; }}格式为:if(条件) 执行代码;else{

2021-08-10 23:34:30 110

原创 c++ 控制流;

while语句while语句反复执行一段代码,直至给定条件为假为止。#include <iostream>int main() { int a = 0, b = 1; while (b <= 10) { a += b; ++b; } std::cout << "1至10的累和为:" << a << std::endl; return 0;}for语句#include <iostream>int ma.

2021-08-10 00:31:57 113

原创 c++,输入输出;

#include <iostream>int main() { std::cout << "=======" << std::endl; int v1, v2 = 0; std::cin >> v1 >> v2; std::cout << v1 + v2 << std::endl; return 0;}使用iostream库,该库包含两个基础类型istream和ostream,分别对应输入流和输出流,一

2021-08-10 00:13:46 61

原创 Python-Django静态文件配置

**静态文件配置 - settings.py**1.配置静态文件的访问路径【该配置默认存在】STATIC_URL = ‘/static/’2.配置静态文件的存储路径STATICFILES_DIRSSTATICFILES_DIRS保存的是静态文件在服务器端的存储位置# file: setting.pySTATICFILES_DIRS = ( os.path.join(BASE_DIR, "static"),)3.在项目目录下创建 static 文件夹样例setting

2021-06-29 17:46:36 147

原创 Python-Django的URL反向解析

url反向解析url反向解析是指在视图或模板中,用path定义的名称来动态查找或计算出相应的路由。path函数的语法path(route, views, name='别名')path(route, views.page_view, name='pagr_url')根据path中的 ’name=‘ 关键字传参给url确定了唯一确定的名字,在模板或视图中,可以通过这个名字反向推断出此url信息模板中 - 通过url标签实现地址的反向解析{% url '别名' %}{% url '别名'.

2021-06-29 15:43:47 396

原创 Python-Django的设计模式,模板层

Django为MTV设计模式MTV代表Model-Template-View(模型-模板-视图)模式。M:模型层(Model) 负责与数据库交互T:模板层(Template) 负责呈现内容到浏览器V:视图层(View) 是核心,负责接收请求,获取数据,返回结果作用:降低模块间的耦合度(解耦)一:模板层模板是可以根据字典数据动态变化的html网页模板可以根据视图中传递的字典数据动态生成相应的HTML网页** 模板配置**创建模板文件<项目名>/templates在set

2021-06-29 13:37:31 151

原创 Python实用的内置函数

1. all(iterable)如果可迭代的对象(数组,字符串,列表等)中的元素都是 true (或者为空)的话返回 True 。普通写法_all = Truefor item in iterable: if not item: _all = False breakif _all: # do stuff简便写法if all(iterable): # do stuff2. any(iterable)如果可迭代的对象

2021-06-24 17:33:37 47

原创 Python-Django请求

GET和POST无论是GET还是POST,统一是由视图函数接收请求,通过判断request.method区分具体的请求动作样例: if request.method == "GET": # 处理GET请求时的业务逻辑 elif request.method == "POST": # 处理POST请求的业务逻辑 else: # 其他业务逻辑 一,GET处理GET请求动作,一般用于向服务器获取数据能够产生GET请求的

2021-06-21 11:03:01 101

原创 Python-Django中请求的属性方法

举例:request.path_infopath_info:URL字符串method:字符串,表示HTTP请求方法,常用值:“GET”, “POST”GET:QueryDict查询字典的对象,包含get请求方式的所有数据POST:QueryDict查询字典的对象,包含post请求方式的所有数据FILES:类似于字典的对象,包含所有的上传文件信息COOKIES:字典形式,包含所有的cookie,键和值都为字符串session:类似于字典的对象,表示当前的会话body:字符串,请求体的内容(P

2021-06-18 15:23:20 141

原创 Python-Django 路由配置

一,路由配置- path导入 - from django.urls import path语法 - path(route, views, name=None)参数:1.route:字符串类型,匹配的请求路径2.views:指定路径所对应的视图处理函数的名称3.name:为地址起别名,在模板中地址反向解析时使用二,路由配置- path转换器语法:<<转换器类型:自定义>>作用:若转换器类型匹配到对应类型的数据,则将数据按照关键字传参的方式传递给视图函数类型:str

2021-06-18 11:47:01 399

原创 Python-Django 公有配置

## settings.py 下的公有配置1. BASE_DIR用于绑定当前项目的绝对路径,所有文件夹都依赖此路径2. DEBUG用于配置Django项目的启动模式,取值:True 表示开发环境中使用开发调试模式(用于开发)False 表示当前项目运行在生产环境中,上线3. ALLOWED_HOSTS设置允许访问到本项目的host头值[] 空列表,表示只有请求头host为127.0.0.1,localhost能访问本项目,同时只有 DEBUG = True 时生效["*"] 表示任

2021-06-17 18:04:34 85

原创 windows下安装virtualenvwrapper和使用workon指令

1. 安装注意:不要再虚拟环境下pippip install virtualenvwrapper-win然后打开CMD,输入workon则显示如下2. 设置环境变量根据下图创建环境变量,名为:WORKON_HOME 值为你存放虚拟环境的地址3. 查看就会显示我目录下的虚拟环境了...

2021-06-17 11:48:35 691

原创 virtualenv创建虚拟环境失败的解决方法

virtualenv *** 显示失败解决:使用python -m virtualenv ***

2021-06-17 10:31:37 907

原创 Python实现二叉树结构及三种基础遍历

什么是二叉树:每个节点最多有两个子树的树结构,通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)二叉树由两个对象组成,一个是节点对象,一个是树对象class TreeNode: """节点类""" def __init__(self, mid, left=None, right=None): self.mid = mid self.left = left self.right = right

2021-06-15 16:23:39 499 5

原创 队列Queue-Python

队列是一种列表,不同的是队列只能在队尾插入元素,在队首删除元素。队列用于存储按顺序排列的数据,先进先出队列是一种先进先出(First-In-First-Out,FIFO)的数据结构。队列被用在很多地方,比如提交操作系统执行的一系列进程、打印任务池等实现方式一:自定义队列类class Queue: def __init__(self): self.items = [] def push(self, value): # 进队列 self.items.a

2021-06-05 13:49:14 278

原创 查找算法-Python

一,顺序查找条件:无序或有序队列。原理:按顺序比较每个元素,直到找到关键字为止。时间复杂度:O(n)def sequential_search(lis, key): length = len(lis) for i in range(length): print(lis[i], key) if lis[i] == key: return i return Falseif __name__ == '__main__':

2021-06-05 11:40:20 111

原创 Python-Scrapy框架的概念基础

个人笔记,如有侵权,联系必删。Scrapy是一个基于Python的web爬虫框架,用于爬取web站点,并从中提取结构化的数据。一:为什么用Scrapy,优势是什么?容易构建大规模的抓取项目异步处理请求,速度非常快可以自动调节爬取速度可以使用Scrapy-redis进行分布式爬取默认深度优先基于twisted异步io框架,是纯python实现的爬虫框架,性能是最大的优势二:Scrapy的缺点拓展性比较差三:Scrapy的运行机制从start_urls里面获取第一批url发送请

2021-05-22 22:40:06 119

原创 Python线程

线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务线程通过threading模块来实现,分两种调用方式方式一:直接调用import threadingimport timedef func1(num): while 1: print("当前数为{},线程标识符为{}".format(num, threading.get_ident()))

2021-05-21 10:36:58 47

原创 Python的闭包

在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用。这样就构成了一个闭包。一般情况下,在我们认知当中,如果一个函数结束,函数的内部所有东西都会释放掉,还给内存,局部变量都会消失。但是闭包是一种特殊情况,如果外函数在结束的时候发现有自己的临时变量将来会在内部函数中用到,就把这个临时变量绑定给了内部函数,然后自己再结束。def func1(a): b = 10 def func2(): print(a+b) retur

2021-05-19 17:42:47 51

原创 Python的lambda表达式

1、lambda只是一个表达式,函数体比def简单很多2、lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去3、lambda函数拥有自己的名字空间,且不能访问自有参数列表之外或全局名字空间里的参数4、 简单单行代码或者一次性的函数可以用lambda函数来书写,可以让代码更简洁。5、 对于复杂函数或者函数体体量大的函数,最好不要用lambda函数,会增加代码的阅读难度,使代码晦涩难懂。6、 在非多次调用的函数的情况下,lambda表达式即用既得,提高性能

2021-05-19 14:10:06 368

原创 快速排序

通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列def func(list1): if len(list1) < 2: return list1 else: start = 0 pivot = list1[start] arr1 = [i for i in list1[st

2021-05-15 10:30:45 56

原创 Python实现LRUCache缓存策略

LRUCacheLruCache是一种缓存策略,持有的是强引用,但是会控制在一个峰值下。它内部维护了一个队列,每当从中取出一个值时,该值就移动到队列的头部。当缓存已满而继续添加时,会将队列尾部的值移除import collectionsclass LRUCache: def __init__(self, capacity=128): self.od = collections.OrderedDict() self.capacity = capacity

2021-05-14 09:59:59 653 2

原创 Python - 冒泡算法

冒泡算法冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。list1 = [1, 5, 2, 4, 6, 1, 6, 8, 1, 10, 0,13]def func1(list1): f = 0 for x in range(len(list1)): for y in range(len(list1)-x-1): if list1[y] > li

2021-05-14 09:51:15 140

空空如也

空空如也

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

TA关注的人

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