像素

Qt Mac OS、iOS和X11的Retina显示支持

回眸只為那壹抹淺笑 提交于 2019-12-05 06:23:36
Mac OS、iOS和X11的Retina显示支持 Published 星期四 五月 2nd, 2013 | by Liang Qi 原文链接: Morten Johan Sørvig – Retina display support for Mac OS, iOS and X11 Qt 5.0中添加了对于 retina 显示的基本支持。即将到来的Qt 5.1中提供了新的API和缺陷修复,对于这一问题进行了改进。Qt 4.8也获得了良好的支持,我们 反向移植 了一些Qt 5的补丁。 尽管这些实现的努力和Mac以及iOS程序员最为相关,但是来看一看其它平台是如何处理高DPI显示这一问题,也是很有趣的。这里主要有两种方式: 基于DPI缩放 —— Win32 GDI 和 KDE 。在这种方式中,应用程序在全物理设备分辨率下工作,使用系统提供的一个DPI设定或者缩放因子,用于缩放布局。字体通常会被操作系统自动缩放(只要您使用点数(point)而不是像素(pixel)来指定字体大小) 另一种意义的像素 。在这种方式中,应用程序并不知道物理解析度(在任何程度上)。物理像素被逻辑像素替代: 平台/API 逻辑的 物理的 HTML CSS像素 设备像素 Apple 点 像素 Android 密度无关像素(dp) (屏幕)像素 Direct2D 设备无关像素(DIP) 物理像素 Qt(过去) 像素

resolution 像素密度

依然范特西╮ 提交于 2019-12-05 06:08:05
  resolution物理尺寸屏幕所能显示像素数量   dpi --> dots per inch   不同手机dpi不同,像素几乎在升级这两年,像素越高显示越清晰,但css像素pixel 是相对的(在不同手机要不同调整) 来源: https://www.cnblogs.com/apelles/p/11909534.html

python模块成像库pillow

不问归期 提交于 2019-12-05 05:09:41
python之成像库pillow python提供了python image library图像库,处理图像功能,该库提供了广泛的文件格式支持,如JPEG、PNG、GIF、等,它提供了图像档案、图像显示、图像处理等功能 PIL中所涉及到的基本概念包括,(bands)通道,(mode)模式,(coordinate system)坐标系统,(palette)调色板,(filters)过滤器 每张图像都是由一个或者多个数据通道构成,PIL可以在单张图片中合成相同维数和深度的多个通道,如RGB有三个通道,而灰度图像则只有一个通道 图像实际上是像素数据的矩形图,图像的模式定义了图像中像素的类型和深度,它在图像中定义mode模式的概念,如: 1:1位像素,表示黑和白,占8bit,在图像表示中称为位图 L:表示黑白之间的灰度,占8bit像素 p:8位像素,使用调色版映射 RGB:为真彩色,占用3x8位像素,其中R为red红色,G为green绿色,B为blue蓝色,三原色叠加形成的色彩变化,如三通道都为0则代表黑色,都为255则代表白色 RGBA:为带透明蒙版的真彩色,其中的A为alpha透明度,占用4x8位像素 其他的还有打印分色CMYK不是很常用不多做介绍 PIL使用笛卡尔像素坐标系统,图像的坐标从左上角开始(0,0),坐标值表示像素的角,它实际上位于(0.5,0.5)

LBP扩展与多尺度表达(二)

╄→гoц情女王★ 提交于 2019-12-05 03:05:13
LBP的统一模式和非统一模式: (降维度) 统一模式: 中心点的一周,两个相邻像素点间求导为1,即由0到1跳变,或者由1向0跳变。 则跳变的次数为U的值,U等于0或者2时即为统一模式,否则为非统一模式。 统一模式共有58种: 非统一模式: 灰度不变性的圆形LBP算法: 从上面的计算我们可以看出,基本的LBP算法的计算仅包含其相邻的八个像素点,半径小,覆盖范围很小,这种方式的表达能力相对较小. 所以,Ojala等人提出一种改进的方法,将原来的3 3的方形九个像素点的计算模式,改成了任一点即半径的圆形模式,这样表达方式就不受限制了, 而且原始的正方形领域的像素点空间被圆形领域所代替。这种圆形领域的算法的半径R可以任意的改变,且半径R的像素点个数也不固定。 * 改进后的LBP算法通常用符号LBP(p,b)表达,R为圆形半径,P代表在该圆形范畴内的P个不同像素点。 下图为****几种常见的不同半径和不同像素点的LBP算法的示意图: 为了对LBP算子进行表示,用函数E表示为中心像素和相邻像素点的联合分布函数: 其中,gr表示图像中某个中心像素点的灰度值,g0~gk-1表示与中心像素点相邻的周围的 像素点,其中K=0,1,2~k-1。 每个E函数其中心像素点和相邻像素点所围成的圆的半径可以不同,其相邻像素点的数量也可以不同。****一个中心像素点周围的其它像素点gk的坐标可以表示成如式1所示:

