OpenCV中文网站

 找回密码
 立即注册
搜索
热搜: 安装 配置
查看: 14012|回复: 17

android通过opencv打开摄像头并且保存图片的问题!!!

[复制链接]
匿名
匿名  发表于 2015-10-21 11:35:48 |阅读模式
opencv for android 中的samples中有好一个打开摄像头并且保存图片的例子,可是保存的图片总是如图片所示,想得到清晰具体的图像,应该怎么办???希望大神们指教!!
suxue2015.10.20.17.06.13.bmp
回复

使用道具 举报

发表于 2015-10-21 14:31:05 | 显示全部楼层
org.opencv.android.CameraBridgeViewBase


/**
     * This method sets the maximum size that camera frame is allowed to be. When selecting
     * size - the biggest size which less or equal the size set will be selected.
     * As an example - we set setMaxFrameSize(200,200) and we have 176x152 and 320x240 sizes. The
     * preview frame will be selected with 176x152 size.
     * This method is useful when need to restrict the size of preview frame for some reason (for example for video recording)
     * @param maxWidth - the maximum width allowed for camera frame.
     * @param maxHeight - the maximum height allowed for camera frame
     */
    public void setMaxFrameSize(int maxWidth, int maxHeight) {
        mMaxWidth = maxWidth;
        mMaxHeight = maxHeight;
    }

回复 支持 反对

使用道具 举报

发表于 2015-10-22 15:30:08 | 显示全部楼层
play4fun 发表于 2015-10-21 14:31
org.opencv.android.CameraBridgeViewBase

谢谢,我主要是想通过public Mat onCameraFrame(CvCameraViewFrame inputFrame){
}进行相应的图像处理,最后希望把处理后的图片能够保存下来,可每次保存的都是未经处理的这种类型的图片,不知道到底哪出错啦??希望您再次得到您的解答
回复 支持 反对

使用道具 举报

发表于 2015-10-23 12:13:10 | 显示全部楼层
苏雪1229 发表于 2015-10-22 15:30
谢谢,我主要是想通过public Mat onCameraFrame(CvCameraViewFrame inputFrame){
}进行相应的图像处理, ...

onCameraFrame 得到的都是每一帧
你可以打印一下他的长和宽。

你的摄像头支持多大的分辨率?

sample程序,它设置了低分辨率,
默认分辨率,你知道吗?
回复 支持 反对

使用道具 举报

发表于 2015-10-23 20:10:34 | 显示全部楼层
刚打印了一下,发现每帧的width=480,height=320,这部分的代码是这样,还望继续指教!!谢啦
public List<String> getEffectList() {
        return mCamera.getParameters().getSupportedColorEffects();
    }

    public boolean isEffectSupported() {
        return (mCamera.getParameters().getColorEffect() != null);
    }

    public String getEffect() {
        return mCamera.getParameters().getColorEffect();
    }

    public void setEffect(String effect) {
        Camera.Parameters params = mCamera.getParameters();
        params.setColorEffect(effect);
        mCamera.setParameters(params);
    }

    public List<Size> getResolutionList() {
        return mCamera.getParameters().getSupportedPreviewSizes();
    }

   public void setResolution(Size resolution) {
    disconnectCamera();
      mMaxHeight = resolution.height;
      mMaxWidth= resolution.width;
        connectCamera(getWidth(), getHeight());
    }

    public Size getResolution() {
        return mCamera.getParameters().getPreviewSize();
    }
回复 支持 反对

使用道具 举报

发表于 2016-1-5 18:55:04 | 显示全部楼层
楼主,你这个是怎么做的,我做的时候不知道为什么一直会死
回复 支持 反对

使用道具 举报

发表于 2016-1-20 17:44:38 | 显示全部楼层
尝试切换几个照片分辨率和预览分辨率试试,有的手机不是所有分辨率都可以正常工作的。。
回复 支持 反对

使用道具 举报

发表于 2016-1-21 14:58:00 | 显示全部楼层
这个问题已经解决,多谢大家的帮忙
回复 支持 反对

使用道具 举报

发表于 2016-3-3 21:28:35 | 显示全部楼层
苏雪1229 发表于 2016-1-21 14:58
这个问题已经解决,多谢大家的帮忙

楼主的开发环境是怎么搭建的呢,
回复 支持 反对

使用道具 举报

发表于 2016-3-7 10:01:53 | 显示全部楼层
cike14 发表于 2016-3-3 21:28
楼主的开发环境是怎么搭建的呢,

网上各种通过jni的方式,可惜我这边折腾了好久都没成功,最后就直接使用Java语言编写;这个环境配置就简单了很多
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|OpenCV中文网站

GMT+8, 2024-4-20 02:22 , Processed in 0.017977 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表