使用MonoDroid从相机中获取全分辨率图片
我试图找到一种方法来从monodroid访问完整的分辨率图片,经过很长一段时间,试图将Java示例移植到monodroid并查看其他人似乎已经获得了以下内容(我目前有以下内容)不起作用) private const int TAKE_PICTURE = 1; protected Uri fileUri; private void takePhoto(object sender, EventArgs e) { Intent intent = new Intent(Android.Provider.MediaStore.ActionImageCapture); string path = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal),
0 2024-04-14
编程技术问答社区
使用NDK在Android中进行实时图像处理
使用Android(2.3.3)手机,我可以使用摄像头检索使用onPreviewFrame(byte[] data, Camera camera)方法获取YUV图像的预览. 对于某些图像处理,我需要将此数据转换为RGB图像并在设备上显示.使用基本的Java/Android方法,这以可怕的速度少于5 fps ... 现在,使用NDK,我想加快速度.问题是:如何将YUV数组转换为C中的RGB数组?是否有一种方法可以在本机代码中显示(也许使用OpenGL?)?实时应该是可能的(高通AR演示向我们展示了). 我不能使用setTargetDisplay并在上面放一个覆盖! 我知道Java,最近从Android SDK开始,在C 方面的经验为零 解决方案 您是否考虑过使用 OpenCV的Android端口?它不仅可以进行颜色转换,而且还可以做得很快. 其他解决方案 Google搜索返回此页面用于yuv-> rgb565的c实现.作者甚至包括JNI包装器.
0 2024-04-07
编程技术问答社区
BroadcastReceiver不接收相机按钮的按键。
当我的应用程序在后台时,我正在尝试播放一些音调,然后按" camera "按钮,我正在执行此简单步骤. 创建BroadcastReceiver class public class CameraButtonListener extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { ToneGenerator tone = new ToneGenerator(AudioManager.STREAM_DTMF, 100); tone.startTone(0,2000); abortBroadcast(); } } 寄存器BrodcastReceiver onCreate methode. @Override public void onCreate(Bundle save
0 2024-04-03
编程技术问答社区
如何获得每张新图片在画廊应用中可见的通知?
背景 当用户下载新图像或使用相机捕获一个图像时,Gallery应用将更新以显示新图像. 无论是如何创建它,我都需要立即通知每个新图像(相机,浏览器,...),就像Gallery App显示的那样. . 问题 事实证明,有一个MediaScanner Android组件,负责扫描所有类型的媒体文件,并且当它完成时,它应该发送意图" Media_scanner_fined " .il/2012/05/android-how-how-how-to-if-media-scanner.html" rel =" noreferrer"> ). 所以我添加了下一个代码,希望每当用户从相机应用中拍摄照片时,它都会显示出烤面包: 清单: ...
0 2024-04-03
编程技术问答社区
如何在广播接收器的帮助下获得相机点击事件?
我不想制作任何应用程序.我只希望当我单击默认的摄像头应用程序(附加屏幕截图)时,通常会打开相机.然后,当我单击按钮以单击图像时,我只想显示敬酒.为此,我尝试了一些东西.我只是试图收到广播意图.代码如下.但是我没有得到吐司.请帮我. mainActivity.java public class MainActivity extends Activity { CameraReceiver myReceiver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = new Intent("com.android.camera.NEW_PICTURE"); CameraReceiver myReceiver = new CameraR
0 2024-04-03
编程技术问答社区
安卓:BroadcastReceiver意图检测所拍的相机照片?
我正在研究Android应用程序,该应用程序每次使用手机拍摄新图像时都需要执行操作.我不想将图像在我的应用程序中拍摄,而是想在相机应用获取图像并将其保存到SD卡时执行一些操作.目前,我已经获得了一个正在实施的广播,目前正在聆听" android.intent.cameration.camera_button".但是,当我想要它时,这似乎并没有被打电话.我试图在自己的手机上通过在广播公司的OnReceive方法的第一行上进行线路破坏该应用程序,但它从未达到该代码. 有人知道我应该听的正确意图是什么?还是使用广播员甚至不是最好的方法? (例如,是否有更好的方法可以实现此目的,例如聆听新图像的保存到卡中)? 谢谢! 更新:我确实在手机(HTC Eris)上有一个轨迹球,那么拍摄以这种方式拍照的照片不会被发送为"相机按钮"吗?如果是这样,是否有没有"相机按钮"的手机的解决方法,而是像轨迹球一样? 解决方案 现在,我已经获得了目前正在聆听" android.inten
Blazor MAUI-相机和麦克风的安卓权限
我试图显示 html元素中的相机和麦克风的实时流. 在Blazor文件(sample.razor)中,我调用方法来请求并显示视频: protected override async Task OnAfterRenderAsync(bool firstRender) { await base.OnAfterRenderAsync(firstRender); if (firstRender) { await JSRuntime.InvokeVoidAsync("requestMediaAndShow"); } } 在JavaScript文件(sample.js)中,我请求流并分配给视频HTML元素. // Create request options let options = { audio: true, video: true };
0 2024-04-01
编程技术问答社区
渲染脚本IntrinsicYuvToRGB和位图分配
我想制作自己的SurfaceView,并在其中发送我从OnPreviewFrame(byte []数据,相机相机)方法获得的帧. 为此,我需要将框架从Yuv转换为ArgB,然后将它们绘制到我的表面视图中. 这是我的OnPreviewFrame: public void onPreviewFrame(byte[] data, Camera camera) { if (camera != null) { camera.addCallbackBuffer(data); } // using RenderScript Bitmap bitmap = RenderScriptFilter.convertYuvToRgbIntrinsic(rs, data, PREVIEW_WIDTH, PREVIEW_HEIGHT); if (mFilterSurfaceVie
0 2024-03-31
编程技术问答社区
安卓-使用画布在位图之外设置带有背景颜色的图像覆盖层
我正在研究相机活动覆盖层,我在矩形(不透明黑色)之外成功地创建了不透明的颜色.而且,我在大矩形内成功地创建了一个小矩形.请参阅下图.如您所见,小矩形上有蓝色的背景.问题是,我想在图像之外制作蓝色背景(位图),而不是覆盖图像.问题是,如果我用透明填充更改图像,则蓝色背景将涵盖所有内容.如何使蓝色背景仅覆盖图像的外部?我已经试图从Google那里找到所有可能的答案,但是对我来说没有运气,也许我从错误的方法开始,需要建议. 这是我的代码 bitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888); Canvas osCanvas = new Canvas(bitmap); RectF outerRectangle = new RectF(0, 0, getWidth(), getHeight()); Paint paint = new Paint(Paint
0 2024-03-31
编程技术问答社区
将位图(RGB_565)转换为灰度(8位) Android
我在最后一年正在做一个面部识别项目.我必须使用局部二进制图案(LBP)对Android进行识别. 我在Internet上经常搜索了使用Java中LBP的面部识别的代码,但找不到在Android上可实现的任何内容.因此,现在我被迫写全部,我是Android和图像处理的新手. 我找到了一种从相机捕获图像的方法. public class CameraCapture extends Activity { protected boolean _taken = true; File sdImageMainDirectory; protected static final String PHOTO_TAKEN = "photo_taken"; @Override public void onCreate(Bundle savedInstanceState) { try { super.onCreate(savedInstanceState);
2 2024-03-31
编程技术问答社区
将视图矩形坐标转换为位图区域
我的相机屏幕带有矩形(简单的视图),以使照片在拍照后需要将对象放置在矩形内,该应用程序需要剪裁图像并仅显示矩形内部的区域. 来自camera2 api我接收图像并将其转换为bitmap. 我在屏幕上有矩形坐标. 问题是bitmap width/height例如5472/7296,以及与设备屏幕左top-114 top-764 width-852高度609相关的Rect坐标,我如何才能将其转换为位图上的区域以切割Rect's区域的位图. 我正在使用 切割位图 Bitmap createBitmap(Bitmap source, int x, int y, int width, int height) 我试图以百分比计算,但不是理想的(大约5%的不准确). 解决方案 因此,解决方案是将位图扩展到屏幕大小. Bitmap bitmap = BitmapUtil.scaleBitmap(bitmap, screenWidth, screenHeight)
0 2024-03-31
编程技术问答社区
java.lang.OutOfMemoryError in android while saving picture taken from camera
我有一个应用程序,我需要将图像从相机中拿出SDCARD. . 这是代码: camera.takePicture(myShutterCallback, myPictureCallback_RAW, myPictureCallback_JPG); PictureCallback myPictureCallback_JPG = new PictureCallback() { @Override public void onPictureTaken(byte[] arg0, Camera arg1) { Bitmap bitmapPicture = BitmapFactory.decodeByteArray(arg0, 0, arg0.length); FileOutputStream outStream =
2 2024-03-31
编程技术问答社区
处理大型位图
我只想从我的应用程序打开本机相机应用以捕获照片并将其设置为屏幕的背景图像,然后将其旋转.如果使用3MP摄像机拍摄照片,则旋转n次.如果我将相机分辨率设置为5MP或更多,则应用程序是第5次按下按钮关闭(照片旋转4次). Bitmap rotatedBitmap = null; int curAngle = 0; private Bitmap rotateImageBitmap(Bitmap capturedPhotoBitmap) { if(rotatedBitmap != null ) { rotatedBitmap = null; } Matrix matrix = new Matrix(); curAngle = (curAngle + 90) % 360; matrix.postRotate(curAngle); rotatedBitmap = Bitmap.createBitmap(capturedPhotoBitmap,
0 2024-03-31
编程技术问答社区
我怎样才能从安卓的相机中获得位图?
代码: public void startCameraActivity(){ Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); if (cameraIntent.resolveActivity(getActivity().getPackageManager()) != null) { startActivityForResult(cameraIntent, 1000); } } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if(resultCode == Activity.RESULT_OK) { if (requestCode ==
0 2024-03-31
编程技术问答社区
不能让安卓文档中的相机代码发挥作用
我正在使用代码来自/photobasics.html 代码: private void dispatchTakePictureIntent() { Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); if (takePictureIntent.resolveActivity(getActivity().getPackageManager()) != null) { File photoFile = null; try { photoFile = FileUtilities.createImageFile(); } catch (IOException ex) { // Error occurred while c
0 2024-03-31
编程技术问答社区
如何用相机拍摄的照片制作缩略图?
在我的应用程序中,我正在使用外部相机应用来制作照片并将其保存到SDCARD,我需要这张照片的正方形缩略图.我已经设法裁剪以将相机送回的缩略图与意图相吻合,但是由于我将照片保存到磁盘,意图是空的,并且我的旧方法使图片Square Bitmap cropped = Bitmap.createBitmap(source, 0, 0, min, min)抛出了一个Outoutmemory Exception. 解决方案 Bitmap ThumbImage = ThumbnailUtils.extractThumbnail(BitmapFactory.decodeFile(imagePath), THUMBSIZE, THUMBSIZE);
24 2024-03-31
编程技术问答社区
如何在安卓系统中拍摄照片、保存和获取照片
我一直在搜索一个简单的示例来拍摄照片,并使用URI保存并检索照片以进行图像处理, 我尝试了很多示例代码,但是它们都没有顺利进行. 有人有示例代码吗? 解决方案 定义一个类似的变量 protected static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 0; 使用代码从Android调用相机. Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); imageUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(),"fname_" + String.valueOf(System.currentTimeMillis()) + ".jpg")); intent.putExtra(android.p
4 2024-03-31
编程技术问答社区
相机图片转为位图的结果是混乱的图像
这是我用来将图像保存到Bitmap的代码.该代码基于Cyanogenmod的相机应用程序的代码,因此我认为它可以正常工作但不使用.关于此问题的最重要的事情是,当在Nexus 4上进行测试时,正在正确创建 Bitmap,用于使用后面摄像头拍摄的图片,但使用前面摄像头会导致您在下面看到的内容. 我用来创建Bitmap的代码: private class XyzPictureCallback implements Camera.PictureCallback { @Override public void onPictureTaken (byte [] data, Camera camera) { Options options = new Options(); options.inDither = false; options.inPreferredConfig = Bitmap.Config.ARGB_8888;
0 2024-03-31
编程技术问答社区
拍照并转换为Base64
我在下面使用代码与相机拍摄图片.而不是保存,我想将其编码为Base64,然后将其传递给另一个API作为输入.我看不到方法,如何修改代码以Base64而不是常规文件拍摄图片. public class CameraDemoActivity extends Activity { int TAKE_PHOTO_CODE = 0; public static int count = 0; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final String dir = Environment.getExternalStoragePublicDirectory(Environment.DIREC
2 2024-03-31
编程技术问答社区