AI-图像基础知识

筅森魡賤 提交于 2019-12-04 19:11:31
    目前人工智能 A rtificial I ntelligence主要分为两大分支: 计算机视常见: C omputer V ision,简称CV   CV主要是研究如何让机器看懂世界的一种技术,通过各种光学传感器来代替人眼对目标对象进行识别,跟踪和检测,使机器能够处理输入的各种图像和视频。 自然语言处理: N atural L anguage P rocessing,简称NLP   NLP主要是研究如何机器读懂世界的一种技术,最终执行如语言翻译、智能客服等。     因为目前所从事的项目都是基于CV的,所以我来总结一下CV的相关知识。从上述简介可以看CV是要让机器看懂世界,那么最直观的就是传递图像或视频给机器。那么我们就需要了解图像和视频的基本知识,如下所示: 图像基础知识     说到图像,最直观的就是一张静态图片。而图像又可以分为 位图图像 和 矢量图像 。 位图图像     位图图像又称 点阵图像 或 栅格图像 ,是指由很多个点按照指定的颜色和一定的顺序组成的矩形网络。当一张位图持续放大到一定比例后,便可以很清楚看到每个矩形网格。如下所示: 常见的图像格式扩展名为:JPG、BMP、PNG、JPEG等 矢量图像     矢量图也称为面向对象的图像或绘图图像,通常由点、直线或多边形等基于数学对象的几何图表示图像。其最大的特点是放大图像后不会失真且和分辨率无关。如下所示:

数据可视化:浅谈热力图如何在前端实现

谁说胖子不能爱 提交于 2019-12-04 16:40:07
作者 个推开发工程师甄鑫 当我们需要用更直观有效的形式来展现各类大数据信息时,热力图无疑是一种很好的方式。作为一种密度图,热力图 一般使用具备显著颜色差异的方式来呈现数据效果, 热力图中亮色一般代表事件发生频率较高或事物分布密度较大,暗色 则 反之。 值得一提的是, 热力图最终效果常常优于离散点的直接显示,可以在二维平面或者地图上直观地展现空间数据的疏密程度或频率高低。 那么制作一张完整的热力图,需要前端做哪些工作呢?接下来,我将基于自己在工作过程中的实践,为大家详细解析热力图在前端的实现过程。 首先给大家看一张完整的热力图实现效果图: 关于热力图的实现原理: 一般可大致归纳为以下几个步骤: 1.为每个数据点设置一个从中心向外灰度渐变的圆; 2.利用灰度可以叠加的原理,计算每个像素点数据交叉叠加得到的灰度值; 3.根据每个像素计算得到的灰度值,在一条彩色色带中进行颜色映射,最后对图像进行着色,得到热力图。 当热力图基于前端技术的具体实现时,又可分为以下四个步骤,接下来为大家详细解析: 1.准备热力图数据格式 由于热力图使用场景一般为地图,所以,数据源需要提供经纬度作为位置信息,以及count作为数据点的权重值。具体数据格式示例如下: 2.在地图上填充数据 基于canvas绘制热力图时,热力图中每个数据点的半径大小会直接影响到热力图的展现效果

android获取屏幕尺寸与密度

旧城冷巷雨未停 提交于 2019-12-04 15:23:19
    遇到一个问题,我的地图浮标图片在WVGA手机上正好,在QVGA上就显的太大,所以我要根据屏幕的不同调整浮标的大小使其在QVGA大小合适。有的同事提出了依据分辨率来区分不同的屏幕,但是单WVGA就支持好几种不同的分辨率,QVGA又支持好几种。。。而且更神奇的时候,有时候,通过代码获取屏幕分辨率竟然得到了 320 x 427 ,Android文档是不支持这种分辨率的,所以依据分辨率来区分不同的屏幕是行不通的。     还好通过仔细研读文档,“各种VGA的density是不同的,(hdpi: 240 , ldpi: 120 , mdpi: 160 , xhdpi: 320)”, 所以只要求出不同屏幕的density,就可以知道该手机属于的屏幕类型。 首先是几个基本概念: 1.屏幕尺寸Screen size 即显示屏幕的实际大小,按照屏幕的对角线进行测量。 为简单起见,Android把所有的屏幕大小分为四种尺寸:小,普通,大,超大(分别对应:small, normal, large, and extra large). 应用程序可以为这四种尺寸分别提供不同的自定义屏幕布局-平台将根据屏幕实际尺寸选择对应布局进行渲染,这种选择对于程序侧是透明的。 2.屏幕长宽比Aspect ratio 长宽比是屏幕的物理宽度与物理高度的比例关系

