像素

Alpha测试

这一生的挚爱 提交于 2020-01-04 04:42:22
Alpha测试可控制Direct3D程序是否绘制当前像素(根据是否满足Alpha测试条件),图形程序应用Alpha测试可以有效地屏蔽某些像素颜色。与Alpha混合相比,Alpha测试不能将绘制像素颜色与颜色缓冲区像素混合,像素要么完全不透明,要么完全透明。由于无须进行颜色缓冲区的读操作,因此Alpha测试在速度上要优于Alpha混合。   Alpha测试通过渲染状态D3DRS_ALPHATSTEABLE设置,下列代码激活Direct3D的Alpha测试状态:   // g_pd3dDevice为有效的Direct3D设备   g_pd3dDevice->SetRenderState( D3DRS_ALPHATESTENABLE, TRUE );   渲染状态D3DRS_ALPHAREF用来设置进行Alpha测试的参考值AlphaReference。Alpha测试函数比较当前绘制的像素的Alpha值和AlphaReference值,如果返回TRUE,则通过测试并绘制像素,反之不予绘制。 AlphaReference的取值范围从0×00000000~0×000000ff。下列代码设置Alpha测试的参考值为0×00000001:   // g_pd3dDevice为有效的Direct3D设备   g_pd3dDevice->SetRenderState( D3DRS_ALPHAREF,

CSS属性

只愿长相守 提交于 2020-01-03 18:42:08
CSS属性 宽高 width 宽 height 高 块级元素才能设置宽高 内联元素的宽度由内容决定 字体属性 font-family 文字字体 选择多个字体格式,当浏览器无法识别时会识别下一个 font-size 字体大小 font-weight 字重——字体粗细 normal 正常粗细 bord 粗体 border 更粗 lighter 更细 100-900 设置具体粗细 inherit 继承父元素的粗细,也是默认值 font-color 字体颜色 属性值用英文单词 属性值用#ffffff——rgb表 属性值用——RGB(255,0,0)——rgb表 属性值用——RGBA(255,0,0,1) 最后一个数表示透明度, 数值在0.0-1.0之间 文字属性 text-align left 左对齐,默认值 right 右对齐 center 居中对齐 justify 两端对齐 text-decoration none 默认值,定义标准的文本 underline 定义文本的下划线 overline 定义文本上划线 line-through 定义穿过文本的一条线——删除线 inherit 继承父元素的tent-decoration属性的值 应用场景 为a标签去掉下划线 a{text-decoration:none;} text-indent 20px——表示缩进的像素 letter

Python综合应用:教你用字符打印一张怀旧风格的照片

你。 提交于 2020-01-02 21:40:30
1. 前言 第一次在学校机房里见到计算机,还是上古时期。计算机型号大概是LASER-310吧,有点记不清了。那会儿,显示器还是单色的,只能显示文本,每行最多显示80个字符。想看图片,印象中只能用针式打印机打印在两侧穿孔的宽行打印纸上,每个像素用一个字符表示,不同的字符代表不同的灰度,就像下图这个样子。有没有感觉到浓郁古风呢?其实,随便一张照片,十几行Python代码,你也可以打印出这样的效果,还可以保存成文件。下面,我就一步一步地演示一下。 2. 打开图片,转为灰度模式 Python用于图像处理的模块有很多,最常用的当属PIL和PyOpenCV了。本案使用PIL模块来打开图像: 1 >>> from PIL import Image 2 >>> im = Image.open('xufive.jpg') 3 >>> im.size 4 (979, 1248) 5 >>> im.mode 6 'RGB' im就是打开的图像对象,im.size是图像的分辨率,im.mode是图像模式。我们知道,计算机图像有很多种颜色模式,RGB是最常见的彩色图像模式。打印字符图片的话,需要将RGB模式转为灰度模式: 1 >>> im = im.convert('L') 2 >>> im.mode 3 'L' 3. 改变分辨率 打印字符图片,需要考虑显示器每行显示的字符个数。假定屏幕水平分辨率为1920

C#开发:不规则裁切图片

笑着哭i 提交于 2020-01-02 10:09:43
C#使用GDI+可以创建,修改图片,创建图片的bitmap,使用Graphics在图片上勾画元素,点、线、面等。 规则的图片裁切,设置图片的方形或者圆形的方式,就能直接进行图片的裁切。裁切使用jpg保存,图片的被裁切部分,会以白色的背景显示,使用png才能设置图片的透明度。 下边介绍一种不规则的图片裁切方式,当然不规则图片都能裁切了,使用此种方式,也能进行规则图片的裁切,作用的图片格式为png,设置png图片的像素点透明度。 C#的开发中,可以获取和设置图片上的每个像素的颜色值,在图片的尺寸不太大的情况下,循环获取每个像素的颜色,设置每个像素点的透明度,从而达到裁切图片。 在图片比较大的情况下,建议使用unsafe的方式,遍历图片的像素点,此方法在网上可以搜到,遍历速度是按照普通方式遍历的几倍甚至几十倍。 裁切开始,使用GraphicsPath新建裁切的不规则图形,一般使用polygon,此对象中,需要把polygon的每个点都添加到GraphicsPath中,GraphicsPath中有IsVisible方法,根据遍历循环的点,判断点是否在 GraphicsPath中,设置当前点的是否可见即可。 PointF _pint1 = new PointF ( 1.0f , 1.0f ) ; PointF _pint2 = new PointF ( 600.0f , 200.0f ) ;

