图像处理(一)自定义照相机

本文介绍如何在Android上实现自定义相机功能,并结合OpenCV进行图像处理。内容包括使用SurfaceView作为相机主要控件,以及处理后的图像储存和操作。虽然网上相关教程较少,但这里分享的代码和经验对于Android开发者来说具有参考价值。
摘要由CSDN通过智能技术生成

android 手机上的图像处理一般是现拍 或者 事实,我这里是通过现拍并储存本地,然后实现对图像的处理。以下图像处理代码多是 opencv 基于 android 处理的,而且这些东西网上也很少,希望大神们指点。

自定义照相机代码如下:
(SurfaceView是相机主要控件,其他根据需要添加)
cramera.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.cramera.MainActivity" >

    <SurfaceView     
       android:id="@+id/surfaceView"    
       android:layout_width="match_parent"    
       android:layout_height="match_parent"    
       />    

        <!-- 相对布局,放置两个按钮 -->  

       <RelativeLayout  
           android:id="@+id/buttonLayout"  
           android:layout_width="match_parent"  
           android:layout_height="wrap_content"  
           android:visibility="visible" >  
           <FrameLayout  
            android:id="@+id/fra_shade_top"  
            android:layout_width="match_parent"  
            android:layout_height="150dp"  
            android:layout_alignParentTop="true"  
            android:background="#000000" />  
          <LinearLayout 
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:orientation="horizontal"
              >

               <ImageView
                   android:id="@+id/image1"
                   android:layout_width="fill_parent"
                   android:layout_height="130dp"
                   android:layout_weight="1"
                   />

               <ImageView
                   android:id="@+id/image2"
                   android:layout_width="fill_parent"
                   android:layout_height="130dp"
                   android:layout_weight="1"
                   />

               <ImageView
                   android:id="@+id/image3"
                   android:layout_width="fill_parent"
                   android:layout_height="130dp"
                   android:layout_weight="1"
                   />

          </LinearLayout>

            <FrameLayout  
            android:id="@+id/fra_shade_bottom"  
            android:layout_width="match_parent"  
            android:layout_height="150dp"  
            android:layout_alignParentBottom="true"  
            android:background="#000000" />  

        <TableLayout  
            android:id="@+id/table1"  
            android:layout_width="fill_parent"  
            android:layout_height="wrap_content"  
            android:layout_alignParentBottom="true"  
            android:padding="4dip"  
            android:stretchColumns="*" >  

           <TableRow>  

               <Button  
                   android:id="@+id/bnt_enter"  
                   android:layout_width="wrap_content"  
                   android:layout_height="wrap_content"  
                   android:text="确认" />  

               <Button  
                   android:id="@+id/bnt_takepicture"  
                   android:layout_width="wrap_content"  
                   android:layout_height="wrap_content"  
                   android:text="拍照" />  

               <Button  
                   android:id="@+id/bnt_cancel"  
                   android:layout_width="wrap_content"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值