零碎知识点

╄→гoц情女王★ 提交于 2019-12-04 15:06:59
subscription.add:subscription通过add进行分组,可以给当前subscription添加子subscription,当subscription被取消订阅之后,他的子subscription均被取消订阅 zip:使用一个函数组合多个Observable发射的数据集合,然后再发射这个结果 merge:将多个Observable合并成一个,一起发送 contains:str.contains("1"),包含1返回true,不包含返回false equals :比较两个字符串的区别(区分大小写) equalsIgnoreCase:比较两个字符串的区别(不区分大小写) .trim():用于删除字符串头尾空白符StringUtils:String的一个工具类String.valueof(int) 和 ""+int的区别:第一种:调用String的静态方法,只产生一个对象第二种:产生两个String对象Boolean和boolean的区别boolean是基本类型,Boolean是他的封装类,Boolean可以new,用Boolean声明的是一个类,而不是基本类型boolean,类需要我们给他初始化,否则空指针jdk1.5之后,Boolean在"赋值"和判断上和boolean一样,即是你: boolean b1 = true ; 或者 Boolean b2 = true

移动端网页开发必须要知道的概念

家住魔仙堡 提交于 2019-12-04 14:17:49
一、viewport PC上的网页宽度一般最小都是1024像素,但是手机屏幕宽度没这么大,浏览器可视区域的尺寸最大也不超过手机屏幕宽度,如果直接显示PC版的网页的话,会挤作一团,排版什么的都会乱掉,怎么办呢?弄一个虚拟的网页显示视窗(viewport),这个视窗比浏览器可视区域大就可以把PC上的网页显示在手机屏幕上了(移动设备上的浏览器会把自己的viewport设为980或1024),这就是viewport中的第一个概念,layout-viewport。 layout-viewport使得PC网页可以在手机浏览器上显示,但是layout-viewport比浏览器可视区域大,因此浏览器会出现滚动条,这就产生了另一个概念,visual-viewport visual-viewport 的宽度等于浏览器的宽度,让viewport等于浏览器宽度,会自动压缩网页,这样就可以显示PC版的网页又不会出现滚动条了。 现在PC版网页在屏幕上能正常显示了,但是用户体验不好,因为压缩得厉害,只能不停的放大页面,看完再缩小,用户体验很太差,很多公司为了解决用户体验问题,会针对手机端开发了专用的H5版本。 但是在手机上又存在逻辑分辨率和物理分辨率不同的情况,以iphone为例,从iphone4开始,出现了所谓的高清屏,即物理分辨率与逻辑分辨率不同。 物理分辨率与逻辑分辨率的不同,会导致显示效果的不同

视频基础知识

和自甴很熟 提交于 2019-12-04 13:35:48
一、像素 像素:指组成图像的小方格,这些小方块都有一个明确的位置和被分配的色彩数值,小方格颜色和位置就决定该图像所呈现出来的样子。 可以将像素视为整个图像中不可分割的单位或者是元素。不可分割的意思是它不能够再切割成更小单位抑或是元素,它是以一个单一颜色的小格存在。 每一个点阵图像包含了一定量的像素,这些像素决定图像在屏幕上所呈现的大小。 二、分辨率 图像分辨率:单位英寸中所包含的像素点数。 屏幕分辨率:屏幕的大小规定了一幅画面里像素的多少,用 列数 乘以 行数 ,就得到我们所谓的分辨率。如:(1920*1080,1280*720,其他) 视频格式: 1080P:那个 P 是啥意思呀?这是一种视频格式,叫做Progressive scan,即 逐行扫描 。它有别于1080I 的隔行扫描(interlaced scan)。 三、画质 原画、超清、高清、标清(清晰)、流畅、一般、模糊 一般情况下:480p是标清,720p是高清,1080p是全高清(超清) 四、帧 帧——就是影像动画中最小单位的单幅影像画面,相当于电影胶片上的每一格镜头。 一帧就是一幅静止的画面,连续的帧就形成动画,如电视图象等。 每一帧都是静止的图象,快速连续地显示帧便形成了运动的假象。 五、帧率 我们通常说帧数,简单地说,就是在1秒钟时间里传输的图片的帧数,也可以理解为图形处理器每秒钟能够刷新几次,通常用fps