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"