python
python笔记
if shining
这个作者很懒,什么都没留下…
展开
-
Numpy知识详解之属性操作详解
Numpy知识详解之属性操作详解一、ndarray对象维度操作1.数据共享的视图变维reshape()和ravel()# 1.数据共享的视图变维 reshape()和ravel()arr5 = np.arange(1,10)print(arr5) # 输出结果:[1 2 3 4 5 6 7]arr6 = arr5.reshape(3,3) # 视图变维 变成2行4列print(arr6) # 输出结果:[[1 2 3] # [4 5 6]原创 2022-06-04 19:19:06 · 242 阅读 · 0 评论 -
Numpy知识详解之ndarray数据类型详解
Numpy知识详解之ndarray数据类型详解一、Numpy内部基本数据类型类型名类型表示符布尔型bool_有符号整数型int8(-128~127)/int16/int32/int64无符号整数型uint8(0~255)/uint16/uint32/uint64浮点型float16/float32/float64复数型complex64/complex128字串型str_,每个字符用32位Unicode编码表示二、Numpy自定义数据类原创 2022-04-17 21:53:04 · 2210 阅读 · 0 评论 -
Numpy知识详解之ndarray的创建及属性操作
Numpy知识详解之ndarray的创建及属性操作1.ndarry的创建方式(1)使用np.array(可以放任意能够转化的结构,如元组、列表等)方式# 1.使用np.array(可以放可以任意能够转化的结构,如元组、列表等)方式arr = np.array([1,2,3,4,5])print(arr) # 输出结果:[1 2 3 4 5]print(type(arr)) # 输出结果:<class 'numpy.ndarray'>(2)np.range(开始值,结束值,步长),原创 2022-04-08 12:19:19 · 1874 阅读 · 0 评论 -
Numpy知识详解之ndarray的创建及属性操作
Numpy知识详解之ndarray的创建及属性操作1.ndarry的创建方式import numpy as np# 1.使用np.array(可以放可以任意能够转化的结构,如元组、列表等)方式arr = np.array([1,2,3,4,5])print(arr) # 输出结果:[1 2 3 4 5]print(type(arr)) # 输出结果:<class 'numpy.ndarray'># 2.np.arange(开始值,结束值,步长) 包含开始值,不包括结束值arr1原创 2022-04-07 10:40:10 · 605 阅读 · 0 评论 -
Numpy知识详解之Numpy概述及基础知识
Numpy知识详解(一)1.Numpy概述 Numpy是python中主要用于数据分析和数值计算的一个免费开源的底层的库,完全采用标准C语言实现,运行效率高。Numpy的核心是多维数组,减少python代码中的循环。2.Numpy基础知识(1)ndarray数组 实际使用中,用np.ndarray来表示n维数组。# 1.导入numpy模块import numpy as np# 2.创建数组arr = np.array([1,2,3,4,5,6])print(原创 2022-04-01 10:14:49 · 1273 阅读 · 0 评论 -
pytorch学习笔记(十)
pytorch学习笔记(十)一、过拟合与欠拟合相关概念介绍二、过拟合与欠拟合解决方案三、代码实现一、过拟合与欠拟合相关概念介绍 偏差:模型对于训练集的拟合能力,通俗理解来说,偏差代表模型能够正确预测训练集的程度(也就是说,模型在训练集上表现出的精度)。偏差越高代表模型在训练集上的精度越低。 方差:模型对于除训练集之外其他数据的预测能力,即泛化能力。通俗理解来说,方差代表模型能够正确预测测试集的程度(也就是说,模型在测试集上表现出的精度)。方差越高代表模型在各测试集上的精度明显低于训练集上的精度。 欠原创 2021-03-05 23:26:12 · 132 阅读 · 0 评论 -
pytorch学习笔记(九)
pytorch学习笔记(九)一、Visdom介绍二、Visdom重要概念三、代码实现一、Visdom介绍Visdom 是一个专门用于 PyTorch 的交互式可视化工具,可以对实时数据进行丰富的可视化,帮助我们实时监控在远程服务器上进行的科学实验。Visdom可以创造、组织和共享多种数据的可视化,包括数值、图像、文本,甚至是视频,其支持PyTorch、Torch及Numpy。用户可通过编程组织可视化空间,或通过用户接口为生动数据打造仪表板,检查实验结果或调试代码。二、Visdom重要概念env:环原创 2021-03-04 22:55:47 · 141 阅读 · 1 评论 -
pytorch学习笔记(八)
pytorch学习笔记(八)一、GPU加速二、测试一、GPU加速# device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")device = torch.device('cuda:0')net = MLP().to(device)optimizer = optim.SGD(net.parameters(), lr=learning_rate)criteon = nn.CrossEntropyLoss().to(原创 2021-03-03 22:51:32 · 251 阅读 · 1 评论 -
pytorch学习笔记(七)
pytorch学习笔记(六)一、全连接层二、加入激活函数relu三、封装网络结构一、全连接层全连接层:通常所说的全连接层是指一个由多个神经元组成的层,其所有的输出和该层所有的输入都有连接,即每个输入都会影响所有的神经元的输出。在pytorch中的nn.Linear()表示线性变换,全连接层可以看作是nn.Linear()表示线性边层再加上一个激活函数层所构成的结构。具体操作如下: torch.nn.Linear(in_features,out_features, bias = True) in原创 2021-03-02 21:50:45 · 286 阅读 · 0 评论 -
pytorch学习笔记(六)
pytorch学习笔记(六)一、多分类问题相关知识二、代码实现一、多分类问题相关知识多分类问题实战:MNIST数据集是经典图像数据集,包括10个类别(0到9)。每一张图片拉成向量表示。MNIST 数据集(手写数字数据集)来自美国国家标准与技术研究所. 训练集 (training set) 由来自 250 个不同人手写的数字构成, 其中 50% 是高中学生, 50%来自人口普查局 (the Census Bureau) 的工作人员. 测试集(test set) 也是同样比例的手写数字数据。MNIST数据原创 2021-03-01 21:33:47 · 110 阅读 · 0 评论 -
pytorch学习笔记(五)
pytorch学习笔记(五)一、softmax函数二、交叉熵介绍三、交叉熵计算一、softmax函数import torchx = torch.rand(3,requires_grad=True)d = torch.nn.functional.softmax(x,dim=0) # dim的参数表示在哪个维度上进行softmaxgrad = torch.autograd.grad(d[0],x,retain_graph=True) # 第一个参数是y,第二个是xprint(grad)grad原创 2021-02-26 18:44:58 · 126 阅读 · 0 评论 -
pytorch学习笔记(四)
pytorch学习笔记(四)一、感知机基础知识介绍二、单层感知机三、多层感知机四、2D函数优化一、感知机基础知识介绍感知机是二分类的线性模型,其输入是实例的特征向量,输出的是事例的类别,分别是+1和-1,属于判别模型。感知机模型二、单层感知机单层感知机是最简单的神经网络。它包含输入层和输出层,而输入层和输出层是直接相连的。单层感知机实现代码import torchimport torch.nn as nn# 单层感知机ten1 = torch.rand(1,10) # 定义10个原创 2021-02-25 20:19:06 · 198 阅读 · 0 评论 -
pytorch学习笔记(三)
pytorch学习笔记(三)一、基本运算二、属性统计三、高阶操作四、激活函数一、基本运算基本运算 +(加法)、-(减法)、*(对应的位置相乘)、/(除法)、@(矩阵乘法)基本函数 ** 平方 sqrt() 平方根 rsqrt() 平方根的倒数 exp 自然对数 floor() 向下取整 ceil() 向上取整 trunc() 整数部分 frac() 小数部分 round() 四舍五入import torchten1 = torch.rand(3,3,3)ten2 = torc原创 2021-02-24 20:12:04 · 106 阅读 · 2 评论 -
pytorch学习笔记(二)
pytorch学习笔记(二)一、索引与切片二、维度变换三、合并与分割一、索引与切片"""索引与切片"""import torchindex = torch.rand(4,3,27,27)print(index[1,1].shape) # 取第2张图片,第2个通道的shapeprint(index[1,1,26,26].shape) # 取第2张图片,第2个通道,第27行,第27列的元素,是一个标量print(index[:1,:2,:,:].shape) # :1表示从0到1,不原创 2021-02-23 19:51:54 · 91 阅读 · 0 评论 -
pytorch学习笔记(一))
pytorch学习笔记(一)一、pytorch基本数据类型二、tensor方法一、pytorch基本数据类型pytprch最基本的操作对象是tensor(张量),它表示一个多维矩阵,类似于NumPy的ndaarrays,张量可以在GPU上做高速计算使用步骤:构造一个初始化矩阵:torch.rand 全0矩阵:torch.zeros 全1矩阵:torch.onespytorch基本数据类型 IntTensor of size()------------>对应python中int Flo原创 2021-02-22 20:35:48 · 139 阅读 · 0 评论 -
python-形态学运算
python-形态学运算一、腐蚀二、膨胀三、通用形态学函数1.开运算2.闭运算3.梯度运算3.礼帽运算4.黑帽运算一、腐蚀"""腐蚀: 腐蚀可以将图像的边界点消除,使图像沿着边界向内收敛,也可以将小于指定结构体的部分取出 dst=cv2.erode(img,kernel[,dst[,anchor[,iterations[,borderType[,borderValue]]]]]) img:输入图像,深度必须为CV_8U,CV_16U,CV_16S,CV_32F或者CV_64F中原创 2021-01-23 22:55:29 · 897 阅读 · 0 评论 -
python-对象测量
python-对象测量一、多边形拟合二、凸包拟合三、矩形包围框拟合四、圆形包围框拟合五、圆形包围框拟合一、多边形拟合"""多边形拟合:以特定的精度逼近多边形曲线方法:从轮廓中找到距离最远的两个点,并将两个点相连,在轮廓上找到一个距离该线最远的点,并 将该点与原有直线连接成为一个封闭多边形,此时找到一个三角形,将上述过程不断迭代,将新找到的 距离当前多边形最远距离的点加入到结果中,当轮廓上的点到当前的多边形距离低于epsilon时,停止迭代approxCurve=cv2.ap原创 2021-01-22 22:47:22 · 306 阅读 · 0 评论 -
python-Canny边缘检测+直线检测+圆检测+轮廓检测
python-Canny边缘检测+直线检测+圆检测+轮廓检测一、Canny边缘检测二、直线检测1.霍夫变换2.概率霍夫变换三、圆检测四、轮廓检测一、Canny边缘检测"""Canny边缘检测理论 1.降噪 为避免受到噪声干扰,通常需要对图像进行滤波,一般使用5*5的滤波器 2.计算梯度 对平滑后的图像进行水平和垂直方向的Sobel滤波,得到水平方向的一阶导Gx与垂直方向一阶导数Gy 数梯度方向总是垂直于边缘,边缘梯度等于Gx的平方与Gy的平方之和开根号 3.非极大值抑制原创 2021-01-21 22:58:32 · 5036 阅读 · 3 评论 -
python-图像金字塔及图像梯度
python-图像金字塔及图像梯度一、图像金字塔1.相关概念2.高斯金字塔2.1 向下采样2.2 向上采样原理2.3 向上采样2.4 采样可逆性3.拉普拉斯金字塔二、图像梯度1.相关函数2.Sobel算子2.Scharr算子一、图像金字塔1.相关概念"""生活中有时在不同分辨率下处理(相同的)图像,例如,当在图像中搜索某个东西时,比如人脸,不确定该对象在该图像中的大小创建一组具有不同分辨率的相同图像,并在所有这些图像中搜索对象,这些具有不同分辨率的图像集被称为图像金字塔高斯金字塔: 高原创 2021-01-20 22:50:08 · 680 阅读 · 1 评论 -
python-图像阈值操作
python-图像阈值操作一、简单阈值处理二、自适应阈值三、Otsu阈值一、简单阈值处理"""简单阈值 对于每个像素应用相同的阈值,如果像素值小于阈值,将其设置为0,否则将其设置为最大值 方法:cv2.threshold(img,thresh,maxval,type) 格式:retval,dst=cv2.threshold(img,thresh,maxval,type) retval:返回的阈值 dst:阈值分割结果图像,与原始图像有原创 2021-01-19 22:37:01 · 1575 阅读 · 2 评论 -
python-直方图
python-直方图一、直方图的定义及绘制二、直方图均衡化三、直方图反向投影一、直方图的定义及绘制"""直方图:是一种对数据分布情况的图像表示 意义: 1.直方图是图像中像素强度分布的图形表达式 2.直方图统计了每一个强度值所具有的像素个数 特征: 1.直方图不在表示任何图像纹理信息,而是对图像像素的统计 2.对于同一物体无论是旋转还是平移在图像中都具有相同的灰度值,因此直方图具有平移不变性、放缩不变性 cv2.calc原创 2021-01-18 22:31:31 · 2154 阅读 · 0 评论 -
python-opencv知识点复习-上
python-opencv知识点复习-上一、色彩空间二、numpy数组三、matplotlib绘图1、折线图绘制2、柱状图绘制四、ROI及泛洪填充ROI(Region of Interest)泛洪填充五、像素操作llliu一、色彩空间'''转换色彩空间:BGR转换为HSV 函数: cv.cvtColor(图片,转换类型) 转换类型可以为:cv.COLOR_BGR2GRAY、cv.COLOR_BGR2HSV等 cv.inRange(图片名,范围下限,范围上限)'''原创 2021-01-18 22:59:45 · 210 阅读 · 0 评论 -
python-图像模糊操作
python-图像模糊操作一、均值模糊二、中值模糊三、高斯模糊四、双边滤波"""图像模糊:在尽量保留图像原有信息的情况下,过滤掉图像内部的噪声opencv主要提供四种模糊技术1.均值模糊 格式:cv2.blur(img,(n1,n2)) img表示图片,n1表示x方向卷积核大小,n2表示y方向卷积核大小2.中值模糊:取内核区域下所有像素的中值,然后用这个中值替换中心元素 格式:cv2.medianBlur(img,n1) img表示图片,n1表示卷积核大小,应该是正奇数3.高斯模糊原创 2021-01-16 22:32:10 · 4755 阅读 · 0 评论 -
python-像素操作
python-像素操作img.png原图img_1.png原图一.像素的读取与写入二.像素的运算1.加法运算2.减法运算3.乘法操作4.除法操作5.均值6.标准方差二、逻辑运算1.与2.或3.非三、亮度对比度"""像素操作:像素的读取与写入本质上就是使用矩阵对像素的坐标进行修改 函数:像素加法:cv2.add(img1,img2) img1,img2表示大小相同的两张图片 像素减法:cv2.subtract(img1,img2) img1,img2表示大小相同的两张图片原创 2021-01-15 22:01:05 · 1072 阅读 · 1 评论 -
python-ROI与泛洪填充
python-ROI与泛洪填充ROI(Region of Interest)ROI(Region of Interest)"""ROI:ROI(Region of Interest):感兴趣的区域,通官numpy进行操作,指定区域 """import cv2# ROI(Region of Interest):感兴趣的区域,通官numpy进行操作,指定区域img1 = cv2.imread('clock.png',1)ROIarea = img1[50:100,100:150]原创 2021-01-15 21:59:13 · 344 阅读 · 1 评论 -
matplotlib折线图及柱状图绘制
python-matplotlib折线图及柱状图绘制一、折线图绘制二、柱状图绘制一、折线图绘制# 折线图: matplotlib.plot(横坐标,纵坐标,颜色,lw=线条宽度)# 1.导入numpy,matplotlib模块import numpy as npimport matplotlib.pyplot as plt# 2.定义各个点的横纵坐标x = np.array([1,2,3,4,5,6,7,8])y = np.array([3,5,9,2,7,6,3,8])# 3.将参数传入原创 2021-01-14 22:34:47 · 409 阅读 · 0 评论 -
numpy数组基本操作
python-Numpy数组基本操作"""Numpy数组操作: 1.创建一维数组 numpy.array([值1,值2,值3]) 创建二维数组 numpy.array([[值1,值2,值3], [值1,值2,值3]]) 2.数组的维度:数组名.shape 3.特殊数组: 全0数组:zero([行数,列数]) 全1数组:ones([行数,列数]) 4.数原创 2021-01-14 22:33:57 · 786 阅读 · 2 评论 -
python-色彩空间
python-色彩空间'''转换色彩空间:BGR转换为HSV 函数: cv.cvtColor(图片,转换类型) 转换类型可以为:cv.COLOR_BGR2GRAY、cv.COLOR_BGR2HSV等 cv.inRange(图片名,范围下限,范围上限)'''import cv2import matplotlib.pyplot as plotimg = cv2.imread('clock.png',1)imgRGB = cv2.cvtColor(img,cv2原创 2021-01-14 22:33:12 · 295 阅读 · 1 评论 -
python图像处理PIL实例之读取图片
python图像处理PIL实例之读取图片"""读取图片实例"""from PIL import Imageimport numpy as npimport osimport pickle# 读取图片的目录img_dir1='./images/'# 保存图片的目录img_dir2='./storage/'# 保存数组的文件array_file ='./array.bin'# 2.读取图片,将图片保存成大的一维数组,将数组保存到文件def image_array_file():原创 2021-01-13 21:25:18 · 3275 阅读 · 1 评论 -
python3.6.5 opencv库的pycharm安装+基本语句
提示:今天讲解一个简单的技巧,是从看到一篇文章及本人在安装opencv过程中出现的一些问题,顺带讲解一些基础语句,如有问题,欢迎指正python3.6.5 opencv库的pycharm安装+基本语句一、python3.6.5 opencv库的pycharm安装1.打开pycharm->点击File->点击Settings2.点击Project:pythonProject->Python Interperter->双击pip3.点击Manage Repositorie原创 2021-01-13 21:09:39 · 1074 阅读 · 3 评论 -
python图像处理-Pillow库常用模块(二)
文章目录一、绘图(ImageDraw模块)二、字体和字型处理(ImageFont模块)三、绘制十字案例四、绘制验证码一、绘图(ImageDraw模块)"""Python中的ImageDraw模块实现类绘图功能,主要为两方面: 1.创建图片的方式绘制2D图像 2.在原有的图片进行绘图,对图片进行修饰和注释在使用ImageDraw模块绘图时需要创建一个ImageDraw.Draw对象,且提供指向文件的参数,引用创建的Draw对象方法进行绘图,最后保存或输出绘制图像原创 2021-01-12 20:46:10 · 745 阅读 · 1 评论 -
python图像处理-pillow库知识点整理(一)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档python图像处理-pillow库前言一、图像处理基本知识二、打开显示图片三.图像混合四.图像复制、缩放、剪切、粘贴四.图像旋转、格式转换、分离合并五、图像滤镜六、图片合成七、调整图像色彩总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、图像处理基本知识图像原创 2021-01-11 22:18:41 · 565 阅读 · 1 评论 -
python3.6.5类pillow库的pycharm安装
python3.6.5类pillow库的pycharm安装1.打开pycharm->点击File->点击Settings2.点击Project:pythonProject->Python Interperter->双击pip3.上方搜索框搜索pillow,选中下方出现的pillow。点击安装即可原创 2021-01-11 10:01:17 · 1371 阅读 · 0 评论 -
python第一个程序的书写及注意事项
文章目录一、python第一个程序的书写二、注意事项一、python第一个程序的书写示例:第一个程序的书写(使用windows Powershell运行)1.新建一个文本文档,将文档后缀名改为.py。如:新建文本文档.txt文件重命名为新建文本文档.py2.记事本打开书写程序内容。如输入:print(“Hello World”)(print命令用于打印输出括里的内容)注意:书写完成以后一定要保存(快捷键为Ctrl+S),否则程序会运行出错3.打开命令行,输入执行命令(文件所在位置的空白处使原创 2021-01-03 11:45:25 · 385 阅读 · 3 评论