函数图像

第一章 函数、图像和直线

匿名 (未验证) 提交于 2019-12-03 00:14:01
函数 函数:将一个对象转化为另一个对象的规则。 输入:起始对象 定义域:输入的集合 输出:返回的对象 上域:输出来自上域的集合 例: f(x) = x 2 ,定义域为 R 定义函数f,将任何定义域内的数变为自己的平方 对于非定义域内的数,没有结果。如f(马) f:变换规则 f(x):把变换规则应用与变量x后得到的结果 限制:定义函数g(x) = x 2 ,定义域为非负整数。这时由于g和f有相同的规则,但g的定义域小于f,因而我们说g是由限制f的定义域产生的。 来源:博客园 作者: Gaber 链接:https://www.cnblogs.com/Gaber/p/11650096.html

卷积神经网络概念

匿名 (未验证) 提交于 2019-12-03 00:08:02
卷积神经网络   卷积神经网络(CNN)是深度学习的代表算法之一 。具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类,因此也被称为“平移不变人工神经网络” 。 随着深度学习理论的提出和数值计算设备的改进,卷积神经网络得到了快速发展,并被应用于 计算机视觉 、 自然语言处理 等领域 。   卷积是通过两个函数 f,g 生成第三个函数的一种数学算子,表征函数 f 与 g 经过翻转和平移的重叠部分的面积。数学定义公式:   事实上,在卷积网络上使用的离散卷积,也就是不连续的,它是一种运算方式,也就是按照卷积核,将输入对应位置的数据进行加权和运算,接下来结合卷积核的概念,就会很好理解了。 卷积神经网络最重要的两个知识点就是 卷积核 和 卷积神经网络的结构 卷积核 卷积核定义 卷积操作 深度 步幅 零填充 卷积神经网络的结构 输入层 INPUT 卷积层 CONV 激活函数层 RELU 池化层 POOL 全连接层 FC 卷积核    卷积核的定义 :对于输入图像中的一部分区域,进行加权平均的处理,其中这个过程的权重,由一个函数定义,这个函数就是卷积核。 如下图彩色图像有RGB三个色值通道,分别表示红、绿、蓝,每个通道内的像素可以用一个像下图右边的二维数组表示,数值代表0-255之间的像素值。假设一张900*600的彩色的图片,计算机里面可以用 (900*600*3)的数组表示。

10. mlab控制函数

匿名 (未验证) 提交于 2019-12-03 00:05:01
文章目录 图像控制函数 图像装饰函数 其他控制函数 图像控制函数 函数名称 说明 clf 清空当前图像 mlab.clf(figure=None) close 关闭图像窗口 mlab.close(scene=None, all=False) draw 重新绘制当前图像 mlab.close(figure=None) figure 建立一个新的Scene或者访问一个存在的Scene mlab.figure(figure=None,bgcolor=None,fgcolor=None, engine=None,size=(400,350)) gcf 返回当前图像的handle mlab.gcf(figure=None) savefig 存储当前的前景,输出为一个文件,如png、jpg、bmp、tiff、 pdf、obj、vrml等 图像装饰函数 函数名称 说明 cololorbar 为对象的颜色映射增加颜色条 mlab.clolorbar(object=None, title=None, orientation=No ne, nb_labels=None, nb_colors=None, label_fmt=None) scalarbar 为对象的标量颜色映射增加颜色条 vectorbar 为对象的矢量颜色映射增加颜色条 xlabel 建立坐标轴,并添加x轴的标签 mlab.xlabel

利用Gabor变换法分析纹理图像 matlab代码实现

匿名 (未验证) 提交于 2019-12-02 23:56:01
Gabor变化属于加窗傅里叶变换,Gabor函数可以在频域不同尺度、不同方向上提取相关的特征。Gabor函数与人眼的生物作用相仿,所以经常用于纹理识别上,并取得了较好的效果。 二维Gobor滤波函数: 其中: xp = x*cos(theta)+y*sin(theta) yp=y*cos(theta)-x*sin(theta) mean(平均值) Con(对比度) Ent(熵) theta=pi/10 0.0043 1.6111 0.4046 theta=pi/4 0.0042 1.5869 0.3623 熵反映了图像的能量,当滤波器的方向和图像纹理方向越吻合,输出图像的能量越大。这证明了Gabor函数可以捕捉到相当多的纹理信息,具有极佳的空间特征。 来源:博客园 作者: 我坚信阳光灿烂 链接:https://www.cnblogs.com/wojianxin/p/11432280.html

