图像像素

永兴的tensorflow笔记-9 全连接MNIST初体验(手写字识别)

六眼飞鱼酱① 提交于 2020-01-24 04:21:05
一、什么是全联接神经网络? 全连接神经网络(fully connected neural network),顾名思义,就是相邻两层之间任意两个节点之间都有连接。全连接神经网络是最为普通的一种模型(比如和CNN相比),由于是全连接,所以会有更多的权重值和连接,因此也意味着占用更多的内存和计算。 全连接层的每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。由于其全相连的特性,一般全连接层的参数也是最多的。 二、什么是MNIST? MNIST是一个入门级的计算机视觉数据集,它包含各种手写数字图片: 它也包含每一张图片对应的标签,告诉我们这个是数字几。比如,上面这四张图片的标签分别是5,0,4,1。 我们将训练一个机器学习模型用于预测图片里面的数字。所以,我们这里会从一个很简单的数学模型开始,它叫做Softmax Regression。 三、MNIST数据集获取: 1、下载数据集: MNIST数据集的官网是: 点击打开 下载下来的数据集被分成两部分:60000行的训练数据集(mnist.train)和10000行的测试数据集(mnist.test)。这样的切分很重要,在机器学习模型设计时必须有一个单独的测试数据集不用于训练而是用来评估这个模型的性能,从而更加容易把设计的模型推广到其他数据集上(泛化)。 正如前面提到的一样,每一个MNIST数据单元有两部分组成

[笔记]移动端的 viewport 和各种像素区分

帅比萌擦擦* 提交于 2020-01-24 02:31:01
一、关于移动端的viewport 1 简介 设备的宽度是移动设备浏览器和桌面浏览器的最大区别,移动设备的屏幕宽度被桌面浏览器小,经常最大就400px。移动设备浏览器厂商期望它们的客户端在浏览PC页面时,能提供更像桌面浏览器的体验。 因为viewport太窄,不能很好为你的基本CSS布局服务了。最显然的解决方法是让viewport更宽。因此这个需求分为了2个方面:visual viewport和layout viewport。 visual viewport是当前显示在屏幕上的页面的一部分。一般来说,layout viewport比visual viewport要宽得多,并且包含出现在屏幕上的元素。设想layout viewport是一个大的图像,它不会改变大小或形状。现在假设你有一个较小的框,通过它你可以看到大的图像。小的框被不透明的材料包围,遮盖了所有的视图,除了大图像的一部分。可以通过框架看到大图像的部分是visual viewport。你能改变这个框的方向,但这样图片的大小和形状都不会改变。 每个移动端浏览器的layout viewport的宽度都不同。下图列出了一些设备上浏览器的默认viewport宽度。 layout viewport的尺寸为document.documentElement.clientWidth/clientHeight。 visual

[Stage3D]初窥Stage3D(2)

