自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 plt.rcParams[]详解

pylot 使用rc配置文件来自定义图形的各种默认属性,称之为rc配置或rc参数。通过rc参数可以修改默认的属性,包括窗体大小、每英寸的点数、线条宽度、颜色、样式、坐标轴、坐标和网络属性、文本、字体等。参数:plt.rcParams['savefig.dpi'] = 300 #图片像素plt.rcParams['figure.dpi'] = 300 #分辨率plt.rcParams['figure.figsize'] = (10, 10) # 图像显示大小plt.rcParams['

2020-08-30 22:04:45 4647

原创 np.linalg.norm()(numpy求范数)

1、linalg=linear(线性)+algebra(代数),norm则表示范数。2、函数参数x_norm=np.linalg.norm(x, ord=None, axis=None, keepdims=False)①x: 表示矩阵(也可以是一维)②ord:范数类型向量的范数:矩阵的范数:ord=1:列和的最大值ord=2:|λE-ATA|=0,求特征值,然后求最大特征值得算术平方根(matlab在线版,计算ans=ATA,[x,y]=eig(ans),sqrt(y),x是特征向量,y

2020-08-29 16:49:10 467

原创 np.nansum()、np.nanmean() 函数用法

numpy中np.nansum()、np.nanmean()NaN是什么?:Not a Number(NaN),代表一个“不是数字”的值,这个值不能直接进行运算,但它却是一个Number类型!在一个numpy数组求和、均值时,如果这个数组里包含了nan,则程序会报错或者求出来的值是nan,如下代码所示:>>> arr = np.array([1, 2, 3, 4, np.nan])>>> arr.sum()nan>>> arr.mean()

2020-08-28 20:35:12 23619

原创 np.random.rand()函数和np.random.randn()函数

np.random.rand()函数语法:np.random.rand(d0,d1,d2……dn) 注:使用方法与np.random.randn()函数相同作用:通过本函数可以返回一个或一组服从“0~1”均匀分布的随机样本值。随机样本取值范围是[0,1),不包括1。应用:在深度学习的Dropout正则化方法中,可以用于生成dropout随机向量(dl),例如(keep_prob表示保留神经元的比例):dl = np.random.rand(al.shape[0],al.shape[1]) &

2020-08-28 16:45:08 1686

原创 Numpy:numpy的运算函数 np.exp()、np.sqrt(B)

Numpy:numpy的运算函数 np.exp()、np.sqrt(B)np.exp(B) : 求e的幂次方np.sqrt(B):求B的开方

2020-08-27 14:21:28 4778

原创 Pycharm常用快捷键(内含全部快捷键)

常用快捷键全部快捷键查找替换快捷键调试快捷键导航快捷键搜索相关快捷键

2020-08-27 13:59:21 254

原创 NumPy中 axis = 0 ,axis = 1

在numpy中当 axis = 0 ,将会以列作为查找单元,进行列的相关计算print(np.min(a,axis=0))当 axis = 1 ,将会以行作为查找单元,进行行的相关计算print(np.sum(a,axis=1))

2020-08-27 08:53:03 157

原创 Matplotlib教程(Matplotlib基本用法)

Matplotlib基本用法基础应用使用import导入模块matplotlib.pyplot,并简写成plt 使用import导入模块numpy,并简写成npimport matplotlib.pyplot as pltimport numpy as np使用np.linspace定义x:范围是(-1,1);个数是50. 仿真一维数据组(x ,y)表示曲线1.x = np.linspace(-1, 1, 50)y = 2*x + 1使用plt.figure定义一个图像窗口. 使用plt

2020-08-26 21:42:06 1273

原创 Pandas教程(pandas用法)

Pandas 基本介绍Numpy 和 Pandas 有什么不同如果用 python 的列表和字典来作比较, 那么可以说 Numpy 是列表形式的,没有数值标签,而 Pandas 就是字典形式。Pandas是基于Numpy构建的,让Numpy为中心的应用变得更加简单。要使用pandas,首先需要了解他主要两个数据结构:Series和DataFrame。Seriesimport pandas as pdimport numpy as nps = pd.Series([1,3,6,np.nan,44

2020-08-26 16:50:43 2026

原创 NumPy教程(Numpy基本操作、Numpy数据处理)

Numpy 属性介绍几种 numpy 的属性:• ndim:维度• shape:行数和列数• size:元素个数使用numpy首先要导入模块import numpy as np #为了方便使用numpy 采用np简写列表转化为矩阵: python array = np.array([[1,2,3],[2,3,4]]) #列表转化为矩阵 print(array) """ array([[1, 2, 3], [2, 3, 4]]) """numpy 的几种属性接着我们看看这

2020-08-26 14:13:58 3937

原创 基于python3的Opencv图像处理教程(从零到实践)(贾志刚)pdf笔记、代码

课件+网上找的相关知识讲解+代码+代码注释百度网盘链接:https://pan.baidu.com/s/1Vg4Ir53u4OriNiwFjE9ucQ提取码:nbyl

2020-08-15 22:22:22 2534

原创 【OpenCv 4 Python 3.7】模糊操作(均值模糊 中值模糊 自定义模糊 高斯模糊)

一、均值模糊 中值模糊 自定义模糊基于离散卷积定义好每个卷积核不同卷积核得到不同的卷积效果模糊是卷积的一种表象代码实现:import cv2 as cvimport numpy as npdef blur_demo(image): #均值模糊(去噪) dst = cv.blur(image, (5, 5)) #卷积层 5行5列 cv.imshow("blur_demo", dst)def median_blur_demo(image): #中值模糊(去噪:椒

2020-08-15 21:58:17 736

原创 【OpenCv 4 Python 3.7】ROI与泛洪填充

 ROI(Region of interst感兴趣的区域),如何获取 numpy获取ROI 泛洪填充泛洪填充,如何填充一个对象内部区域FLOODFILL_FIXED_RANGE – 改变图像,泛洪填充FLOODFILL_MASK_ONLY – 不改变图像、只填充遮罩层本身、忽略新的颜色值参数 floodFill(Mat image, Mat mask, Point seedPoint, Scalar newVal) floodFill(image, mask, seedPoin.

2020-08-15 21:47:43 191

原创 【OpenCv 4 Python 3.7】色彩空间(颜色转换)

色彩空间(一)(Color Space)灰度色彩空间单通道,取值范围[0,255]RGB色彩空间(opencv中习惯用BGR)计算机色彩显示器和彩色电视机显示色彩的原理一样,都是采用R、G、B相加混色的原理,通过发射出三种不同强度的电子束,使屏幕内侧覆盖的红、绿、蓝磷光材料发光而产生色彩。这种色彩的表示方法称为RGB色彩空间表示。在RGB颜色空间中,任意色光F都可以用R、G、B三色不同分量的相加混合而成:F=r[R]+r[G]+r[B] F=r[R]+r[G]+r[B]F=r[R]+r[G

2020-08-15 21:41:33 347

原创 【OpenCv 4 Python 3.7】Numpy数组操作

图片以矩阵的形式存在电脑里,需要用到数组操作来完成对图像的处理Numpy数组操作Numpy包介绍-www.numpy.org 遍历数组中的每个像素点 修改数组中像素点的值 data\dtype\size\shape\len常用的有两个API: zeros和ones1 np.ones(size) 可以创建任意维度的数组,各个元素值均为1 2 np.zeros(size,dtype) 同上,但各个元素值为0.默认元素类型为浮点数使用示例: 1    img = np.zeros(

2020-08-15 21:09:13 223

原创 【OpenCv 4 Python 3.7】图像加载、显示、保存

在新版本的OpenCV4中,最简单的图像载入和显示只需要3句代码,非常便捷。这三句代码分别对应了三个函数,他们分别是:imread( ), namedWindow( )以及imshow( )。我们依次来解析一下这三个函数。1.imread函数首先,我们看imread函数,可以在OpenCV官方文档中查到其原型如下:Mat imread(const string& filename, intflags=1 );■ 第一个参数,const string&类型的filename,填我们

2020-08-15 21:00:12 357

原创 【OpenCv 4 Python 3.7】数字验证码识别

Tesserct-OCR:下载地址tesseract-ocr-setup-3.05.00dev-205-ge205c59.exe数字验证码识别:OpenCV+Tesserct-OCR OpenCV预处理 Tesserct-OCR验证码识别步骤: 预处理 – 去除干扰线与点 不同的结构元素中选择 Image与numpy array相互转化 识别与输出API层面: 学会使用OpenCV 形态学与二值化API做预处理 使用Tesseract-OCR做文字识别 识别率问

2020-08-15 20:41:47 402

原创 【OpenCv 4 Python 3.7】人脸检测 (Haar\LBP)

级联分类器首先研究级联分类器。理论级联分类器,即使用类 Haar 特征工作的级联增强分类器,是集成学习的一种特殊情况,称为 boost。它通常依赖于 Adaboost 分类器(以及其他模型,如 Real Adaboost、Gentle Adaboost 或 Logitboost)。级联分类器在包含检测目标的几百个样本图像以及不包含检测目标的其他图像上进行训练。级联分类器1、Haar 特征选择人脸上最常见的一些共同特征如下:与脸颊相比,眼部颜色较深与眼睛相比,鼻梁区域较为明亮眼睛、嘴巴、鼻

2020-08-14 21:50:15 747

原创 【OpenCv 4 Python 3.7】分水岭算法

分水岭算法使用分水岭算法进行图像分割  (一)获取灰度图像,二值化图像,进行形态学操作,消除噪点  (二)在距离变换前加上一步操作:通过对上面形态学去噪点后的图像,进行膨胀操作,可以得到大部分都是背景的区域(原黑色不是我们需要的部分是背景)  (三)使用距离变换distanceTransform获取确定的前景色相关知识补充(重点)  (四)在获取了背景区域和前景区域(其实前景区域是我们的种子,我们将从这里进行灌水,向四周涨水,但是这个需要在markers中表示)后,这两个区域中有未重合部分(注1

2020-08-14 21:09:29 351

原创 【OpenCv 4 Python 3.7】图像形态学操作之顶帽、黑帽、形态学梯度

1、 顶帽是原图像与开操作之间的差值图像开操作先腐蚀后膨胀,开操作之后就只剩下白色的矩形,原图减去矩形就是下面的。。2、黑帽是闭操作图像与源图像的差值图像3、形态学梯度 基本梯度 基本梯度是用膨胀后的图像减去腐蚀后的图像得到差值图像,称为梯度图像也是opencv中支持的计算形态学 梯度的方法,而此方法得到梯度有被称为基本梯度。 内部梯度 是用原图像减去腐蚀之后的图像得到差值图像,称为图 像的内部梯度 外部梯度 图像膨胀之后再减去原来的图像得到的差值图像,称为 图像的外部梯度代码

2020-08-13 22:04:00 749

原创 【OpenCv 4 Python 3.7】图像形态学操作之开闭操作

1、开操作:图像形态学的重要操作之一,基于膨胀与腐蚀操作组合形成的。 主要是应用在二值图像分析中,灰度图像亦可。 开操作=腐蚀+膨胀, 输入图像 + 结构元素2、闭操作 图像形态学的重要操作之一,基于膨胀与腐蚀操作组合形成的。 主要是应用在二值图像分析中,灰度图像亦可。 闭操作=膨胀+腐蚀, 输入图像 + 结构元素开闭操作的作用: 去除小的干扰块-开操作 填充闭合区域 – 闭操作 水平或者垂直线提取注意:不同结构元素结果不一样!!!代码实现:#结构元素的选取和大

2020-08-13 21:23:31 297

原创 【OpenCv 4 Python 3.7】图像形态学操作之膨胀腐蚀

形态学操作(morphology operators)-膨胀与腐蚀(Dilation与Erosion)。图像形态学操作1、图像形态学操作 – 基于形状的一系列图像处理操作的合集2、形态学有四个基本操作:腐蚀、膨胀、开、闭3、膨胀与腐蚀是图像处理中最常用的形态学操作手段4、腐蚀和膨胀是对白色部分(高亮部分)而言的,不是黑色部分。膨胀就是图像中的高亮部分进行膨胀,“领域扩张”,效果图拥有比原图更大的高亮区域。腐蚀就是原图中的高亮部分被腐蚀,“领域被蚕食”,效果图拥有比原图更小的高亮区域。5、膨胀与腐

2020-08-12 22:39:12 594

原创 【OpenCv 4 Python 3.7】对象测量(面积,周长,质心,边界框等)

opencv 对象测量1、 opencv 中轮廓特征包括:如面积,周长,质心,边界框等*弧长与面积测量*多边形拟合*获取轮廓的多边形拟合结果2、python-opencv API提供方法:cv2.moments() 用来计算图像中的中心矩(最高到三阶),cv2.HuMoments() 用于由中心矩计算Hu矩,同时配合函数cv2.contourArea()函数计算轮廓面积,和cv2.arcLength()来计算轮廓或曲线长度*cv.approxPolyDP(多边形逼近

2020-08-12 22:07:03 3961 7

原创 pip安装第三方库,将其同步到PyCharm中

一、问题:在cmd控制台 pip install xxxx 后并显示安装成功后,并且尝试用cmd 的python 中import xxxx ,没有显示异常,说明这个库是安装成功了的。但是在PyCharm中导库时却出现了问题,会显示该模块不存在!(即在一个项目文件中,import一个未安装的第三方库文件,PyCharm会显示波浪线,即表示此库未安装。)解决方法:1、直接在PyCharm下载第三方库2、找到:project interpreter(项目解释器)File --> Setting

2020-08-12 14:11:48 2531

原创 【OpenCv4 运行错误】ValueError: not enough values to unpack (expected 3, got 2)

OpenCV 3 版本输出3个值cloneImage, contours, hierarchyOpenCV 4 版本输出2个值contours, hierarchyOpenCV旧版,返回三个参数:要想返回三个参数:把OpenCV 降级成3.4.3.18 就可以了,在终端输入pip install opencv-python==3.4.3.18cloneImage, contours, hierarchy = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHA

2020-08-12 09:06:36 866

原创 【OpenCv 4 Python 3.7】轮廓发现

轮廓发现—是基于图像边缘提取的基础寻找对象轮廓的方法,所以边缘提取的阈值选定会影响最终轮廓发现的结果。介绍两种API使用:-cv.findContours 发现轮廓-cv.drawContours 绘制轮廓一.Opencv发现轮廓的函数为:findContours(image, mode, method[, contours[, hierarchy[, offset]]]) -> image, contours, hierarchy各参数含义:1、image参数表示8位单通道图像矩阵,可

2020-08-12 09:00:10 307

原创 【OpenCv 4 Python 3.7】直线检测

直线检测可以通过OpenCV的HoughLines和HoughLinesP函数来完成,它们仅有的差别是:第一个函数使用标准的Hough变换,第二个函数使用概率Hough变换,即只通过分析点的子集并估计这些点都属于一条直线的概率,这在计算速度上更快。霍夫直线检测的两种方法一:HoughLines方法cv2.HoughLines函数输出的是[float, float]形式的ndarray,其中每个值表示检测到的线(ρ , θ)中浮点点值的参数。第一个参数image:是canny边缘检测后的图像第二个参

2020-08-11 22:11:21 398

原创 【OpenCv 4 Python 3.7】圆检测

圆检测技术:圆检测技术目前用处还是特别的广泛的,锅炉、管道等类似的情况,我们不能切开或者打孔去测试流量,温度等参数。这是我们可以在管道上画一个圆,用摄像机去检测圆中心,进而测试出我们需要的信息。对于一个圆,就需要用三个参数来确定。使用Hough梯度法的依据是圆心一定出现在圆上的每个点的模向量上,圆上点的模向量的交点就是圆心的所在位置。Hough梯度法的第一步就是找到这些圆心,这样三维的累加平面就转化为二维累加平面。第二步就是根据所有候选中心的边缘非零像素对其的支持程度来确定半径。 从平面坐标到极坐

2020-08-11 22:06:00 291

原创 【pytorch】安装对应版本【torchvision】以及torchvision安装(pytorch 1.0.0 --->torchvision 0.2.2)

1.代码要求版本1.0,pytorch1.1会报错ImportError: /usr/local/lib/python3.5/dist-packages/torchvision/_C.cpython-35m-x86_64-linux-gnu.so: undefined symbol: _ZN2at7getTypeERKNS_6TensorE2. 安装torch1.0 要对应安装torchvision0.2.0win下Pytorch安装与torchvision安装踩坑此篇使用win10 pytho

2020-08-11 16:16:04 5531 3

原创 【OpenCv 4 Python 3.7】Canny边缘检测(边缘提取)

Canny边缘检测的概念OpenCV函数用于:cv2.Canny()步骤:高斯模糊 - GaussianBlur灰度转换 - cvtColor计算梯度 – Sobel/Scharr非最大信号抑制高低阈值输出二值图像Canny边缘检测:是一种流行的边缘检测算法。它是由约翰·F·坎尼于1986年开发的。这是一个多阶段的算法。1、降噪由于边缘检测对图像中的噪声很敏感,第一步是用5x5高斯滤波器去除图像中的噪声。2、灰度转换 - cvtColor3、图像强度梯度的求取然后在水平方向和

2020-08-10 22:14:21 1049

原创 【OpenCv 4 Python 3.7】图像梯度,图像边界

学习图像梯度,图像边界等  梯度简单来说就是求导。OpenCV提供了三种不同的梯度滤波器,或者说高通滤波器:Sobel,Scharr和Lapacian。Sobel,Scharr其实就是求一阶或二阶导。Scharr是对Sobel的部分优化。Laplacian是求二阶导。1.Sobel算子和Scharr算子Sobel算子是高斯平滑和微分操作的结合体,所以他的抗噪声能力很好。你可以设定求导的方向(xorder 或 yorder)。还可以设定使用的卷积核大小(ksize)。当ksize=-1时,会使用33

2020-08-10 21:32:32 230

原创 【OpenCv 4 Python 3.7】图像金字塔

理论知识:1、图像金字塔(Image Pyramid)图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构。图像金字塔最初用于机器视觉和图像压缩,一幅图像的 金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。金字塔的底部是待处理图像的高分辨率表示,而顶部是低分辨率的近似。我们将一层一层的图像比喻成金字塔,层级越高,则图像越小,分辨率越低。常见两类图像金字塔高斯金

2020-08-10 20:56:07 329

原创 【安装tensorflow】使用清华开源镜像安装 tensorflow

使用清华开源镜像安装tensorflow安装tensorflow时,如果使用直接安装速度相对较慢,采取清华大学的镜像会提高速度。GPU版本安装方法:pip install tensorflow-gpu==2.2 -i https://pypi.tuna.tsinghua.edu.cn/simpleCPU版本安装方法:pip install tensorflow==2.2 -i https://pypi.tuna.tsinghua.edu.cn/simple备注:安装的时候需要python是64位

2020-08-10 14:51:35 25361 4

原创 将python离线下载包导入到pycharm中(以pytorch离线包导入到pycharm为例)

123456、选择你使用的路径7我设置之后就可以引入pytorch了

2020-08-10 12:45:51 1022

原创 numpy.core.multiarray failed to import 的解决方法

在 import cv2 as cv(opencv)import numpy as npimport tensorflowimport keras 时出现这个问题根本原因是numpy版本低解决方法1、先pip uninstall numpy,确保完全卸载numpy,再pip install -U numpy 或者 在卸载numpy后,删掉 anaconda3\lib\site-packages\numpy\core\multiarray.cp36-win_amd64.pyd 文件,再

2020-08-10 12:28:33 1588

原创 【pytorch安装】离线安装pytorch(以cpu版本安装为例)

首先下载离线安装包:https://download.pytorch.org/whl/torch_stable.html选择你要下载的版本(由于没有N卡,我以cpu版本为例安装)安装在有python.exe文件夹中指定安装路径的命令行:pip install --target=xxx pygame比如我的就是:pip install --target=D:\python\python_rujian torch-1.0.0-cp37-cp37m-win_amd64.whl在cmd中进入安

2020-08-10 11:57:29 5729

原创 【OpenCv】(python)超大图像的二值化方法(空白过滤)

超大图像的二值化方法(1).可以采用分块方法,(2).先缩放处理就行二值化,然后还原大小1、局部阈值、全局阈值import cv2 as cvimport numpy as np"""def big_image_binary(image): print(image.shape) #(4208, 2368, 3)  #超大图像,屏幕无法显示完整 cw,ch = 256,256 h,w = image.shape[:2] gray = cv.cvtColor(i

2020-08-09 22:10:02 593

原创 [OpenCv](python)图像二值化

图像二值化import cv2 as cvimport numpy as np“”"1、 全局阈值函数cv2.threshold(src, thresh, maxval, type[, dst]) -> retval, dst参数: src - 输入数组/图像(多通道,8位或32位浮点)thresh - 阈值maxval - 最大值,与#THRESH_BINARY和#THRESH_BINARY_INV阈值类型一起使用的最大值(maximum value)type - 阈值类型ds

2020-08-09 20:55:34 371

原创 Anaconda之前版本(例:Anaconda 5.3.1 python 3.7)下载地址

清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-4.3.0.1-Windows-x86_64.exe 对应 python3.6.0Anaconda3-5.1.0-Windows-x86_64.exe 对应 python3.6.3Anaconda3-5.2.0-Windows-x86_64.exe 对应 python3.6.5Anaconda3-5.3.1-Windows-x86_64.exe对应

2020-08-08 08:31:53 3117 5

原创 【OpenCV 4】(python 3.7)模板匹配原理及代码实现

模板匹配:是一种在较大的图像中搜索和查找模板图像位置的方法。OpenCV带有一个函数用于此目的.它只是简单地将模板图像放在输入图像上(就像在2D卷积中那样),并在模板图像下对输入图像的模板和补丁进行比较,在OpenCV中实现了几种比较方法,它返回一个灰度图像,每个像素表示该像素区域与模板的匹配程度.如果输入图像的大小(W x H)且模板图像的大小(w x h),则输出图像的大小为(W-w + 1,H-h + 1).获得结果后,可以使用函数查找最大/最小值的位置。将其作为矩形的左上角,并将(w,h)作为矩

2020-08-07 22:13:00 585

空空如也

空空如也

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

TA关注的人

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