数字识别,神经网络

元气小坏坏 提交于 2019-12-02 23:29:07
来源:https://www.numpy.org.cn/deep/basics/fit_a_line.html 数字识别 本教程源代码目录在 book/recognize_digits ,初次使用请您参考 Book文档使用说明 。 # 说明: 硬件环境要求: 本文可支持在CPU、GPU下运行 Docker镜像支持的CUDA/cuDNN版本: 如果使用了Docker运行Book,请注意:这里所提供的默认镜像的GPU环境为 CUDA 8/cuDNN 5,对于NVIDIA Tesla V100等要求CUDA 9的 GPU,使用该镜像可能会运行失败。 文档和脚本中代码的一致性问题: 请注意:为使本文更加易读易用,我们拆分、调整了train.py的代码并放入本文。本文中代码与train.py的运行结果一致,可直接运行 train.py 进行验证。 # 背景介绍 当我们学习编程的时候,编写的第一个程序一般是实现打印"Hello World"。而机器学习(或深度学习)的入门教程,一般都是 MNIST 数据库上的手写识别问题。原因是手写识别属于典型的图像分类问题,比较简单,同时MNIST数据集也很完备。MNIST数据集作为一个简单的计算机视觉数据集,包含一系列如图1所示的手写数字图片和对应的标签。图片是28x28的像素矩阵,标签则对应着0~9的10个数字。每张图片都经过了大小归一化和居中处理。

HSmartWindowControl 之 显示图像

匿名 (未验证) 提交于 2019-12-02 22:06:11
概述:使用Halcon在VS中的控件显示一张图片。 要点:使用了图像缩放和图像显示函数,以及鼠标滚轮响应函数。 1、创建WinForm项目 参考上一篇:HSmartWindowControl之安装篇 (Visual Studio 2013 & Halcon 18) https://www.cnblogs.com/oucsheep/p/9563876.html 在VS中添加Halcon所需的控件HSmartWindowControl。 然后创建新的winForm工程,并向窗体中拖入一个HSmartWindowControl控件和两个按钮控件。 拖入后不添加代码,直接运行,可能会出现如下错误: HalconDotNet.HHandleBase 的类型初始化值设定项引发异常 Halcon error #2381:License is for wrong edition of Halcon in Operator set_system 原因是halcon运行库是64位的,vs的运行模式也需要设置为64位,默认的debug模式可能是any CPU,需要把这里修改成x64。 或者从解决方案资源管理器(solution Explorer)中双击打开属性(Property)页面,把Build栏的Platform target 改为x64即可。 2、创建Halcon实时显示代码并导出

OpenCV中通过滑动条阈值分割多通道图像

谁说我不能喝 提交于 2019-12-02 13:39:03
1、阈值分割 阈值分割法是一种基于区域的图像分割技术。其基本原理是:通过设定不同的特征阈值,把图像象素点分为若干类。根据图像阈值化算法所依据的信息源,可将阈值化方法分为五类:1) 基于聚类的方法:数据聚类中,总的数据集被划分为属性相似的子类,例如将灰度级聚类成为两部分:前景物体部分和背景部分。2) 基于直方图的方法:在直方图的峰、谷和直方图的圆滑曲线上进行分析。3) 基于熵的方法:熵方法将区域分为背景区域和前景区域,前景区域通常是物体部分(在一些热红外图像中,背景部分是物体) 。该方法是通过最小化一个熵函数来实现的,交叉熵函数包含了介于原图和其二值图像之间的保留信息。4) 基于空间方法:使用概率密度函数模型,考虑全局范围内的像素之间的相似关系。5) 基于自适应方法:局部方法不能决定单一的阈值,自适应阈值依赖于局部图像特点。 这里,我们仅结合OpenCV中的API函数 threshold 来介绍一下阈值化。threshold函数原型如下: double threshold(InputArray src, OutputArray dst, double thresh, double maxVal, int thresholdType) Parameters: 第一个参数: 输入的灰度图像的地址。 第二个参数: 输出图像的地址。 第三个参数: 进行阈值操作时阈值的大小。 第四个参数:

