在我当前的应用程序中,我有一个类,它持有一个Camera对象的实例,并尝试执行以下操作:
1)等待指定的时间,例如没有(这是通过TimerTask完成的)2)请求通过autoFocus进行聚焦3)在autoFocus回调中,请求OneShotPreviewCallback 4)在预览回调中,保存图像5)重复
虽然白平衡在第一次自动对焦之前工作正常,但在第一次聚焦完成后它会停止.好吧,当然我查找了API,并且autoFocus描述中有一个有趣的声明.
但自动对焦程序可能会在对焦过程中暂时停止自动曝光和自动白平衡.
但它似乎只是暂时停止,而是永久停止.有趣的是,随后调用autoFocus,相机会尝试再次调整白化,但正确的值主要是仅使用第二个或第三个自动聚焦.
我还尝试在代码中设置白平衡,但它没有改变任何东西.
setWhiteBalance(Camera.Parameters.WHITE_BALANCE_AUTO);
Run Code Online (Sandbox Code Playgroud)
有没有人知道这个问题,还是我错过了一些观点?我知道我可以永久调用autoFocus强制白平衡,但这对我来说似乎不是最佳方式,因为在第一次调用auf autoFocus之前,它工作得很好.
PS:我正在使用Android 4.0.3在三星Galaxy S2上进行测试.
我有一个相机应用程序,允许用户拍照.在我的主屏幕上,我有一个在SurfaceView上渲染的相机.当用户拍照时,我调用camera.autoFocus,在AutoFocusCallback回调中我调用camera.takePicture.然后我保存照片并转到另一个活动预览照片.我在离开相机页面(onPause)时调用camera.stopPreview(),在返回时调用camera.startPreview()(onResume).
使用FOCUS_MODE_CONTINUOUS_PICTURE初始化摄像机.回到相机页面时我不回收相机(因为这是一个需要约2秒钟的慢速操作),但如果相机之前已经初始化,则只需调用startPreview.
这是我的问题.在拍摄第一张照片之前,连续自动对焦工作正常,因为最初在相机上设置了FOCUS_MODE_CONTINUOUS_PICTURE.但是在调用camera.autoFocus后,FOCUS_MODE_CONTINUOUS_PICTURE停止工作.之后当我返回同一个屏幕并调用startPreview时,连续自动对焦不再起作用了.
有没有办法重新启动连续自动对焦而无需重新启动相机?我想避免重新启动相机,因为这会导致用户延迟几秒钟.
我正在开发一个应用程序,用户可以选择是否要扫描条形码或拍摄某些内容.为了拍照,我UIImagePickerController照常使用.对于扫描条形码,我使用的是ZbarSDK 1.2 ZBarReaderViewController.
拍照时一切都很完美.扫描条形码时:如果您在拍照前启动应用程序并扫描条形码,它也可以完美运行.
但是你是拍照,然后回去尝试扫描条形码,相机失去了自动对焦,而且扫描条形码是不可能的.
总结一下:
开始 - >扫描 - > 自动对焦工作
开始 - >拍照 - >返回 - >扫描 - > 自动对焦不工作
这是我初始化条形码扫描仪的方式:
-(ZBarReaderViewController *) barcodeScanner
{
if (nil == _barcodeScanner)
{
_barcodeScanner = [ZBarReaderViewController new];
_barcodeScanner.readerDelegate = self;
_barcodeScanner.cameraMode = ZBarReaderControllerCameraModeSampling;
_barcodeScanner.sourceType = UIImagePickerControllerSourceTypeCamera;
}
return _barcodeScanner;
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我正在尝试将相机设置为自动对焦...但每当我设置setFocusMode应用程序崩溃时..
java.lang.RuntimeException: setParameters failed
Run Code Online (Sandbox Code Playgroud)
我的代码是:
Camera.Parameters parameters = camera.getParameters();
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
Camera.Size size = getBestPreviewSize(width, height, parameters);
Camera.Size pictureSize = getSmallestPictureSize(parameters);
if (size != null && pictureSize != null) {
parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
parameters.setPreviewSize(size.width, size.height);
parameters.setPictureSize(pictureSize.width, pictureSize.height);
parameters.setPictureFormat(ImageFormat.JPEG);
camera.setParameters(parameters);
cameraConfigured = true;
}
Run Code Online (Sandbox Code Playgroud)
为什么会出现这个错误?
谷歌Goggles应用程序自动聚焦比我的Nexus 4(和我试过的其他手机/平板电脑)上的默认相机应用程序要好得多.事实上,它做得很好,我认为他们做软件.
有谁知道Goggles应用程序如何进行自动对焦或如何进行软件操作?
现在我正在使用Android OCR rmtheis(https://github.com/rmtheis/android-ocr)制作一个OCR应用程序作为脚手架.
但是,我很满意.
我的主要问题:
当扫描带有少量不同字体的超小文本时,它只返回一小部分包含的字符,这些字体具有无关紧要的杂乱,例如图像和条形码(在本例中来自产品手册).
自动对焦的循环方式是,如果在图像形状最清晰的情况下按下camerabutton,则可能太晚0.02秒并扫描模糊图像.因此,当所选视图中包含文本时,我更喜欢自动捕获.
是否有适用于Android的高质量OCR解决方案,几乎每次都可以捕获棘手的小文本并使其正确无误?
只是为了澄清:我已经通过android-ocr项目使用tesseract(tess-two)了
另一方面:它几乎每次都需要返回接近100%的正确结果.不需要语言支持,我只会用它来捕获代码,例如842EAB842EAB842EAB84?2EAB842EAB842EAB,除了它之外还有不相关的英文文本.因此,我根本不需要语言支持.
编辑:这似乎是我正在寻找的:http: //www.abbyy.com/mobileocr/features/
有没有比Abbyy更高质量输出的解决方案?
我正在使用和角度JS和HTML5应用程序.我有一个包含用户名和密码字段的登录表单.当登录页面加载时,我希望默认情况下焦点在用户名上.我使用HTML5 autofocus ="autofocus"来实现这一点,而无需编写任何脚本.
<input name="USER" id="USER" type="email" class="input-control" data-ng-model="login.userName" required autofocus="autofocus">
Run Code Online (Sandbox Code Playgroud)
这适用于Google Chrome,Internet Explorer和Safari.然而自动对焦在Mozilla Firefox中不起作用.对于旧版本的firefox中的自动对焦有一些问题.我使用的是48.0版
有解决方案吗 提前致谢
我已经使用 redux-form 创建了一个 React 组件,并且希望在第一个字段上自动聚焦。这些字段是通过循环遍历一个对象并为该对象中的每个项目创建一个字段来创建的。当我在 JSX 中使用 autoFocus 时,表单中的最后一个字段是 autoFocus(这是有道理的)。
有谁知道如何在表单的第一个字段上自动对焦?
这是我的组件:
import React, { Component } from 'react';
import { Field, reduxForm } from 'redux-form';
class BalanceForm extends Component {
constructor(props) {
super(props);
this.submitForm = this.submitForm.bind(this);
this.cancel = this.cancel.bind(this);
}
cancel() {
//not relevant
}
submitForm(e, values) {
//not relevant
}
render() {
return (
<div>
{this.props.balanceFormVisible &&
<div className="modal-background">
<div className="modal">
<form onSubmit={this.submitForm}>
{Object.keys(this.props.accounts).map((key) => {
return (
this.props.accounts[key].visible &&
<div key={this.props.accounts[key].name}>
<label className="form-label" htmlFor={this.props.accounts[key].name}>
{this.props.accounts[key].display}
</label>
<Field …Run Code Online (Sandbox Code Playgroud)
在 Angular v7 项目中使用 PrimgNG v7.1.3。
在一个简单的组件中实现了 Multiselect ( https://www.primefaces.org/primeng-7.1.3/#/multiselect )。
需要在页面加载时设置焦点。
下面的解决方案适用于下拉但不适用于多选:
在 HTML 中:
<p-dropdown #someDropdown></p-dropdown>
在组件中:
import { Dropdown } from 'primeng/dropdown';
@ViewChild('someDropdown') someDropdown: Dropdown;
this.someDropdown.applyFocus();
Run Code Online (Sandbox Code Playgroud)
但是对于Multiselect,它会抛出这种方法无效的错误。
尝试了此 SO 链接中提到的“ngIf 中的控制”中的第一个答案,仍然没有运气:primeng:设置焦点控制也
检查了 PrimeNG 文档和用户指南,但没有提到聚焦功能。
后来也试了下。它都没有奏效。
this.someMultiSelect.focus();
this.someMultiSelect.applyFocus();
this.someMultiSelect.el.focus();
this.someMultiSelect.el.applyFocus();
this.someMultiSelect.el.nativeElement.focus();
this.someMultiSelect.el.nativeElement.applyFocus();
this.someMultiSelect.containerViewChild.focus();
this.someMultiSelect.containerViewChild.applyFocus();
this.someMultiSelect.containerViewChild.nativeElement.focus();
this.someMultiSelect.containerViewChild.nativeElement.applyFocus();
Run Code Online (Sandbox Code Playgroud)
Stackblitz:https ://stackblitz.com/edit/primeng-multiselect-autofocus
请建议。
任何帮助表示赞赏。
如果您在带有 或 的页面上使用Google One Tap ,或者在页面加载过程中使用Google One Tap,则 Google One Tap 会在显示其登录窗口时从输入字段中删除焦点。inputtextareaautofocusfocus()
对我来说,这看起来像是 Google One Tap 错误。
有办法避免吗?并举报?
javascript google-api autofocus google-signin google-one-tap
autofocus ×10
android ×5
camera ×3
javascript ×2
angular ×1
angularjs ×1
firefox ×1
focus ×1
forms ×1
google-api ×1
html5 ×1
ios ×1
iphone ×1
objective-c ×1
ocr ×1
primeng ×1
reactjs ×1
redux-form ×1
scanning ×1
zbar-sdk ×1