本文实例为大家分享了java使用电脑摄像头识别二维码的具体代码,供大家参考,具体内容如下
要想摄像头识别二维码,需要两个基本功能:
1、从摄像头获取图像,2、根据图片解析出二维码信息。
在上一篇java摄像头截图已经实现了摄像头截图,只要再加上zxing(或其它能从图片中解析二维码的组件),就能从图像中解析出二维码,实现代码如下:
package com.pengo.capture;
import javax.swing.J ;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.InputStream;
import javax.media.MediaLocator;
import javax.swing.JPanel;
import javazoom.jl.p .P ;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.LuminanceSource;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.Result;
import com.google.zxing.common.HybridBinarizer;
import net.sf.fmj.ui.application.CaptureDeviceBrowser;
import net.sf.fmj.ui.application.ContainerP ;
import net.sf.fmj.ui.application.P PanelPrefs;
public class Camera 2 extends J {
private static int num = 0;
public Camera 2() throws Exception{
this.set ("摄像头截图应用");
this.setSize(480, 500);
this.setDefaultCloseOperation(J .EXIT_ON_CLOSE);
final JPanel cameraPanel = new JPanel();
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add(cameraPanel, BorderLayout.CENTER);
ContainerP containerP = new ContainerP (cameraPanel);
MediaLocator locator = CaptureDeviceBrowser.run(null); //弹出摄像头设备选择
P PanelPrefs prefs = new P PanelPrefs();
containerP .setMediaLocation(locator.toExternalForm(), prefs.autoPlay);
new Thread() {
public void run() {
while (true) {
try {
Thread.sleep(1000);
Dimension imageSize = cameraPanel.getSize();
BufferedImage image = new BufferedImage(
imageSize.width, imageSize.height,
BufferedImage.TYPE_INT_ARGB);
Graphics2D g = image.createGraphics();
cameraPanel.paint(g);
g.dispose();
LuminanceSource source = new BufferedImageLuminanceSource(
image);
BinaryBitmap bitmap = new BinaryBitmap(
new HybridBinarizer(source));
Result result;
result = new MultiFormatReader().decode(bitmap);
System.out.println("二维码====:" + result.getText());
InputStream is = Camera .class.getClassLoader().getResourceAsStream("resource/beep.mp3");
P p = new P (is);
p .play();
} catch (Exception re) {
re.printStackTrace();
}
}
}
}.start();
}
public static void main(String[] args) throws Exception{
Camera 2 camera = new Camera 2();
camera.setVisible(true);
}
}
最后来张效果图(本图仅供参考)

要想识别效果好点,摄像头像素最好500W以上,活动二维码签到、物品扫描,只需扛台手提,再加个高清摄像头就行了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
继续阅读与本文标签相同的文章
上一篇 :
工程师如何解决穿衣搭配烦恼?——滴搭平台与算法
-
滴滴迎来大整顿!1000万罚单认清现实,8万司机被开除
2026-05-18栏目: 教程
-
马丁靴品牌Dr.Martens或被出售
2026-05-18栏目: 教程
-
功耗问题之后台过多WIFI 扫描
2026-05-18栏目: 教程
-
曾经风靡一时的360安全卫士为什么如今没落了?
2026-05-18栏目: 教程
-
用C语言编程,如何节省存储空间?
2026-05-18栏目: 教程
