around

图像处理:“可口可乐”识别的算法改进

社会主义新天地 提交于 2020-08-16 08:20:36
问题: One of the most interesting projects I've worked on in the past couple of years was a project about image processing . 我过去几年中最有趣的项目之一是关于 图像处理 的项目。 The goal was to develop a system to be able to recognize Coca-Cola 'cans' (note that I'm stressing the word 'cans', you'll see why in a minute). 目的是开发一个能够识别可口可乐 “罐头”的系统 (请注意,我强调的是“罐头”一词,稍后您会看到原因)。 You can see a sample below, with the can recognized in the green rectangle with scale and rotation. 您可以在下面看到一个示例,该示例在带有刻度和旋转的 绿色矩形中 可以识别。 Some constraints on the project: 对项目的一些限制: The background could be very noisy. 背景可能非常嘈杂。 The can could have any

我说我精通字符串,面试官竟然问我Java中的String有没有长度限制!?|附视频讲解

廉价感情. 提交于 2020-08-16 01:49:20
我说我精通字符串,面试官竟然问我Java中的String有没有长度限制!?|附视频讲解 关于String有没有长度限制的问题,我之前单独写过一篇文章分析过,最近我又抽空回顾了一下这个问题,发现又有了一些新的认识。于是准备重新整理下这个内容。 这次在之前那篇文章的基础上除了增加了一些验证过程外,还有些错误内容的修正。我这次在分析过程中会尝试对Jdk的编译过程进行debug,并且会参考一些JVM规范等全方面的介绍下这个知识点。 因为这个问题涉及到Java的编译原理相关的知识,所以通过视频的方式讲解会更加容易理解一些,视频我上传到了B站: https://www.bilibili.com/video/BV1uK4y1t7H1/ 。 String的长度限制 想要搞清楚这个问题,首先我们需要翻阅一下String的源码,看下其中是否有关于长度的限制或者定义。 String类中有很多重载的构造函数,其中有几个是支持用户传入length来执行长度的: public String(byte bytes[], int offset, int length) 可以看到,这里面的参数length是使用int类型定义的,那么也就是说,String定义的时候,最大支持的长度就是int的最大范围值。 根据Integer类的定义,java.lang.Integer#MAX_VALUE的最大值是2^31 - 1;

1分钟教你完美解决地图开发中WebGL着色器32位浮点数精度损失问题

放肆的年华 提交于 2020-08-15 15:53:39
以下内容转载自木的树的文章《WebGL着色器32位浮点数精度损失问题》 作者:木的树 链接: https://www.cnblogs.com/dojo-lzz/p/11250327.html 来源:博客园 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 前言 Javascript API GL 是基于WebGL技术打造的3D版地图API,3D化的视野更为自由,交互更加流畅。 提供丰富的功能接口,包括点、线、面绘制,自定义图层、个性化样式及绘图、测距工具等,使开发者更加容易的实现产品构思。 充分发挥GPU的并行计算能力,同时结合WebWorker多线程技术,大幅度提升了大数据量的渲染性能。最高支持百万级点、线、面绘制,同时可以保持高帧率运行。 同步推出基于Javascript API GL的 位置数据可视化API库 ,欢迎体验。 问题 WebGL浮点数精度最大的问题是就是因为js是64位精度的,js往着色器里面穿的时候只能是32位浮点数,有效数是8位,精度丢失比较严重。 分析 在基础底图中,所有的要素拿到的都是瓦片里面的相对坐标,坐标范围在0-256之间。在每次渲染时都会重新实时计算瓦片相对中心点的一个偏移来计算瓦片自己的矩阵,这种情况下精度损失比较小,而且每个zoom级别都会加载新的瓦片,不会出现精度损失过大问题。 但是对于一些覆盖物,比如marker

向经济衰退宣战[转载]

夙愿已清 提交于 2020-08-15 14:35:08
导读 1 听力|精读|翻译|词组 Bartleby 来自一天一篇经济学人 00:00 05:27 Waging war on recessions 向经济衰退宣战 英文部分选自经济学人20200620 期Business版块 Waging war on recessions 向经济衰退宣战 An early analysis of Denmark’s furlough scheme 丹麦带薪休假计划的早期分析 Since the emergence of the welfare state, adults who want to work have generally found themselves in one of two positions: earning a wage from their job or receiving unemployment benefits. The pandemic has led many people to find themselves in a halfway stage— furlough . This often involves the state paying a large slice of employees’ wages so that firms can keep them on the payroll during

Hacker News 简讯 2020-07-24

廉价感情. 提交于 2020-08-15 06:00:56
最后更新时间: 2020-07-24 00:41 Show HN: TinyPilot – Build a KVM over IP for Under $100 Using a Raspberry Pi - (mtlynch.io) 展示HN:TinyPilot–使用覆盆子Pi以低于100美元的价格在IP上构建一个KVM 得分:167 | 评论:87 Cognitect Joins Nubank - (cognitect.com) Cognitect连接Nubank 得分:346 | 评论:125 The History, Status, and Future of FPGAs - (acm.org) 燃料电池板的历史、现状和未来 得分:45 | 评论:30 How Inuit Parents Teach Kids to Control Their Anger - (npr.org) 因纽特父母如何教孩子控制愤怒 得分:36 | 评论:4 Launch HN: Sidekick (YC S20) – A new hardware device to connect remote teams 推出HN:助手(YC S20)——一种连接远程团队的新硬件设备 得分:36 | 评论:24 1SecondPainting: Generate abstract paintings in one