Opencv入门基础笔记02

这一生的挚爱 提交于 2020-01-01 13:12:46
Opencv入门基础笔记02:矩阵的掩模操作 我们都知道,图片是由一个个像素点组成的,那么,我理解为一个巨大的矩阵,而矩阵掩模,就是,自己定义了一个特定的矩阵“kernel”或者叫“mask”,即掩模,然后,进行对矩阵的叉乘,是卷积滤波的一种体现,然后使图片呈现自己想要的样子。 实际上,掩膜mask是一种图像滤镜的模板,实用掩膜经常处理的是遥感图像。当提取道路或者河流,或者房屋时,通过一个n*n的矩阵来对图像进行像素过滤,然后将我们需要的地物或者标志突出显示出来。这个矩阵就是一种掩膜。在OpenCV中,掩模操作是相对简单的。大致的意思是,通过一个掩模矩阵,重新计算图像中的每一个像素值。掩模矩阵控制了旧图像当前位置以及周围位置像素对新图像当前位置像素值的影响力度。用数学术语讲,即我们自定义一个权重表。 1.用到的主要函数(filter2D,Mat,saturate_cast) 我们主要将掩模操作实现图片对比度的提高。用到的掩模为 Mat kern = (Mat_<char>(3,3) << 0, -1, 0, -1, 5, -1, 0, -1, 0); 对应实际的数学计算公式为 I(i,j) = 5*I(i,j) - [I(i-1,j) + I(i+1,j) + I(i,j-1) + I(i,j+1)] 其中(i,j)是图片像素点坐标,I就是我们上面说的Kernel或者叫掩模mask

OpenCV学习笔记之三:图像基本操作

ぃ、小莉子 提交于 2020-01-01 05:01:52
首先,学习图像处理需要用到Python的两个库,在Pycharm的终端里安装以下两个库: 注意:安装特定版本的库时,在后面用==接要安装的版本号 pip install opencv-python==3.4.1.15 pip install opencv-contrib-python==3.4.1.15 计算机中一个像素点事从0-255表示亮度,255最亮表示白色,0表示黑色。RGB是三维数据矩阵表示一个图片的所有像素点组成。 图像-->500x500x3(3:RGB) 在每个颜色通道上都有1个500x500的矩阵。 一、 数据读取 - 图像 c v2.IMREAD_COLOR:彩色图像 img = cv2.imread(r'.\jay1.jpg') c v2.IMREAD_GRAYSCALE:灰度图像 img = cv2.imread('jay1.jpg',cv2.IMREAD_GRAYSCALE) #图像进行灰度处理,灰度图进行预处理操作 二、 数据读取-视频 cv2.VideoCapture可以捕获摄像头,用数字来控制不同的设备,例如0,1。 如果是视频文件,直接指定好路径即可。 #视频显示 vc = cv2.VideoCapture('test.mp4') #参数是要读取的视频 #检查是否打开正确 if vc.isOpened(): oepn, frame = vc

视觉SLAM学习——视觉里程计VO

我只是一个虾纸丫 提交于 2019-12-31 16:01:15
视觉SLAM学习——视觉里程计VO 本文为个人学习视觉slam之后的一些片面的理解,希望能够对大家有所帮助 文章目录 视觉SLAM学习——视觉里程计VO 特征点法 ORB特征检测 1、FAST特征点提取(设提取n个角点): 2、对FAST角点构建图像金字塔实现尺度不变性 3、对角点采用灰度质心法实现旋转不变性 4、获得角点的BRIEF描述子 特征匹配 相机位姿T估计及3D点P的求取 1、2D到2D过程 1.1、位姿T的获取: 1.2、3D点P的获取 1.3、最后可加入深度滤波器对获得的深度进行滤波 2、3D到2D过程 2.1 直接线性变换DLT: 2.2 非线性优化(Bundle Adjustment) 3、3D到3D过程 3.1 ICP(迭代最近点) 3.2 非线性优化方法 光流法 1、保留特征点,但只计算关键点,不计算描述子 2、LK光流法 3、ICP或对极几何估计相机运动T 4、三角测量获得特征点3D坐标P 直接法 1、保留特征点,但只计算关键点,不计算描述子 2、最小化光度误差求解相机位姿T: 3、三角测量获得特征点3D坐标P 特征点法 ORB特征检测 这里仅仅介绍ORB特征点的提取的算法过程: 1、FAST特征点提取(设提取n个角点): 1.1、选取像素p,获得其亮度为Ip 1.2、设置阈值T(如:Ip的 20%) 1.3、以p为中心选取半径为3的圆上的16个像素点 1

