揭开电脑的眼睛————java在摄像头的应用

俗话说工欲善其事必先利其器,而我们在尝试使用摄像头前,要导入相应的包,才可完成。

  http://webcam-capture.sarxos.pl/  这里下载好开发所需要的驱动 jar包(webcam-capture-0.3.10-dist.zip)

至于导入过程,网上具有教程可以自行搜索。

现在开始写摄像头代码,录制你的美:

1.写好所需界面。

2.在监听器上加上摄像头相关代码:

创建对象:Webcam webcam= null;

然后在actionPerformed方法中,加载并启动摄像头:

public void actionPerformed ( ActionEvent e ){
String str = e . getActionCommand ();
if ( str . equals ( " 启动 " )){
// 加载摄像头
webcam = Webcam . getDefault ();
// 启动
webcam . open ();

关键来了,由于屏幕的不断刷新,我们会发现如果只是绘制

BufferedImage image = webcam . getImage ();
g . drawImage ( image , 50 , 50 , null );
那么根本无法形成视频,而这时我们需要借助一个我们司空见惯的错误了——利用死循环,不断绘制图片。
但是我们会产生疑问,如果一直死循环,那么这个程序后续就无法操作了。
故我们要求助一个强力工具,多线程!!!(其实之前都算是为了这里铺垫)
3.完成多线程操作:
创建一个类来实现 Runnable接口。
public void open (){
flag = true ;
}
public void close (){
flag = false ;
}
设置开关,方便后续操作,毕竟我们始终是要关闭的。
public void run (){
while ( flag ){
BufferedImage image = webcam . getImage ();
g . drawImage ( image , 50 , 50 , null );
}
}
开启后,不断循环,形成视频。
4.修改监听器逻辑:
值得强调的是,只有当我们摄像头以及多线程同时打开时,才可以录制视频。
多线程打开:
先创建对象,然后交给 Thread 对象去启动
RunVideoAble rvt = new RunVideoAble();
Thread t = new Thread(rvt);
t.start();
自己试一试吧!

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值