MATLAB图像的代数运算

匆匆过客 提交于 2019-12-02 07:05:09
1.图像旋转与缩放 bm=imread("3.png"); %subplot(1,3,1); imshow(bm); %缩放图片 %bt=imresize(bm,0.5,'nearest'); %图片旋转,第三个参数可选,逆时针旋转 theta=30; bt=imrotate(bm,theta,'crop'); %subplot(1,3,2); figure,imshow(bt) 'crop'表示旋转时,是否切割。 2.图像的加法运算 2.1 图像结合 在MATLAB中,如果要进行两幅图像的加法,或者给一幅图像加上一个常数,可以调用imadd函数来实现。imadd函数将某一幅输入图像的每一个像素值与另一幅图像相应的像素值相加,返回相应的像素值之和作为输出图像。imadd函数的调用格式如下: Z = imadd(X,Y) 其中,X和Y表示需要相加的两幅图像,返回值Z表示得到的加法操作结果。 I=imread('3.png'); J=imread('4.png'); n = size(I,2); m = size(J,2); if n > m n = m; end i = size(I,1); j = size(J,1); if i > j i = j; end k = size(I,3); t = size(J,3); if k > t k = t; end %图像叠加 K

利用phpqrcode二维码生成类库和imagecopymerge函数制拼接图片的经验(一)

冷暖自知 提交于 2019-12-01 18:55:48
前期准备 引入phpqrcode类库(下载地址: https://sourceforge.net/projects/phpqrcode/ ) PHP开启GD扩展库支持 1、利用phpqrcode生成二维码: 原理分析: 下载下来的类文件是一个压缩包,包含很多文件和演示程序,我们只需要里边的phpqrcode.php 这一个文件就可以生成二维码了,它是一个多个类的集合文件,我们需要用到里边的 QRcode类 的 png() 方法: public static function png($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4, $saveandprint=false) { $enc = QRencode::factory($level, $size, $margin); return $enc->encodePNG($text, $outfile, $saveandprint=false); } /** * * 参数详解 * 第1个参数$text:二维码包含的内容,可以是链接、文字、json字符串等等; * 第2个参数$outfile:默认为false,不生成文件,只将二维码图片返回输出;否则需要给出存放生成二维码图片的文件名及路径; * 第3个参数$level:容错级别,默认为L。

OpenGL开发之旅基础知识介绍

旧巷老猫 提交于 2019-12-01 16:28:11
OpenGL开发之旅基础知识介绍    最近由于手机项目中需要用到OpenGL ES的知识,所以这段时间正在研究OpenGL的相关知识。因为OpenGL ES是OpenGL的剪裁版本,所以我直接从OpenGL入手,然后再去看OpenGL ES就很容易上手。从此篇开始,我将发表一系列文章来逐步深入介绍OpenGL的相关知识,开发我们可以使用VC6.0或.NET。   那么今天我要介绍的是OpenGL开发之旅基础知识介绍,这很重要,会让我们从整体上熟悉OpenGL的工作原理及过程。       1. 保持模式与立即模式:   通常情况下我们编写3D图形时可使用两种不同的方法:   一种方法我们称之为保持模式。在保持模式中,我们可以向编写的API或是工具箱提供物体及场景的描述,然后图形包就会在屏幕上创建这个图像,我们需要做的就是提供命令去改变照相机或场景中其他物体的位置和观察方向。对于我们开发者而言,我们创建的能够对物体及场景的描述称为场景图,场景图是什么呢?大家可能对这个名称比较熟悉但却不能说出它的准确含义。在通常情况下,场景图是个有向无环图的数据结构,它包含了场景中的所有物体以及这些物体之间相互的关系,实现了对物体及场景的描述。据了解,现在许多的游戏引擎及高层工具箱都使用了这种方法。这使得我们开发人员不需要对其渲染过程进行特别精细的控制,它只需要向图形函数库提供一个模型或是场景