常见图片格式详解

依然范特西╮ 提交于 2019-12-31 04:48:16
标明原作者信息 http://www.cnblogs.com/xiangism 做了几年有关图形、图像的工作,对图片格式算是小有经验,在此写成一文章总结下。虽然一开始并不想讲很理论的东西,但写完后发现几乎全是理论,细想一下关于图片格式的知识本身就是理论的东西,囧~~ 那就力求用最简单的方式将这些“理论”讲清楚吧。 常见的图片格式有bmp, jpg(jpeg), png, gif, webp等。 图像基本数据结构 要讲图片格式还先得从图像的基本数据结构说起。在计算机中, 图像是由一个个像素点组成,像素点就是颜色点,而颜色最简单的方式就是用RGB或RGBA表示, 如图所示 (图1) (图2) 如果有A通道就表明这个图像可以有透明效果。 R,G,B每个分量一般是用一个字节(8位)来表示,所以图(1)中每个像素大小就是3*8=24位图, 而图(2)中每个像素大小是4*8=32位。 这里有三点需要说明: 一、图像y方向正立或倒立 图像是二维数据,数据在内存中只能一维存储,二维转一维有不同的对应方式。比较常见的只有两种方式: 按像素“行排列”从上往下或者从下往上。 如图所示的图像有9个像素点,如果从上往下排列成一维数据是(123456789), 如果是从下往上排列则为(789456123)。 只所以会有这种区别是因为,前一种是以计算机图形学的屏幕坐标系为参考(右上为原点,y轴向下 )

屏幕边缘上有趣的 1 个像素,看不见、摸不到

戏子无情 提交于 2019-12-30 09:29:19
如果你的屏幕分辨率是 1920×1080,那么一个全屏的窗口程序尺寸是多少呢?想都不用想,是 1920×1080。 那么输入设备输入的坐标是多少呢?是 X∈[0, 1919] ?还是 X∈[1, 1920] ?还是 X∈[0, 1920] ? 本文内容 鼠标输入与触摸输入 有趣的 1 像素 防踩坑秘籍 鼠标输入与触摸输入 一个有趣的问题,因为 1920×1080 分辨率的屏幕,其横向只有 1920 个像素,也就是说如果需要区分一个像素,那么只需要 1920 个数值就够了。这意味着 X∈[0, 1919] 或者 X∈[1, 1920] 的取值范围就能表示横向的所有像素了。 那么实际上最左侧的点的输入数值是多少呢?最右侧的点的输入数值是多少呢? 我写了一个最大化全屏的程序专门用来测试鼠标和触摸输入的数值是多少。 ▲ 在鼠标输入的情况下,最右侧其实是 1919(我的屏幕是 2560×1080,所以最右侧是 2559) 测量的时候,鼠标是直接往右移动到底,移到不能动为止。 那么在触摸输入的时候又如何? ▲ 在触摸输入的情况下,最右侧是 1920(我的屏幕是 2560×1080,所以最右侧是 2560) 测量的时候,是让手指近乎在屏幕外触摸,不断触摸到能够在屏幕上看到的最小或最大值为止。 有趣的 1 像素 发现上面实验中有趣的现象了吗?明明只有 1920×1080 的屏幕分辨率,窗口明明只有

【图像处理】像素坐标系、像平面坐标系、相机坐标系、世界坐标系、内参矩阵、外参矩阵

帅比萌擦擦* 提交于 2019-12-30 04:56:00
【图像处理】像素坐标系、像平面坐标系、相机坐标系、世界坐标系、内参矩阵、外参矩阵 像素坐标系 像平面坐标系 相机坐标系 世界坐标系 像素坐标系<==>像平面坐标系 相机坐标系<==>像平面坐标系 相机坐标系<==>世界坐标系 像素坐标系<==>世界坐标系 结语 像素坐标系 以图像左上角为原点建立以像素为单位的直接坐标系 u − v u-v u − v 。横轴为 u u u ,向右为正方向;纵轴为 v v v ,向下为正方向 u u u 和 v v v 代表像素的行数和列数,没有物理单位 像平面坐标系 像平面坐标系 o − x y o-xy o − x y 是以影像几何中心 o o o 为原点, x x x 、 y y y 轴方向分别为平行于影像画幅边缘线的二维坐标系 相机坐标系 相机坐标系 o c − x c y c z c o_c-x_cy_cz_c o c ​ − x c ​ y c ​ z c ​ 是以摄像机光心为原点(在针孔模型中也就是针孔为光心),z轴与光轴重合也就是z轴指向相机的前方(也就是与成像平面垂直),x轴与y轴的正方向与像平面坐标系平行的三维直角坐标系 世界坐标系 由于摄像机可安放在环境中的任意位置, 在环境中选择一个基准坐标系来描述摄像机的位置 ,并用它描述环境中任何物体的位置,该坐标系称为世界坐标系 o w − x w y w z w o_w-x_wy_wz