JMF调用摄像头粉屏的问题(win10 64位系统)
最近突然想做一个人脸识别的程序,图像的获取可以从本地或者摄像头获取。
1、从本地获取比较简单,不多说。
2、从摄像头获取图片。网上查了一下,都是用的JMF(但是JMF已经很久没有更新,而且只支持32位的JDK,如果知道有更好的麻烦推荐一下!)
下载JMF(http://www.oracle.com/technetwork/java/javase/download-142937.html)
安装
安装完之后桌面上回出现JMStudio的快捷图标,
点开测试一下,file->capture;
摄像头驱动正常加载,点击OK,然后
我靠,这什么鬼?一片粉啊,一定要这么嫩吗 -_-||。 晃动一下窗口,会显示图像,但是是卡住的。
摄像头正常打开了,但是显示不了画面,这样完全没用啊!于是就去网上查了一下,没有答案,再看看回答时间,瞬间怀疑自己是不是用了个老古董了!
没办法,先试着写程序吧
1 public static Component loadDiver() 2 { 3 //String str1 = "vfw:logitech usb video camera:0"; 4 String str2 = "vfw:Microsoft WDM Image Capture (Win32):0"; 5 6 deviceInfo = CaptureDeviceManager.getDevice(str2); //加载设备驱动 7 mLocator = deviceInfo.getLocator(); 8 try 9 { 10 11 player = Manager.createRealizedPlayer(mLocator); //获取就绪的播放器 12 13 Component cp; 14 if((cp = player.getVisualComponent())!=null) 15 { 16 player.start(); 17 return cp; //返回窗体组件 18 } 19 } 20 catch(Exception e) 21 { 22 e.printStackTrace(); 23 } 24 return null; 25 }
运行之后发现一样出现粉屏的问题, 弄了一会儿发现好像在画面上覆盖了一层JLabel或者JTextArea就可以正常显示图像(感觉好low啊/捂脸),可能是打开的方式不对!
最后无意中发现,只要窗体对准电脑屏幕的最左边就可以正常显示了,这程序是不是有强迫症啊?_?
好吧,虽然莫名其妙,但是也勉强算是解决了显示问题了。
下面就是截图了,于是就用了笨办法,屏幕截图(求聪明的办法^_^):
1 BufferedImage buffImg = null; 2 try 3 { 4 buffImg = (new Robot()).createScreenCapture(new 5 Rectangle(0, 100, c1.getWidth(), c1.getHeight()-100)); //c1是上面方法返回的Component 6 } 7 catch(AWTException e1) 8 { 9 e1.printStackTrace(); 10 } 11 try 12 { 13 ImageIO.write(buffImg, "jpg", new File(path)); 14 } 15 catch(IOException e1) 16 { 17 e1.printStackTrace(); 18 }
成功获取图像
总结:JMF调用摄像头产生粉屏,把窗体放在屏幕最左侧可以正常显示,具体原因未知!个人猜测可能是系统不兼容的造成。
转载于:https://www.cnblogs.com/jiuliblog-2016/p/6905349.html
JMF调用摄像头粉屏的问题(win10 64位系统)相关推荐
- (win10 64位系统中)Visual Studio 2015+OpenCV 3.3.0环境搭建,100%成功
(win10 64位系统中)Visual Studio 2015+OpenCV 3.3.0环境搭建,100%成功 Visual Studio 2015下载地址:https://msdn.itellyo ...
- (1)win10 64位系统ISE14.7闪退问题(FPGA不积跬步101)
1 引言 自救就是在一个危险环境中,没有他人的帮助扶持下,靠自己的力量脱离险境,这就是自救. 善于积累也就是自救. 2 ISE14.7闪退处理流程 1 )问题描述如下: win10 64位系统安装IS ...
- Win10 64位系统下PCL + Visual Studio + cmake + (Qt) 安装调试
Win10 64位系统下PCL + Visual Studio + cmake + (Qt) 安装调试 在这里只介绍all in one方式安装 1.软件准备 安装pcl(点云库)需要涉及pcl.pc ...
- Win10(64位)系统清除BIOS密码的方法
破解SETUP密码 之 Dubug法 在遗忘密码之后只需在DOS状态下启动Debug,然后输入如下命令即可手工清除密码: - o 70 16 - o 71 16 - q 注:-符号为默认,无需输入.注 ...
- win10 64位系统上注册wincc的ocx插件问题
win10 64位系统上注册wincc的ocx插件问题 今天下载一个anigif动态图控件,注册时死活注册不了 在win10操作系统下注册OCX控件,主要有以下几个步骤: 1.以管理员的身份打开命令提 ...
- 电脑重装Win10 64位系统的方法
在线一键重装Win10系统怎么操作?当我们的电脑遇到一些难以处理的故障问题时,一般都会采用系统重装的方法,但是在重装过程中难免遇到安装失败的情况.今天带来电脑重装Win10 64位系统的方法,操作简便 ...
- 计算机配置64位,win10 64位系统最低配置要求_win10系统 64位最低电脑配置要求多少...
很多电脑都已经安装上win10系统,硬件配置较好的都安装win10 64位系统,由于win10 64位对配置要求较高,很多人不敢升级,那么win10 64位最低配置是什么呢?win10 64配置要求多 ...
- Win10 64位系统Qt5.9.7连接神通数据库7.0
Win10 64位系统Qt5.9.7连接神通数据库7.0 因为国产化的原因,项目后期数据库要使用神通数据库,将自己安装测试过程记录如下,以便后期自查: 当前系统环境: Qt版本: 5.9.7 神通数据 ...
- Win10 64位系统8G内存升级到10G后,显示3.92G可用解决办法
Win10 64位系统,原来两根4G海力士内存,现在加了一根2G金士顿内存,但是查看到10G内存却显示3.92G可用,笔者多年前也遇到不少这样的问题,由于笔者比较懒,解决后也懒得写博客分享,今天再次遇 ...
最新文章
- HashSet中的add()方法( 三 )(详尽版)
- 查询框赋值后不可编辑_【技巧分享】阻塞赋值与非阻塞赋值
- zblogphp 广告联盟_停止折腾联盟广告样式,重新回归内容写作
- 之全能忙内_闪闪发光刘耀文,全能忙内初长成,西南狼崽变狼王
- 树莓派与阿里云服务器之间的无线通信(非局域网)
- a4988 脉宽要求_Allegro MicroSystems - A4988: 带转换器和过流保护的 DMOS 微步驱动器
- python 只取年月日 字符串_Python基础:数据类型和变量amp;字符串和编码
- express基本原理
- 补全aaz288 可能有问题的过程 P_COMPL_AAZ288
- 面试:list集合去重
- 美团架构师熬夜整理:Netty权威指南2.0版+英雄传说项目
- 查看oracle磁盘组空间,shell脚本检查oracle中的ASM磁盘组空间并发送邮件
- 华为隐藏功能扩大内存代码大全_华为手机隐藏功能代码大 | 手游网游页游攻略大全...
- 腾讯云云服务器IE浏览器初始使用常见问题
- 万邦淘宝/天猫按关键字搜索淘宝商品 API 返回值
- QUIC传输协议设计
- 解决:Unknown column ‘id‘ in ‘where clause‘ 问题
- Android接入融云sdk流程(思路)
- OpenStack云平台搭建
- python 小说cms系统_「博文小说网」Python爬虫爬取小说网站 - seo实验室
热门文章
- 动态规划思路和Python解决零钱兑换问题和最大乘积子序列的乘积的问题
- 十五、MySQL变量(系统变量、自定义变量)相关知识总结
- Web框架——Flask系列之数据库迁移(二十)
- python web开发 CSS基础
- LeetCode 1814. 统计一个数组中好对子的数目(哈希)
- LeetCode 915. 分割数组
- LeetCode 1609. 奇偶树(层序遍历)
- LeetCode 393. UTF-8 编码验证(位运算)
- 程序员面试金典 - 面试题 10.11. 峰与谷(排序/不排序)
- LeetCode 80. 删除排序数组中的重复项 II