自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ab压测命令

linux安装# 安装命令:apt-get install httpd-tools# 检查是否安装成功ab -V# ab参数说明ab -h>>>-n 在测试会话中所执行的请求个数。默认时,仅执行一个请求。-c 一次产生的请求个数。默认是一次一个。-t 测试所进行的最大秒数。其内部隐含值是-n 50000,它可以使对服务器的测试限制在一个固定的总...

2024-04-11 18:03:00 320

原创 API文档生成(sphinx)

1.安装pip install Sphinx2.使用2.1文档手册Sphinx 1.3.1 中文手册 (推荐查看)教程https://fengxc.me/基于python注释使用sphinx自动化生成API文档.html2.2创建工程新建一个文件夹sphinx_test, 并创建两个子文件夹code, doc。目录结构如下:进去到doc目录, 打开powershell, 执行下边命...

2024-01-09 09:45:00 499

原创 py加密

.pyc1.单个文件:python -m py_compile file.py其中的 -m 相当于脚本中的import,这里的-m py_compile 相当于import py_compile脚本:Code:import py_compilepy_compile.compile('path') //path是包括.py文件名的路径2.多个文件python -m com...

2024-01-02 16:11:00 369

原创 hdf5文件读取orm

点击查看代码class BaseNode: """hdf5 file object relational model basic node class Including establishing model relationships and data sets, attribute values, obtaining child nodes, etc. """...

2024-01-02 10:05:00 386

原创 基于knn的图片识别

基于KNN的图片识别KNN算法介绍https://zhuanlan.zhihu.com/p/25994179项目简介使用numpy和opencv实现的一个简易的knn图片识别模块项目结构- code: 存放代码 - create_collection.py: 创建数据集功能, 会将img中的图片建立数据集到data_collection下 - knn.py: knn实现- ...

2023-11-07 10:50:00 144

原创 git merge规则

参考文档:https://juejin.cn/post/7129333439299321887丹尼尔:Hi,蛋兄,周杰伦都出新专辑了,你咋还不更新啊,真的打算半年一更啊?蛋先生:好像确实是这样,要不,择日不如撞日,今天聊聊?丹尼尔:好啊,那聊些啥呢?蛋先生:最近搞的事情需要实现两个应用项目的代码合并,逻辑就完全参照 git merge 的基本原则,那就聊聊 git merge 吧丹尼尔...

2023-08-18 17:22:00 523

原创 字符串加密