穿精又带淫゛_ 提交于 2020-01-23 12:57:37
Vertex and Fragment Shader (顶点着色器 和 像素着色器) 1.什么是shader   Shader(着色器)是图形渲染管道中的可编程代码块,它是跑在GPU上面的程序,专门用于处理图像显示,分为 vertex shader(顶点着色器) 和 fragment shader (像素着色器)。顾名思义,这两个shader的功能,分别是负责顶点的处理,和像素的处理。 而在Stage3D中,提供了一个API叫Program3D,这个类实现了Shader 。也就是说,如果要在Actionscript中使用shader编程,则必须使用stage3D中的Program3D类。这个类会根据渲染需求生成一个shader实例并把它传递给GPU,此后GPU再执行这个shader实例从而执行渲染效果。    简而言之,shader是运行在GPU上面的程序,负责图形顶点计算和像素颜色渲染。 2.Shader的工作流程    (图片来自:http://www.adobe.com/devnet/flashplayer/articles/vertex-fragment-shaders.html)   如图所示为可编程图形管道的各个工作模块,模块之间是瀑布式的(即下一个模块的工作依赖于上一个模块的输出)。首先,假定我们有一组定义了一组三角形的顶点数据流。在图形管道中

python-opencv-图像颜色反转

冷暖自知 提交于 2020-01-21 08:16:31
图像是由一个一个的像素组成的,每个像素又是由一个个不同的颜色值(OpenCV中为bgr模式)组成,其中每个颜色通道的值均为0-255。 所谓图像的颜色反转,就是将每个颜色通道值用255减去原通道值,得到一个新的颜色通道值,再重新组合成新的bgr颜色通道产生新像素而形成新的图像。举个极端的例子,比如一个纯白色像素点的值为(255,255,255),它经过颜色反转变换后形成的新的像素点为(0,0,0),也就是变成了纯黑色像素点。 灰度图的图像颜色反转: import cv2 import numpy as np img = cv2.imread("3.jpg",0) #读取一张图片,灰度 height,width=img.shape dst=np.zeros((height,width,1),np.uint8) for i in range(height): for j in range(width): dst[i,j]=255-img[i,j] cv2.imshow('img',img) cv2.imshow('dst',dst) cv2.waitKey() #窗口等待任意键盘按键输入,0为一直等待,其他数字为毫秒数 效果图: 来源: https://www.cnblogs.com/liming19680104/p/12220566.html

第04课 显示、修改单个像素值

我们两清 提交于 2020-01-21 00:51:03
**学科:**人工智能 年级: 七 年级上 **课题:**第04课 显示、修改单个像素值 课时数:1 教学目标 : 理解图片像素点的表示方法; 掌握显示、修改二值图像像素值的方法; 掌握显示、修改灰度图像像素值的方法; 掌握显示、修改彩色图像像素值的方法; 能够对代码进行修改,实现修改指定位置的图像颜色; 教学重点: 掌握修改像素值的方法。 教学难点: 修改指定位置的图像颜色。 教学准备: 示例图片,程序代码文件 教 学 过 程 一、开放导入 1.前面我们学习了电脑显示图片的原理,电脑中的图片是由无数个显示颜色的像素点组成,图片中的每个像素点都有一对表示位置的数字(坐标点),比如图1中左上角表示为[0,0],A表示为[2,1],B表示为[4,5]。 【展示图片,对各个坐标点进行提问】 二、核心过程推进 1.显示像素值 如果我们想知道一张图片某个位置的像素值,可以在读取图片后,通过像素点的位置坐标进行查询。 比如:我们要查询彩色图片(nezha.jpg)[30,240]位置的像素值,代码如下 import cv2 img = cv2 . imread ( 'nezha.jpg' , - 1 ) # 读取图片 ​ print ( img [ 30 , 240 ] ) # 显示像素值 ​ cv2 . imshow ( 'nezha' , img ) #显示图片 cv2 . waitKey

Image Signal Processing(ISP)-第二章-Demosaic去马赛克以及BMP软件实现

余生颓废 提交于 2020-01-19 02:26:45
Hello!ISP的基础知识分享第二章终于来了!最近精力都投入到了工作上,真是没时间写东西。但一位大佬私信我催更,着实让我感动。即使我的文字只有一个人看,那我也会写下去,而且泡做事怎么会半途而费呢? Image Signal Processing-第二章-Demosaic去马赛克以及BMP软件实现 1. Demosaic去马赛克 1.1 Demosaic 原理 1.2 Demosaic软件实现 1.3 输出结果 2. BMP位图(Bitmap) 2.1 BMP基础 2.2 保存BMP的软件实现 2.3 输出结果 往期 : Image Signal Processing(ISP)-第一章-ISP基础以及Raw的读取显示 上一篇文章介绍了ISP的基础以及获取Raw的详细方法。在获取Raw数据后,我们就可以正式开始ISP了。这里,我把ISP分为 必要操作 和 优化操作 。 必要操作 是指对Raw数据不做处理,尽量无失真地转化为常见的图片格式的数据。 优化操作 是指尽可能分析数据不真实的原因,找到并实施对应的改善处理。 必要操作需要较多关于文件格式以及编码的知识,而优化操作需要较多图像算法的知识。 在本篇连载中,让我先介绍ISP中的必要操作 ,实现把Raw数据转化为常见图片格式的数据。这不仅可以保证整个ISP的通畅,还可以保存常见图片格式文件,帮助我们方便地分析ISP各模块的效果。

立体匹配算法SGBM

人走茶凉 提交于 2020-01-18 05:12:04
SGBM算法,作为一种全局匹配算法,立体匹配的效果明显好于局部匹配算法,但是同时复杂度上也要远远大于局部匹配算法。 原文链接: https://blog.csdn.net/renshengrumenglibing/article/details/8525328SGBM的基本原理 SGBM的基本步骤涉及:预处理、代价计算、动态规划以及后处理 预处理 Step1:SGBM采用水平 Sobel算子 ,把图像做处理,公式为: Sobel(x,y)=2[P(x+1,y)-P(x-1,y)]+ P(x+1,y-1)-P(x-1,y-1)+ P(x+1,y+1)-P(x-1,y+1) Step2:用一个函数将经过水平Sobel算子处理后的图像上每个像素点(P表示其像素值)映射成一个新的图像:PNEW表示新图像上的像素值。映射函数: 预处理实际上是得到图像的梯度信息 。经预处理的图像保存起来,将会用于计算代价。 预处理参数 1:preFilterCap: 水平sobel预处理后,映射滤波器大小默认为15 int ftzero =max(params.preFilterCap, 15) | 1; opencv测试例程test_stereomatching.cpp中取63。 代价计算 代价有两部分组成: 1经过预处理得到的图像的梯度信息经过 基于采样的方法得到的梯度代价

前端移动端适配总结

邮差的信 提交于 2020-01-17 17:07:55
meta标签到底做了什么事情 做过移动端适配的小伙伴一定有遇到过这行代码: <meta name="viewport" content="width=device-width, initial-scale=1.0"> 但是,很多小伙伴只是感性的认识:噢,我加了这行代码,然后页面的宽度就会跟我的设备宽度一致。然而,这种理解是很片面的。那么,这句话的本质到底是什么呢? 不急,我们先往下面看,这里先留个悬念。 几个专有名词和单位 这里,我们先来辨析一下在适配的时候经常会遇到的一些名词、数值单位。 首先,先来看一下 物理像素 。 以iphone6为例,可知道: 分辨率 :1334pt x 750pt 指的是屏幕上垂直有1334个物理像素,水平有750个物理像素。 屏幕尺寸 :4.7in 注意英寸是长度单位,不是面积单位。4.7英寸指的是屏幕对角线的长度,1英寸等于2.54cm。 屏幕像素密度 :326ppi 指的是每英寸屏幕所拥有的像素数,在显示器中,dpi=ppi。dpi强调的是每英寸多少点。同时, 屏幕像素密度 = 分辨率 / 屏幕尺寸 接着,我们来看一下其他的单位。 设备独立像素 :设备独立像素,不同于设备像素(物理像素),它是虚拟化的。比如说css像素,我们常说的10px其实指的就是它。需要注意的是, 物理像素 开发者是无法获取的,它是自然存在的一种东西,该是多少就是多少。

图像特征提取之HOG特征

为君一笑 提交于 2020-01-17 08:59:26
目标检测的图像特征提取之(一)HOG特征 zouxy09@qq.com http://blog.csdn.net/zouxy09 1、HOG特征: 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。需要提醒的是,HOG+SVM进行行人检测的方法是法国研究人员Dalal在2005的CVPR上提出的,而如今虽然有很多行人检测算法不断提出,但基本都是以HOG+SVM的思路为主。 (1)主要思想: 在一副图像中,局部目标的表象和形状(appearance and shape)能够被梯度或边缘的方向密度分布很好地描述。(本质:梯度的统计信息,而梯度主要存在于边缘的地方)。 (2)具体的实现方法是: 首先将图像分成小的连通区域,我们把它叫细胞单元。然后采集细胞单元中各像素点的梯度的或边缘的方向直方图。最后把这些直方图组合起来就可以构成特征描述器。 (3)提高性能: 把这些局部直方图在图像的更大的范围内(我们把它叫区间或block)进行对比度归一化(contrast-normalized),所采用的方法是:先计算各直方图在这个区间(block)中的密度

OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(2)

Deadly 提交于 2020-01-17 06:41:35
本文转载自: https://www.cnblogs.com/wangguchangqing/p/4045150.html 作者:wangguchangqing 转载请注明该声明。 在 OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1) 主要介绍了图像变换中的向前映射、向后映射、处理变换过程中浮点坐标像素值的插值算法,并且基于 OpenCV2 实现了两个简单的几何变换:平移和镜像变换。本文主要稍微复杂点的两个几何变换:缩放和旋转。 1.图像缩放 图像的缩放主要用于改变图像的大小,缩放后图像的图像的宽度和高度会发生变化。水平缩放系数,控制图像宽度的缩放,其值为1,则图像的宽度不变;垂直缩放系数控制图像高度的缩放,其值为1,则图像的高度不变。如果水平缩放系数和垂直缩放系数不相等,那么缩放后图像的宽度和高度的比例会发生变化,会使图像变形。要保持图像宽度和高度的比例不发生变化,就需要水平缩放系数和垂直缩放系数相等。 左边的图像水平缩放系数和垂直缩放系数都是0.5;右边的图像的水平缩放系数为1,垂直缩放系数为0.5,缩放后图像宽度和高度比例发生变化,图像变形。 1.1 缩放原理 设水平缩放系数为sx,垂直缩放系数为sy,(x0,y0)为缩放前坐标,(x,y)为缩放后坐标,其缩放的坐标映射关系: 矩阵表示的形式为: 这是向前映射,在缩放的过程改变了图像的大小