我想在捕获的图像中检测条形码。我使用android的camera2捕获图像。此后,将检索图像的元数据并将图像保存到设备。元数据全部传递到下一个活动,该活动是应用程序尝试检测条形码的地方。
下一个活动是从先前保存的文件创建一个byte []。接下来,使用随意图传递的数据创建相关的FirebaseVision对象。最后,应用程序尝试detectInImage()在抛出错误的地方调用该方法:
“ java.lang.IllegalArgumentException:无效的图像数据大小。”
我怀疑这是因为捕获的图像太大,但是我似乎无法弄清楚如何捕获较小的图像,并且在参考文档中也找不到有关允许的最大尺寸的任何信息。非常感谢您提供有关此错误及其解决方法的信息。以下是我认为是相关的代码。
private final ImageReader.OnImageAvailableListener onImageAvailableListener
= new ImageReader.OnImageAvailableListener() {
@Override
public void onImageAvailable(ImageReader imageReader) {
try{
// Semaphore ensures date is recorded before starting next activity
storeData.acquire();
Image resultImg = imageReader.acquireNextImage(); // Image from camera
imgWidth = resultImg.getWidth();
imgHeight = resultImg.getHeight();
ByteBuffer buffer = resultImg.getPlanes()[0].getBuffer();
data = new byte[buffer.remaining()]; // Byte array with the images data
buffer.get(data);
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
// Note: mediaFile directs to Pictures/"ThisProject" folder
File media = …Run Code Online (Sandbox Code Playgroud) 使用material-ui时,我一直在遵循文档并使用下面的方法导入
import Dialog from '@material-ui/core/Dialog';
import DialogTitle from '@material-ui/core/DialogTitle';
import DialogContent from '@material-ui/core/DialogContent';
Run Code Online (Sandbox Code Playgroud)
然而,我最近遇到了一些代码,其中上面的内容将被导入为
import { Dialog, DialogTitle, DialogContent } from '@material-ui/core';
Run Code Online (Sandbox Code Playgroud)
第二种导入方法显然看起来更干净,那么您在网上找到的文档和大多数代码都以第一种方式导入它有什么原因吗?