字符串加密import base64class StrEncrypt: """字符串加密""" def __init__(self): self._key = {'a', 'c', 'd', 'f', 'h', 'j', 'm', 'z'} self._un_key = {'~', '!', ')', '$', '-', '_', '('...

2023-08-14 09:55:00 138

原创 通过OpenTelemetry上报Python-flask应用数据(阿里云)

参考文档https://help.aliyun.com/document_detail/611711.html?spm=a2c4g.90499.0.0.34a056ddTu2WWq先按照 方法一:手动埋点上报Python应用数据 步骤测试上报是否正常。flas 上报在 手动埋点上报Python应用数据 的基础上,上报flask应用的数据,因为上边的文档只有django的,所以在这里记录一...

2023-08-10 09:55:00 892

原创 python 执行超时装饰器

代码:import signalclass TimeoutError(Exception): passdef timeout(seconds=10, error_message='Timeout'): def decorator(func): def wrapper(*args, **kwargs): def _handle_ti...

2023-07-10 14:45:00 173

原创 cv2 安装问题, opencv

解决安装了opencv-python,但 import cv2 报错。需要安装:pip install opencv-python-headless

2023-07-05 16:02:00 603

原创 flask response 返回压缩

import gzipfrom io import BytesIOfrom flask import jsonify, after_this_request, [email protected]("/book")def get_book(): """ to get all books """ data = { "code": 0, ...

2023-06-19 10:24:00 81

原创 linux 定时任务

可以用非root用户创建定时任务Linux crontab 是用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond 命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。注意:新创建的 cron 任务,不会马上执行,至少要过 2 分钟后才可以,当然你可以重启 cron 来马上执行。语法crontab [ -u user ] f...

2023-06-10 14:56:00 734

原创 下载文件进度提醒

需要使用第三发包 tqdm安装pip install tqdm效果展示简单文件下载代码import requestsfrom tqdm import tqdmdef download(link:str): """下载文件""" response = requests.get(link, stream=True) response.raise_for_sta...

2023-05-28 14:26:00 46

原创 第一次写一篇与技术无关的博客-大批量数据处理

上周接到了一个这样的需求,有几千个xml文件需要解析入库,每个文件里边有三万条数据。解析出来后要按表字段,重新组成需要的数据,不能直接将解析后的json入库。一开始我觉得这个事挺简单的,直接动手写了个demo,用随机选了两个xml文件测一下,没问题,成功入库。从解压xml到最后的数据入库,一个文件大概花费300秒左右。直到我用多进程并发去执行的时候发现,事情并不是我想的那么简单,发现子进程会莫...

2023-05-28 10:28:00 48

原创 协程小demo

代码import asyncioasync def run(i): print(i) await asyncio.sleep(i) print(333333333, i)if __name__ == '__main__': loop = asyncio.get_event_loop() tasks = [run(i) for i in rang...

2023-05-26 15:30:00 43

原创 python mongodb

下载mango数据库https://www.runoob.com/mongodb/mongodb-window-install.html程序调用安装依赖pip install pymongo简单使用import pymongo# Connect to MongoDBmyclient = pymongo.MongoClient("mongodb://localhost:27017...

2023-05-24 10:27:00 48

原创 flask blueprint

定义from flask import Blueprintfrom . import dataApidef register_url(): bp = Blueprint('layers', __name__, url_prefix='/<regex("[0-9a-zA-Z-]+"):system>/<SN>/<source>/<pro...

2023-05-05 17:24:00 48

原创 python打包工具-Nuitka

nuitka将python源码转成C++(这里得到的是二进制的pyd文件,防止了反编译),然后再编译成可执行文件。提高安全性和运行速度。github:https://github.com/2267770481/cython_test安装pip install nuitkapip install ordered-set # 加速编译pip install zstandard # onef...

2023-04-26 19:50:00 140

原创 python 编译成.pyd/.so

所谓pyd文件,就是D语言(C/C++综合进化版本)编写的一种dll 文件,相比起容易被反编译的pyc文件,pyd文件目前还没有办法进行反编译,只能被反汇编,因此有很高的安全性,并且运行效率也比较高。在windows会编译出pyd,linux会编译称.so编译前准备要想编译pyd,首先要通过pip安装Cython和setuptools库。pip install cythonpip i...

2023-04-26 11:33:00 128

原创 Supervisor

安装pipinstallsupervisor生成配置配置文件# 查看默认模板语法echo_supervisord_conf生成配置文件echo_supervisord_conf><虚拟环境>/etc/supervisor.conf添加项目配置1.在<虚拟环境>/etc 下创建 supervisord.d 文件夹mkdir superviso...

2023-04-25 14:14:00 46

原创 kubernetes 使用 1

安装1.用以下命令下载最新发行版:curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"可以用以下方式指定版本curl -LO https://dl.k8s.io/release/v1.27.0/bin/linux/amd64...

2023-04-25 11:02:00 370

原创 将博客搬至CSDN

11

2023-04-17 15:21:00 75

原创 zookeeper 搭建 linux

jdk安装1.从网盘里下载jkd2.创建安装目录,然后将jdk包解压到目录中mkdir jdktar -zxvf jdk-8u271-linux-x64.tar.gz -C /home/ubuntu/app/jdk/3.设置环境变量修改 vi /etc/profile, 在 profile 文件中添加如下内容并保存:set java environmentJAVA_HOME=/...

2023-04-14 17:16:00 176

原创 python yeah 邮箱发邮件

设置先理一下常见的电子邮件协议: SMTP、POP、IMAP 都遵循TCP/IP协议规范。至于Exchange是邮件服务器,不是收邮件和发邮件的协议,不要混淆概念,一般情况下不用,因为它是微软的产品。SMTP:即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。简单来说是 发送协议。POP:协议允许电子邮件客户端下载服务器上的邮件,但是在客户端的操...

2023-04-12 15:35:00 187

原创 opencv-python 4.16. 基于GrabCut算法的交互式前景提取

理论GrabCut算法由英国剑桥微软研究院的Carsten Rother,Vladimir Kolmogorov和Andrew Blake设计。在他们的论文:"GrabCut": interactive foreground extraction using iterated graph cuts中提出了一种基于最小用户交互的前景提取算法,其结果为GrabCut。从用户的角度来看,它是如何工...

2023-04-10 17:09:00 179

原创 opencv-python 4.15. 基于分水岭算法的图像分割

理论任何灰度图像都可以看作是地形表面,其中高强度表示峰和丘陵,而低强度表示山谷。你开始用不同颜色的水(标签)填充每个孤立的山谷(局部最小值)。随着水的上升,取决于附近的峰值(梯度),来自不同山谷的水,明显具有不同的颜色将开始融合。为避免这种情况,你需要在水合并的位置建立障碍。你继续填补水和建筑障碍的工作,直到所有的山峰都在水下。然后,你创建的障碍将为你提供分割结果。这是分水岭背后的“哲学”。你...

2023-04-07 17:04:00 116

原创 opencv-python 4.14. 霍夫圆变换

基础知识铺垫通过检索相关资料,学习到了霍夫圆检测的一点点皮毛知识,它的基本内容是认为图像上任何一个非零像素点,都有可能是一个潜在圆形上的一点。通过投票计算,生成累计坐标平面,然后在设置一个累计权重,去定位圆。在笛卡尔坐标系中圆的方程为(x - a)^2 + (y - b)^2 = r^2,其中(a,b)是圆心,r 是半径,具体你可以画一张图表示一下。并且根据图片,可以看出如下结果x = ...

2023-04-07 10:35:00 63

原创 opencv-python 4.13. 霍夫线变换

前言霍夫变换是一种特征检测(feature extraction),被广泛应用在图像分析(image analysis)、计算机视觉(computer vision)以及数位影像处理(digital image processing)。霍夫变换(Hough Transform)是图像处理中的一种特征提取技术,它通过一种投票算法检测具有特定形状的物体。该过程在一个参数空间(parameter ...

2023-04-06 18:22:00 133

原创 opencv-python 4.12. 模板匹配

理论模板匹配是一种在较大图像中搜索和查找模板图像位置的方法。为此,OpenCV附带了一个函数cv.matchTemplate()。它只是在输入图像上滑动模板图像(如在2D卷积中),并比较模板图像下的输入图像的模板和补丁。在OpenCV中实现了几种比较方法。它返回一个灰度图像,其中每个像素表示该像素的邻域与模板匹配的程度。cv2.matchTemplate(image,templ,method[...

2023-04-06 15:59:00 51

原创 opencv-python 4.11.1 傅里叶变换

理论傅立叶变换用于分析各种滤波器的频率特性。对于图像,2D离散傅里叶变换(DFT)用于找到频域。称为快速傅里叶变换(FFT)的快速算法用于计算DFT。有关这些的详细信息可以在任何图像处理或信号处理教科书中找到。对于正弦信号,x(t)= Asin(2πft),我们可以说f是信号的频率,如果采用其频域,我们可以看到f处的尖峰。如果对信号进行采样以形成离散信号,则我们得到相同的频域,但在[-π,π...

2023-04-06 11:34:00 70

原创 opencv-python 4.10.4. 反投影直方图

理论它由Michael J. Swain,Dana H. Ballard在他们的论文“Indexing via color histograms”中提出。用简单的话来说,它到底是什么?它用于图像分割或查找图像中感兴趣的对象。简单地说,它创建了与输入图像大小相同(但是是单一通道)的图像,其中每个像素对应于该像素属于对象的概率。在更简单的世界中,输出的图像将使我们感兴趣的对象与其余部分相比有更多...

2023-04-04 10:38:00 51

原创 opencv-python 4.10.3. 直方图3:2D直方图

介绍我们学习计算并绘制了一维直方图。 它之所以被称为一维,是因为我们只考虑一个特征,即像素的灰度强度值。 但在二维直方图中,需要考虑两个特征。 通常,它用于查找颜色直方图,其中两个特征是每个像素的色调值和饱和度值。OpenCV中的2D直方图它很简单,使用相同的函数cv.calcHist()计算。 对于颜色直方图,我们需要将图像从BGR转换为HSV。(记住,对于1D直方图,我们从BGR转换为...

2023-04-03 16:52:00 34

原创 opencv-python 4.10.2 直方图2:均衡直方图

理论考虑一个像素值仅限于某些特定值范围的图像。 例如,较亮的图像将所有像素限制为高值。 但是,良好的图像将具有来自图像的所有区域的像素。 所以你需要将这个直方图拉伸到两端(如下图所示,来自维基百科),这就是直方图均衡所做的,通常可以改善图像的对比度。建议阅读直方图均衡的维基百科页面,了解更多相关细节。 它有一个非常好的解释和解决的例子,所以在阅读之后几乎可以理解所有内容。 在这里有它的Num...

2023-04-03 16:37:00 26

原创 opencv-python 4.10.1 直方图1:查找,绘画,分析

理论直方图是什么?你可以将直方图视为图形或绘图,它可以让你全面了解图像的强度分布。它是在X轴上具有像素值(范围从0到255,并非总是)的图和在Y轴上的图像中的对应像素数。这只是理解图像的另一种方式。通过查看图像的直方图,你可以直观了解该图像的对比度,亮度,强度分布等。今天几乎所有的图像处理工具都提供了直方图的功能。以下是来自Cambridge in Color网站的图片,我建议你访问该网站了...

2023-04-03 15:32:00 28

原创 opencv-python 4.9.4. 轮廓:层次结构

理论在最近几篇关于轮廓的文章中,我们使用了与OpenCV提供的轮廓相关的几个函数。但是当我们使用cv.findContours()函数在图像中找到轮廓时,我们已经传递了一个参数Contour Retrieval Mode。我们通常传递cv.RETR_LIST或cv.RETR_TREE,它运行的效果很好。但它究竟意味着什么?此外,在输出中,我们得到三个数组,第一个是图像,第二个是我们的轮廓,还...

2023-04-03 11:34:00 65

原创 opencv-python 4.9.3. 轮廓属性

1. Aspect Ratio(长宽比)它是对象的边界矩形的宽度与高度的比。$$ Aspect\ Ratio= \frac{Width}{Height} $$x,y,w,h = cv.boundingRect(cnt)aspect_ratio = float(w)/h2. Extent(大小比)它是轮廓区域与边界矩形区域的比。$$ Extent= \frac{Object\ Area...

2023-04-03 10:38:00 53

原创 opencv-python 4.9.2. 轮廓特征

矩图像的矩可帮助你计算某些特征,如对象的质心,对象的面积等特征。函数cv.moments()给出了计算的所有矩值的字典。从这一刻起,你可以提取有用的数据,如面积,质心等。质心由关系给出,$$ C_{x}=\frac{M_{10}}{M_{00}} $$和 $$ C_{y}=\frac{M_{01}}{M_{00}} $$。这可以按如下方式完成:import cv2 as cvimg ...

2023-03-31 17:34:00 87

原创 opencv-python 4.9.1. 轮廓:入门

什么是轮廓?轮廓可以简单地解释为连接所有具有相同的颜色或强度的连续点(沿着边界)的曲线。轮廓是形状分析和物体检测和识别的很有用的工具。为了更好的准确性,使用二进制图像,因此,在找到轮廓之前,应用阈值或canny边缘检测。从OpenCV 3.2开始,findContours()不再修改源图像,而是将修改后的图像作为三个返回参数中的第一个返回。在OpenCV中,找到轮廓就像从黑色背景中找到...

2023-03-31 15:06:00 51

原创 opencv-python 4.8. 图像金字塔

理论通常,我们曾经使用恒定大小的图像。但在某些情况下,我们需要使用不同分辨率的(相同)图像。例如,在搜索图像中的某些内容时,如脸部,我们不确定该对象在所述图像中的大小。在这种情况下,我们需要创建一组具有不同分辨率的相同图像,并在所有图像中搜索对象。这些具有不同分辨率的图像被称为图像金字塔(因为当它们保持在堆叠中,底部具有最高分辨率图像而顶部具有最低分辨率图像时,它看起来像金字塔)。 图像金字塔...

2023-03-30 17:17:00 118

原创 opencv-python 4.7. Canny边缘检测

理论Canny边缘检测是一种流行的边缘检测算法,它是由John F. Canny开发的。这是一个多阶段算法,我们将了解其中的每个阶段。降噪由于边缘检测易受图像中的噪声影响,因此第一步是使用5x5高斯滤波器去除图像中的噪声。我们在之前的章节中已经看到了这一点。计算图像的强度梯度然后在水平和垂直方向上用Sobel核对平滑后的图像进行滤波,以获得水平方向($$ G_{x} $$...

2023-03-30 15:22:00 37

空空如也

空空如也

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

TA关注的人

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