flex布局语法+实例

a 夏天 提交于 2020-08-15 05:38:26
一、什么是flex布局   flex 是 flexible box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。 任何一个容器都可以指定为 flex 布局。 你可以将前端页面想象成一个巨大的容器,里面装满了各式各样的盒子元素,为了方便元素排列布局,css引入弹性布局。即设置了弹性布局的元素,他的大小和对齐方式将更加灵活的随着他所处空间的大小而改变。 任何元素都可以使用flex布局,不区分行内、块级元素。注意:webkit 内核的浏览器,必须加上-webkit前缀。且设为 flex 布局以后, 子元素的float、clear和vertical-align属性将失效 。 二、flex布局中的基本概念   1.容器     采用 Flex 布局的元素,称为 Flex 容器(flex container),简称"容器"。它的所有子元素自动成为容器成员,称为 Flex 项目(flex item),简称"项目"。我更喜欢称为父容器和子容器。容器具有这样的特点:父容器可以统一设置子容器的排列方式,子容器也可以单独设置自身的排列方式, 如果两者同时设置,以子容器的设置为准。   2.轴线     容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做main start,结束位置叫做main end

flex布局

[亡魂溺海] 提交于 2020-08-15 02:43:47
我才不会说是因为自己对 flex 一知半解导致面试的时候被问住,所以才来记录的。感谢阮一峰大神的博客 文章 9102年了,是时候记录一波 flex 布局了。 写在前面,其实 flex 布局并没有多难,记住一些属性即可。然而之前由于自己懒癌作祟,导致总是对 flex 一知半解。面试的时候,不能说挂在这道题上,但总是答得不好。 HOW 为一个元素设置 display: flex 即可 .box { display: flex; display: -webkit-flex; } 采用 flex 布局的元素,成为 flex 容器,子元素称为 flex 项目 容器默认存在两根轴 水平的主轴 main axis 垂直的交叉轴 cross axis 主轴开始位置叫做 main start ,结束位置叫做 main end 交叉轴开始位置叫做 cross start ,结束位置叫做 cross end 项目默认沿主轴排列 容器的属性 flex-direction:决定主轴的方向 row:默认值,主轴为水平方向,起点在左端 row-reverse:主轴为水平方向,起点在右端 column:主轴为垂直方向,起点在上沿 column-reverse:主轴为垂直方向,起点在下沿 flex-wrap:默认情况下,项目都排列在一条线( 轴线 )。 nowrap:默认,不换行 wrap:换行 wrap

为什么this()和super()必须是构造函数中的第一条语句?

妖精的绣舞 提交于 2020-08-14 09:27:56
问题: Java requires that if you call this() or super() in a constructor, it must be the first statement. Java要求,如果您在构造函数中调用this()或super(),则它必须是第一条语句。 Why? 为什么? For example: 例如: public class MyClass { public MyClass(int x) {} } public class MySubClass extends MyClass { public MySubClass(int a, int b) { int c = a + b; super(c); // COMPILE ERROR } } The Sun compiler says "call to super must be first statement in constructor". Sun编译器说“对super的调用必须是构造函数中的第一条语句”。 The Eclipse compiler says "Constructor call must be the first statement in a constructor". Eclipse编译器说“构造函数调用必须是构造函数中的第一条语句”。 However, you

Subversion存储库中“分支”,“标记”和“主干”的含义是什么?

北城以北 提交于 2020-08-14 03:01:00
问题: I've seen these words a lot around Subversion (and I guess general repository) discussions. 我已经在Subversion(我猜通用存储库)讨论中看到了很多这样的话。 I have been using SVN for my projects the last few years, but I've never grasped the complete concept of these directories. 在过去的几年里,我一直在为我的项目使用SVN,但我从未掌握过这些目录的完整概念。 What do they mean? 他们的意思是什么? 解决方案: 参考一: https://stackoom.com/question/4CM/Subversion存储库中-分支-标记-和-主干-的含义是什么 参考二: https://oldbug.net/q/4CM/What-do-branch-tag-and-trunk-mean-in-Subversion-repositories 来源: oschina 链接: https://my.oschina.net/u/4432649/blog/4492914

java中将一个数组按照每份固定大小拆分

冷暖自知 提交于 2020-08-14 02:40:32
stackoverflow代码 public static boolean isMatch( byte [] pattern, byte [] input, int pos) { for ( int i=0; i< pattern.length; i++ ) { if (pattern[i] != input[pos+ i]) { return false ; } } return true ; } public static List< byte []> split( byte [] pattern, byte [] input) { List < byte []> l = new LinkedList< byte []> (); int blockStart = 0 ; for ( int i=0; i<input.length; i++ ) { if (isMatch(pattern,input,i)) { l.add(Arrays.copyOfRange(input, blockStart, i)); blockStart = i+ pattern.length; i = blockStart; } } l.add(Arrays.copyOfRange(input, blockStart, input.length )); return l; } 引申出来的泛型代码: