双摄像头测距原理

双摄像头测距原理

 

通过三角关系知道Z/T=(Z-f)/T-(xl-xr),其中Z是待测点的物理距离,T是两个摄像头的物理距离;f为焦距(假设两个摄像头的焦距相同),xl和xr分别是待测点在图像中距离中心点的坐标,单位:像素,由此可以求得Z的值。

原理虽然简单,实际用起来则不易——

  • 首先,f的单位为像素,每个摄像头的焦距不一样,需要进行标定。
  • 其次,P点在图像中的自动识别,若不是具有明显特征的话,识别难度将大增。
  • 最后,一些误差对测量的结果影响也比较大,比如T的测量,Ol和Qr的成像角度。

这只是一个基本的原理,双摄像头测距是双摄像头三维还原的一小部分,对物体表面建立网格,通过测量网格到摄像头的距离,可得知各个点的深度,由此可以建立三维点云。通过上面的基本原理介绍,不难发现纯视觉方法应用有很多限制,所以发展比较缓慢。目前3D扫描应用最成功的还是基于结构光的技术。

关于全栈工程师(full stack developer)

原文:http://www.kuqin.com/shuoit/20140704/341000.html

这差不多是我看过的吐槽全栈工程师最犀利的文章了,其实自己默默做“full stack”已经好多年了,这些年中午吃饭差不多是最晚的一个,而且也没有睡午觉的习惯,都在想着工作上的事情,有时候甚至回到家也情不自禁的查查资料,同事常说老板请我是最值的了,一个人干10个人的活。开始我也不怎么觉得,总觉得是自己的兴趣爱好,时间长了,我发现我也时常抱怨xxx没有人做,人手不够什么的,最后都自己上了。这么打工法,其实最合适给自己打工,怎么做都是为了自己的事业嘛。什么时候才能给自己正名呢,难道非得创业不可?

淘客新开放的API(续)

新API到底怎么用?

首先,要使用到的是taobao.tbk.items.get 淘宝客推广商品查询,可以输入关键字和类目,返回如下字段:num_iid,seller_id,nick,title,volume,pic_url,item_url,shop_url。可以看到这里没有转化为推广码的推广链接(在旧版的API中有click_url),如果想引导用户点击的话,只能通过淘点金了。

然后,按照一般用户的习惯,对某一商品感兴趣会查看详情,这里使用taobao.tbk.item.info.get 淘宝客商品详情(简版),输入num_iid(可从上面的API获取到),返回如下字段:num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url

最后说一下taobao.tbk.item.get 淘宝客商品查询,这个接口和第一个接口的作用是一样的,返回的字段和第二个接口一样,不同的是第一个接口可以查到seller_id。蛋疼吧,如果不关心seller_id的话一个taobao.tbk.item.get就可以搞定所有功能。

如何判断当前网页是否用微信打开

微信打开的网页对下载apk的链接进行了屏蔽,如果没有通过腾讯开放平台“上架”的应用一律不能用微信打开的网页下载。所以有人就做了一个提示,提示用户用浏览器打开网页并下载。如何判断是否为微信打开的网页呢?见下面这个例子

<script type="text/javascript">
var ua = navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i)=="micromessenger") {
    $("#download_android").attr("href","#");
    $("#download_android").click(function(){
        $("#navi").show();
    });
} else {
}
</script>

淘客新开放的API

淘宝客API产品2.0升级公告

支持如下API,可以实现商品搜索功能,如果要转化为导购链接的话,还得配合淘点金才行。

•淘宝客基础API
taobao.tbk.item.get 淘宝客商品查询
taobao.tbk.item.info.get 淘宝客商品详情(简版)
taobao.tbk.item.recommend.get 淘宝客关联商品查询
taobao.tbk.shop.recommend.get 淘宝客关联店铺查询

 

几个WEB前端框架

WEB 前端框架大多基于JS,最近草草看了一些文章,主要是想选择一个WEB前端技术/框架,可以满足长期需求。PS:框架也好工具也好,我这里不想咬文嚼字了。其实每个框架都是自己的长处和短处,关键还得结合自身的情况。对于上面几种框架我就总结一下适合的场景吧。

  1. ExtJS,比较适合需要完整的前端技术解决方案的情况,因为他提供了包括表格,表单,菜单等丰富的UI元素,MVC框架。
  2. AngularJS,MVC框架,但是UI依靠bootstrap等第三方组件,比较适合CRUD,SAP(单页面应用)的应用,比如后台管理。
  3. ReactJS,将UI组件化,可以看成是UI的小工具,与backbone配合使用,简单快捷。

现在只接触了一段时间AngularJS,对其他框架还没有什么体会,但我相信技术是相通,也没有一种框架可以通吃所有。所以果断先用AngularJS在后台管理上试试水吧。

客串web前端开发

最近客串一把web前端开发,主要涉及几个功能:

  1. PC版本的后台管理,说到后台管理这种需要最最适合的就是使用MVC架构,按照标准模板套用就好了,这个比较easy,难点在于一些小细节上,比如如何规划页面跳转。
  2. PC版本和mobile版本的图片上传,简单的实现方法是用表单提交就可以了,如果要实现预览和无跳转就麻烦了,尝试了很多办法都无果,预览功能用的filereader,不过好像IE禁掉了,chrome和firefox表现良好,而无跳转功能最让我崩溃,说到底就是每个浏览器的表现不一样!
  3. 图片叠加,缩放,移动,最后使用了若干个插件(不要笑话我,我只是个打酱油的)—— touch-punch + jquery ,但是还是每个浏览器的表现不一样,我开始想念Native APP了。