如何js调用手机摄像头拍照摄像

html5调用手机摄像头,实现拍照上传功能
查看完整版本: [--
html5调用手机摄像头,实现拍照上传功能
今天做手机网站,想实现手机扫描二维码功能。首先实现在浏览器中调用手机摄像头,实现拍照功能并且把拍下的照片显示在页面并上传到服务器上,然后再在服务器端进行分析。首先实现在浏览器中调用摄像头,当然用现在火的不行的html5,html5中的&video&标签,并将从摄像头获得视频作为这个标签的输入来源。实现拍照功能的html5代码:&article& &style scoped&  video { transform: scaleX(-1); }  p { text-align: } &/style& &h1&Snapshot Kiosk&/h1& &section id=&splash&&  &p id=&errorMessage&&Loading...&/p& &/section& &section id=&app& hidden&  &p&&video id=&monitor& autoplay&&/video& &canvas id=&photo&&&/canvas&  &p&&input type=button value=&📷& onclick=&snapshot()&& &/section& &script&  navigator.getUserMedia({video:true}, gotStream, noStream);  var video = document.getElementById('monitor');  var canvas = document.getElementById('photo');  function gotStream(stream) {    video.src = URL.createObjectURL(stream);    video.onerror = function () {      stream.stop();    };    stream.onended = noS    video.onloadedmetadata = function () {      canvas.width = video.videoW      canvas.height = video.videoH      document.getElementById('splash').hidden =      document.getElementById('app').hidden =    };  }  function noStream() {    document.getElementById('errorMessage').textContent = 'No camera available.';  }  function snapshot() {    canvas.getContext('2d').drawImage(video, 0, 0);  } &/script&&/article&经本人测试在android手机的opera浏览器浏览器下可以正常实现手机拍照功能。android手机下的google chrome浏览器还不行,自带的浏览器也测试没有通过。iphone手机的safari浏览器也是不支持的。想了解更多关于html5调用手机摄像头的内容可以点击http://dev.w3.org/2011/webrtc/editor/getusermedia.html。图片的获取:下面我们要从Canvas获取图片数据,其核心思路是用canvas的toDataURL将Canvas的数据转换为base64位编码的PNG图像,类似于“data:image/base64,xxxxx”的格式。Html代码var imgData =canvas.toDataURL(&image/png&);因为真正图像数据是base64编码逗号之后的部分,所以我们实际服务器处理的图像数据应该是这部分,我们可以用两种办法来获取。第一种:是在前端截取22位以后的字符串作为图像数据,例如:Html代码var data = imgData.substr(22);如果要在上传前获取图片的大小,可以使用:Html代码var length = atob(data).// atob decodes a string of data which has been encoded using base-64 encoding第二种:是在后端获取传输的数据后用后台语言截取22位以后的字符串。例如PHP里php代码:$image = base64_decode( str_replace('data:image/base64,', '',$data);图片上传:在前端可以使用Ajax将上面获得的图片数据上传到后台脚本。例如使用jQuery时:js代码$.post('upload.php',{ 'data' : data } );在后台我们用PHP脚本接收数据并存储为图片。php代码function convert_data($data){$image = base64_decode( str_replace('data:image/base64,', '',$data);save_to_file($image);}function save_to_file($image){$fp = fopen($filename, 'w');fwrite($fp, $image);      fclose($fp);}请注意,以上的解决方案不仅能用于Web App拍照上传,并且你可以实现把Canvas的输出转换为图片上传的功能。这样你可以使用Canvas为用户提供图片编辑,例如裁剪、上色、涂鸦的画板功能,然后把用户编辑完的图片保存到服务器上。
此文章也可以算是原创文章,因为部分内容也参考了他人博客,具体地址请看http://www.glve.net/html5-calls-cell-phone-cameras-to-achieve-photo-upload-feature.html我的blog地址http://www.glve.net
这个很高端嘛
热门主题是如果产生的
查看完整版本: [--
Gzip disabled怎么样用手机远程控制别人手机摄像头? 控制另一台手机强制打开摄像
没有你要的?请搜索……
你现在的位置: 》
怎么样用手机远程控制别人手机摄像头? 控制另一台手机强制打开摄像
怎么样用手机远程控制别人手机摄像头?
再在手机端登录就可以远程监控了这个可以用一个向日葵远程控制软件实现,在你的手机上安装向日葵原远程控制app,你注册一个向日葵账号绑定客户端,在电脑里装个向日葵客户端,USB链接在电脑能上,只要你的是手机可以上网就可以监控、无论你在什么地方
再在手机端登录就可以远程监控了这个可以用一个向日葵远程控制软件实现,在你的手机上安装向日葵原远程控制app,你注册一个向日葵账号绑定客户端,在电脑里装个向日葵客户端,USB链接在电脑能上,只要你的是手机可以上网就可以监控、无论你在什么地方
用向日葵的话监控电脑摄像头是常用的,监控手机摄像头也可以,这要用到手机控制手机的内测包了~
用木马,用病毒,可是谁有呢?别想了孩子。这是你办不到的。全世界也没几个人,这要在特定环境才能实现的。
手机有没有偷偷的远程控制别人电脑摄像头的软件:
可以远程设置,不被发现的应该没有 可以去应用宝看看,他是一个手机商城 进入主页输入关键字找到相应的软...
怎么远程控制手机摄影?:
不同的手机有不同的控制方法,安卓手机可以用蓝牙控制,苹果目前还不能,不过如果开发出相应的软件就能解决...
微型摄像机怎样用手机远程控制:
微型摄像机如果需要用手机远程控制,首先要看摄像机有没有远程控制功能,没有的话就不能远程控制了,有的话...
手机能被人远程控制吗?能被控制开启你的手机摄像头进行拍照、摄影吗?:
当然能了,如果不是你自己的手机请还给失主。手机360是做这行的哦
别人可以随便控制你手机把手机摄像头拍你在发过去:
智能手机除了远程帮助可以遥控操作,但这必须手机上有这个功能而且必须是自己选勾确认的,手机的病毒并不发...
针孔的隐形摄像头怎么连接手机?可以用手机远程控制吗?:
目前来看微型的多是实物类外表的,像路由 插排 充电插头等,具备自身实物类功能,也可通过wai fi远...
手机远程控制摄像头怎么登录怎么监控?:
一般网络摄像头都带有远程用的ID号,在手机上安装手机远程客户端输入ID号和用户名密码就能监控了。客户...
网络摄像头怎么手机远程监控:
手机远程监控局域网内摄像头的方法(以海康威视硬摄像头为例): 1、首先把网络摄像机安装好,通过网线连...
苹果手机会不会被人远程控制摄像头?:
我说你是科幻片看多了吧。哪个孙子会无聊到监控你摄像头。你要是担心,在摄像头贴个创可贴
如何用手机控制自家的摄像头:
要是你的摄像头可以连接到电脑上看就方便了,你可以手机控制电脑然后打开摄像头,用向日葵远程控制软件的摄...
网上大家都在看一篇文章看懂手机摄像头 超呼你的想象
> 一篇文章看懂手机摄像头 超呼你的想象
一篇文章看懂手机摄像头 超呼你的想象
  2000年11月,夏普联合日本当时第三大移动运营商J-photo推出了全球第一款拍照手机,像素仅有11万。时至今日,手机拍照已经成为手机必不可少的一个功能,历经多年发展,也已经不可同日而语。本文引用地址:
  随着智能手机的普及和不断升级,用户对于手机拍照画质也就越来越高,好的拍照画质就离不开出色的配置,而目前市面上的规格众多,参数各不相同,怎么去看这些名词和参数来挑选好的拍照手机呢?下面让我们一起来简单学习一下。
  手机摄像头的结构和工作原理
  拍摄景物通过镜头,将生成的光学图像投射到传感器上,然后光学图像被转换成电信号,电信号再经过模数转换变为数字信号,数字信号经过DSP加工处理,再被送到手机处理器中进行处理,最终转换成手机屏幕上能够看到的图像。
  手机摄像头的简单结构
  手机摄像头的工作流程
  由于手机摄像头的工作原理基本都相同,对于我们选择好的手机摄像头并不产生影响,我们只需要简单了解即可。
  影响手机摄像头拍照画质的几个因素
  1、传感器的类型
  传感器是决定手机摄像头成像品质最为重要的一部份,也经常被手机厂商作为宣传的重点,厂商也习惯采用传感器的分类来对手机摄像头的类型进行分类。
  常见的摄像头传感器类型主要有两种,一种是CCD传感器,一种是传感器。
  CCD的优势在于成像质量好,但是制造工艺复杂,成本居高不下,特别是大型CCD价格非常高昂,且耗电高,并不适合在移动设备上使用。在相同分辨率下,价格比CCD便宜,但图像质量相比CCD来说要低一些。
  影像传感器相对CCD具有耗电低的优势,加上随着工艺技术的进步,CMOS的画质水平也不断地在提高,所以目前市面上的手机摄像头都采用CMOS传感器。
  CMOS传感器视工艺和具体技术的不同,也有着不同的分类。目前市场上效果较好的主流摄像头CMOS传感器主要有背照式CMOS传感器和堆栈式CMOS传感器两种,在厂家宣传时,也通常用这两种传感器类型对于产品的摄像头性能进行宣传。
  背照式CMOS传感器
  背照式CMOS传感器这一名称是与传统正照式CMOS传感器区分开来的,像我们所熟知的iPhone4/4S、小米2S、魅族MX2、索尼LT26i等热销机型,都采用了背照式CMOS传感器。
  早在2008年,索尼就开发出了背照式CMOS传感器,其最大的优化之处就是改造了元件内部的结构,即将感光层的元件调转方向,让光能从背面直射进去,避免了在传统传感器结构中,光线会受到微透镜和光电二极管之间的电路和晶体管的影响。
  左边为传统的CMOS传感器,右边为背照式CMOS传感器
  此外,把与感光无关的走线与光电二极管分开到芯片的两边或下面,这样不仅可以增加光电元件曝光面积,而且减少光线经过布线层时的损失,从而显著提高光的效能,大大改善低光照条件下的拍摄效果。
  堆栈式CMOS传感器
  堆栈式CMOS传感器目前是索尼独家的传感器产品。索尼将其命名为ExmorRSCMOS传感器,是背照式CMOS传感器的衍生产物,也是目前手机摄像头当中较为先进的一种CMOS传感器,被广泛应用用在三星GalaxyS4、索尼XperiaZ等旗舰级产品当中,而国产的OPPOFind5是世界上首款采用堆栈式CMOS传感器的手机。
  其具体原理是,使用有信号处理电路的芯片替代了原来背照CMOS图像传感器的支持基板,在芯片上重叠形成背照CMOS元件的像素部分,从而实现了在较小的芯片尺寸上形成大量像素点的工艺。由于像素部分和电路部分分别独立,因此像素部分可针对高画质优化,电路部分可针对高性能优化。
  简单点说,堆栈式CMOS传感器就是将原来放置于传感器正面的电路改为放置在传器感背面,使得传感器的感光面积更大,画质更好。
  2、像素
  目前市场上主流水平的手机摄像头的像素一般都在800万以上,低于800万像素的摄像头一般效果难以保证(HTCOne等使用了特殊技术的产品除外)。
  目前消费在选购相机等产品时,最容易范的错误就是唯像素论,机械地认为像素越高就越好,并且把这种习惯带到评判手机摄像头上。
  实际上从硬件方面来讲,如果传感器面积不变,而单纯提高像素,高像素密度的传感器想对于低像素密度的传感器在拍照时更容易产生大量噪点。当然目前来说,像素较高的手机摄像头一般都是较为高端的产品,其硬件素质本身是足够过硬的。
  诺基亚808Pureview是个极端的例子,传感器像素达到了4100万,但也提供了目前为止最好的手机拍照效果,代价是传感器面积大,增加了手机的厚度和重量。
  3、镜头参数
  焦距这个问题在我们选购相机时会有比较多的考虑和讨论,但受制于体积,一般手机摄像头只能实现数码变焦,效果较差,而市场上销售的手机产品的宣传资料里确实很少标注镜头等效焦距,标注产品实际焦距的也并不多,多数产品仅仅写明有效像素、视频分辨率等信息。
  由于广角镜头焦距短,配备广角镜头的摄像头其厚度也就短,所以厂商都乐于把焦距做短,把相机做成广角。这对于消费者来说影响并不算太大,广角的适用范围也较强,只是有部分场景下,较长的焦距如等效35mm更有利于人像的拍摄。
  手机摄像头的光圈所代表的含义和表示方面与普通相机相同,光圈数值越少,则光圈越大。由于硬件结构的限制,手机的摄像头的光圈是固定无法改变的,光圈越大,则其它条件相同的情况下可以到达传感器的光线越多,对于弱光下的拍摄意义重大。通常来说,光圈较大的摄像头,一般弱光下拍照的效果都会较好。
  目前较好的手机摄像头镜头光圈一般都达到了F/2.4以上,个别的手机如诺基亚Lumia920可以达到F/2.0,这些手机在低光照条件下仍有不错的画质表现。
  手机摄像头的镜片是另一影响画质的重要因素。手机摄像头当中的镜片可分为塑胶透镜和玻璃透镜。
  玻璃透光性以及成像质量都具有较大优势,但玻璃透镜成本也高。比如诺基亚808Pureview采用的是卡尔蔡司认证镜头,成像效果就会比普通镜头好一些。而在一些价廉方案当中,厂商可能就会采用廉价的塑料镜片,效果会较玻璃镜片差一些。
  在小米2S的官方宣传当中,特意提到了5片式特制蓝玻璃的镜片构造
  不过对于镜片,除采用了特殊的镜片,一般情况下厂商都不会大做文章,一般消费者是比较难知道厂商使用了什么类型的镜片的。
  硬件参数不是唯一
  虽然好的成像效果离不开好的手机摄像头硬件支持,但是在目前市场上手机产品各类配置高度同质化的现在,各家厂商都可以轻易地获得优质的手机摄像头硬件配置,但就算是采用相同参数的摄像头的手机,其最终的拍照成像品质都不一定可以产生同样的效果。
  举个简单的例子,索尼是目前手机摄像头主要的生产厂商之一,其生产的手机摄像头被广泛地应用在苹果、三星等厂商的产品当中,同时索尼自己的产品也有使用,但从实际效果和市场反应来看,索尼手机的拍照画质,与其它厂商的手机拍照画质相比,并无优势,例如iPhone5。
  这其中的原因最重要影响因素就是系统和软件的配置优化,这对于厂商技术能力考验,一点也不比对于硬件的设计能力的考验低,也是目前各家厂商在手机摄像画质方面效果差异最大的决定性因素之一,而不同的厂商对各自产品所进行的优化也有差异,也会导致摄像头具有不同的功能特色,或者不同的优势之处。
  同样采用来自索尼的1300万像素堆栈式CMOS传感器摄像头,三星GalaxyS4和索尼XperiaZ的成像效果和风格都是有差异的。
  不过,再好的软件优化也离不开优质的硬件支持,一些厂商在硬件设计上的创新突破,往往也能带来画质上突破性的提高,如诺基亚的808Pureview和HTCOne。
  所以,在选择一款好的拍照手机时,除了对硬件参数要有所了解以外,也要防被硬件参数所迷惑,真实的拍照效果要通过身实际操作和体验,并了解不同厂商所提到的功能特色才是王道。
传感器相关文章:
风速传感器相关文章:
摄像头相关文章:
分享给小伙伴们:
我来说两句……
最新技术贴
微信公众号二
微信公众号一

我要回帖

更多关于 webapp调用手机摄像头 的文章

 

随机推荐