2017-05-24 Piasy
今天下午修复了一个 YUV 图像翻转的问题,YUV 图像翻转其实没啥好说的,但期间碰到了一点性能问题,性能优化的过程我觉得比较有趣,所以在这里分享出来,希望对大家有帮助。 YUV 翻转 YUV 是一种图像编码格式(RGB 也是一种图像编码格式),YUV 主要用于视频,用来降低带宽。安卓平台上,用 Camera1 API 采集出来的数据(通过 PreviewCallback 回调获得)默认是 YCbCr_420_SP(简称 NV21,这是 YUV 的一种子格式)格式,NV21 的数据分布如下图所示(图片来源于 StackOverflow): 继续阅读 »
2017-01-23 Oliver Wang
使用 dva 已经四个月了吧,陆陆续续做了两三个项目,之前在非常恶心的傻逼公司 Kyligence,算是我的 dva 的启蒙地,那一天傍晚,不小心看到了 ant-tool,然后又看到了 antd,于是感觉我的前端有了一次不小的改变~ 😇 几个概念 上面是一张 dva 的图,component,state,dispatch,connect 都是与 redux 一样的概念,不过,dva 把 action -> reducer 拆分成了,action -> model(reducer, effect,subscription),这一部分改变的还是很多的,让 dispatch 的写法方便了一万倍。 Model 一个简单的 mod 继续阅读 »
2020-07-13 Robin Wen
文/Robin 由于笔者平时有使用 Photoshop 修图作图的需求,所以在什么渠道获取到正版 Photoshop 就是亟需解决的问题。 可能读者有问题了,互联网上 Photoshop 破解版遍地都是,何苦寻求正版呢。笔者在 2017 年给自己定了一个强制要求,所有的软件必须使用正版。其一,这是对开发者、项目方的支持和尊重,倘若他们都没有收入,如何给我们带来稳定的服务?其二,破解版通常会有多种方式,比如注册码、注册机、替换特殊文件、下载完整破解版。注册码的安全隐患还好,但要找到一个能用的注册码是需要花费大量的时间和精力。注册机、替换特殊文件、下载完整破解版,这几种方式对原本的软件都是有侵入的,至于是什么程度的侵入,又会带来 继续阅读 »
2016-06-05 Lu Huang
本节实现的是提取出灰度图像和彩色图像的直方图。 显示灰度图像的灰度直方图 显示彩色图像各个通道的灰度直方图 在一幅图上显示三个通道的灰度直方图 实现过程 引用与打开图片 不再赘述,代码如下。 ``` python import cv2 import numpy img1 = cv2.imread("test1.jpg", 0) #灰度图像 img2 = cv2.imread("test2.jpg") #彩色图像 ``` 灰度图像直方图 opencv里自带了calcHist()函数,可以计算一幅图像中各个像素值出现的次数,其函数的各个参数如下: python hist = cv2.calcHist([i 继续阅读 »
2020-08-20 Robin Wen
文/Robin 2020 年 8 月 19 日,稳定币发行商 Tether(USDT)正式在以太坊扩容项目 OMG Network(原 OmiseGO)上发行 USDT 稳定币,可以在 OMG Network 网络上完成 USDT 的实时集成,与以太坊网络相比,OMG Network 网络将允许交易者能够使用更快、更低的成本来进行 USDT 的转账、储存和提取。 Bitfinex 后台可以查看到 USDT 的版本,目前有 8 种之多,分别是 Omni、Ethereum、EOS、Tron、Liquid、Algorand、BCH、OMG,如下图: OMG Network 是个什么样的项目呢? OMG Network 旨在 继续阅读 »
2016-08-02 Jamling
相信大家在做Android开发的时候,一定遇到以下问题: 界面A上有一个按钮B1,点击时,需要变换背景颜色 界面B的按钮B2与界面A的按钮B1外观一样,只是颜色不同 通常我们的解决办法是向UI要按钮的背景图,不同的状态是一张图片。以上为例,我们需要向美工索取4张图片。 按钮B1(常态与点击态),按钮B2(常态与点击态),然后再定义selector drawable xml,如果美工给的不是9.png,我们还要使用nine-patch工具将其转为9.png图片。 大家可以想象一下,如果状态更多,而页面上的按钮又各不相同的话,天啊!那该有多少图片,多少个selector啊,得花多少时间啊!有没有快捷的解决办法呢?答案当然是有! 继续阅读 »
2014-10-06 Xie Jingyi
链接:Link 状态:Runtime Error 前言 这题做的可真够久的,整整三个小时。但即便如此,还是只过了一部分的点,另一部分报运行时错误——估计是哈希表设计的不太好。但这确实是一道好题,因此,在睡觉前决定记录一下。 分析 很容易便想到:用一个三元组$(x,y,z)$表示节点,表示内容为x的节点下跟着标号为y和z的左右子树。这样一来,一类相同的子树便可以唯一确定了,而不必每构造一棵子树就把整棵树遍历一遍。 对于三元组的储存,刚开始图方便,用了数组。查找也是用了$O(n)$的线性查找。磕磕碰碰写了两个多小时然后兴冲冲地提交,结果TLE了…………没办法,只好又花了半个小时写了一个哈希表,然后就是上文说过的情况了:Runti 继续阅读 »
2016-08-12 Jamling
简介 首先上个图 {% asset_img preference.png %} Preference控件的目的在于替换Android自带的Preference,在[QuickAF]中,Preference被设计为控件,可以在layout/Activity中随意使用,不必像自带的Preference,需要配合res/xml/xxx_preference、PreferenceFragment/PreferenceActivity使用。 继续阅读 »
2015-06-18 Eric Wang
Struts2简介 Struts2是由传统的Struts1、WebWork两个经典的MVC框架发展起来,如下图所示,无论从Struts2设计的角度还是在实际项目中的易用性来看,Struts2都是一个非常优秀的MVC框架,当然目前还有另外一个非常优秀的MVC框架——SpringMVC,以后再对它进行介绍。 实现Action Struts2的Action类是一个普通的POJO(通常应该包含一个无参数的execute方法),Struts2直接使用Action来封装HTTP请求参数,因此,Action类里还应该包含与请求参数对应的实例变量,并且为这些实例变量提供对应的setter和getter方法。注意其实实例变量是可以省略的,因为 继续阅读 »
2018-04-14 Lingxian Kong
四月初的 Easter 假期带着全家去了 Nelson 周边自驾游,现在已经过去了将近两周,前段时间一直在忙工作上的事儿,没来记得总结记录,今天周末,媳妇带着儿子找朋友聚餐去了,我难得独自留守家中,终于有机会写作业了。 我们是3.30号早上出发,4.2号下午回到惠灵顿,在 Nelson 周边待了四天三晚,所到之处如下图所示: 继续阅读 »