Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Coursework.docx
Скачиваний:
10
Добавлен:
02.03.2016
Размер:
504.55 Кб
Скачать
  1. Висновок

Теорія штучних нейронних мереж розвивається стрімко, але в цей час вона недостатня, щоб бути опорою для найбільш оптимістичних проектів. У ретроспективі видно, що теорія розвивалася швидше, ніж передбачали песимісти, але повільніше, ніж сподівалися оптимісти, типова ситуація. Сьогоднішній вибух інтересу залучив до нейронних мереж тисячі дослідників. Резонно чекати швидкого зростання нашого розуміння штучних нейронних мереж, ведучого до більш довершених мережевих парадигм і множини прикладних можливостей.

11. Список використаних джерел

1. http://www.module.ru/files/un_neuron_net.pdf

2 .http://www.neuroproject.ru/neuro.htm

3. http://www.orc.ru/ ~ stasson / neurox.html # articles цикл статей: «нейронні мережі: основні положення», C. Короткий

4 .http://mechanoid.narod.ru/nns/base Основні моделі та методи теорії штучних нейронних мереж, Борисов Є. С., 19 жовтня 2005

5. Wasserman, P. D. (1989). Neural computing theory and practice. (Ф. Восермен Нейрокомп'ютерна техніка: Теорія і практика)

12. Код додатку

<?xmlversion="1.0"encoding="utf-8"?>

<manifestxmlns:android="http://schemas.android.com/apk/res/android"

    package="info.androidhive.androidcameraapi"

    android:versionCode="1"

    android:versionName="1.0">

    <uses-sdk

        android:minSdkVersion="8"

        android:targetSdkVersion="17"/>

    <!-- Accessing camera hardware -->

    <uses-featureandroid:name="android.hardware.camera"/>

 

    <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

    <uses-permissionandroid:name="android.permission.RECORD_AUDIO"/>

    <application

        android:allowBackup="true"

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name"

        android:theme="@style/AppTheme">

        <activity

            android:name="info.androidhive.androidcameraapi.MainActivity"

            android:label="@string/app_name"

            android:configChanges="orientation|keyboard|keyboardHidden"

            android:screenOrientation="landscape">

            <intent-filter>

                <actionandroid:name="android.intent.action.MAIN"/>

                <categoryandroid:name="android.intent.category.LAUNCHER"/>

            </intent-filter>

        </activity>

    </application>

</manifest>

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="horizontal"

    android:baselineAligned="false"

    tools:context=".MainActivity">

 

    <LinearLayout

        android:layout_width="0dp"

        android:layout_height="fill_parent"

        android:layout_weight="1"

        android:gravity="center"

        android:orientation="vertical">

  

    <LinearLayout

        android:layout_width="0dp"

        android:layout_height="fill_parent"

        android:layout_weight="1"

        android:orientation="vertical"

        android:padding="10dp">

 

        <TextView

            android:layout_width="fill_parent"

            android:layout_height="wrap_content"

            android:text="Перегляд"

            android:padding="10dp"

            android:textSize="15dp"/>

 

        <!-- To display picture taken -->

        <ImageView

            android:id="@+id/imgPreview"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:visibility="gone"/>

 

    </LinearLayout>

 

</LinearLayout>

   

importjava.io.File;

importjava.text.SimpleDateFormat;

importjava.util.Date;

importjava.util.Locale;

 

importandroid.app.Activity;

importandroid.content.Intent;

importandroid.content.pm.PackageManager;

importandroid.graphics.Bitmap;

importandroid.graphics.BitmapFactory;

importandroid.net.Uri;

importandroid.os.Bundle;

importandroid.os.Environment;

importandroid.provider.MediaStore;

importandroid.util.Log;

importandroid.view.View;

importandroid.widget.Button;

importandroid.widget.ImageView;

importandroid.widget.Toast;

importandroid.widget.VideoView;

 

publicclassMainActivity extendsActivity {

 

    // Activity request codes

    privatestaticfinalintCAMERA_CAPTURE_IMAGE_REQUEST_CODE = 100;

    privatestaticfinalintCAMERA_CAPTURE_VIDEO_REQUEST_CODE = 200;

    publicstaticfinalintMEDIA_TYPE_IMAGE = 1;

    publicstaticfinalintMEDIA_TYPE_VIDEO = 2;

 

    // directory name to store captured images and videos

    privatestaticfinalString IMAGE_DIRECTORY_NAME = "Hello Camera";

 

    privateUri fileUri; // file url to store image/video

 

    privateImageViewimgPreview;

    privateVideoViewvideoPreview;

    privateButton btnCapturePicture, btnRecordVideo;

 

    @Override

    protectedvoidonCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

 

        imgPreview = (ImageView) findViewById(R.id.imgPreview);

        videoPreview = (VideoView) findViewById(R.id.videoPreview);

        btnCapturePicture = (Button) findViewById(R.id.btnCapturePicture);

        btnRecordVideo = (Button) findViewById(R.id.btnRecordVideo);

 

        /**

         * Capture image button click event

         */

        btnCapturePicture.setOnClickListener(newView.OnClickListener() {

            publicvoidonClick(View v) {

                // capture picture

                captureImage();

            }

        });

 

        /**

         * Record video button click event

         */

        btnRecordVideo.setOnClickListener(newView.OnClickListener() {

 

            @Override

            publicvoidonClick(View v) {

                // record video

                recordVideo();

            }

        });

 

        // Checking camera availability

        if(!isDeviceSupportCamera()) {

            Toast.makeText(getApplicationContext(),

                    "Sorry! Your device doesn't support camera",

                    Toast.LENGTH_LONG).show();

            // will close the app if the device does't have camera

            finish();

        }

    }

 

    /**

     * Checking device has camera hardware or not

     * */

    privatebooleanisDeviceSupportCamera() {

        if(getApplicationContext().getPackageManager().hasSystemFeature(

                PackageManager.FEATURE_CAMERA)) {

            // this device has a camera

            returntrue;

        } else{

            // no camera on this device

            returnfalse;

        }

 

    /**

     * Capturing Camera Image will lauch camera app requrest image capture

     */

    privatevoidcaptureImage() {

        Intent intent = newIntent(MediaStore.ACTION_IMAGE_CAPTURE);

 

        fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);

 

        intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);

 

        // start the image capture Intent

        startActivityForResult(intent, CAMERA_CAPTURE_IMAGE_REQUEST_CODE);

    }

    /**

     * Here we store the file url as it will be null after returning from camera

     * app

     */

    @Override

    protectedvoidonSaveInstanceState(Bundle outState) {

        super.onSaveInstanceState(outState);

 

        // save file url in bundle as it will be null on scren orientation

        // changes

        outState.putParcelable("file_uri", fileUri);

    }

    @Override

    protectedvoidonRestoreInstanceState(Bundle savedInstanceState) {

        super.onRestoreInstanceState(savedInstanceState);

 

        // get the file url

        fileUri = savedInstanceState.getParcelable("file_uri");

    }

 

    /**

     * Recording video

     */

    privatevoidrecordVideo() {

        Intent intent = newIntent(MediaStore.ACTION_VIDEO_CAPTURE);

 

        fileUri = getOutputMediaFileUri(MEDIA_TYPE_VIDEO);

 

        // set video quality

        intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);

 

        intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file

                                                            // name

 

        // start the video capture Intent

        startActivityForResult(intent, CAMERA_CAPTURE_VIDEO_REQUEST_CODE);

    }

    /**

     * Receiving activity result method will be called after closing the camera

     * */

    @Override

    protectedvoidonActivityResult(intrequestCode, intresultCode, Intent data) {

        // if the result is capturing Image

        if(requestCode == CAMERA_CAPTURE_IMAGE_REQUEST_CODE) {

            if(resultCode == RESULT_OK) {

                // successfully captured the image

                // display it in image view

                previewCapturedImage();

            } elseif(resultCode == RESULT_CANCELED) {

                // user cancelled Image capture

                Toast.makeText(getApplicationContext(),

                        "User cancelled image capture", Toast.LENGTH_SHORT)

                        .show();

            } else{

                // failed to capture image

                Toast.makeText(getApplicationContext(),

                        "Sorry! Failed to capture image", Toast.LENGTH_SHORT)

                        .show();

            }

        } elseif(requestCode == CAMERA_CAPTURE_VIDEO_REQUEST_CODE) {

            if(resultCode == RESULT_OK) {

                // video successfully recorded

                // preview the recorded video

                previewVideo();

            } elseif(resultCode == RESULT_CANCELED) {

                // user cancelled recording

                Toast.makeText(getApplicationContext(),

                        "User cancelled video recording", Toast.LENGTH_SHORT)

                        .show();

            } else{

                // failed to record video

                Toast.makeText(getApplicationContext(),

                        "Sorry! Failed to record video", Toast.LENGTH_SHORT)

                        .show();

            }

        }

    }

privatevoidpreviewCapturedImage() {

        try{

            // hide video preview

            videoPreview.setVisibility(View.GONE);

 

            imgPreview.setVisibility(View.VISIBLE);

 

            // bimatp factory

            BitmapFactory.Options options = newBitmapFactory.Options();

 

            // downsizing image as it throws OutOfMemory Exception for larger

            // images

            options.inSampleSize = 8;

            finalBitmap bitmap = BitmapFactory.decodeFile(fileUri.getPath(),

                    options);

 

            imgPreview.setImageBitmap(bitmap);

        } catch(NullPointerException e) {

            e.printStackTrace();

        }

    }

    /**

     * Previewing recorded video

     */

    privatevoidpreviewVideo() {

        try{

            // hide image preview

            imgPreview.setVisibility(View.GONE);

 

            videoPreview.setVisibility(View.VISIBLE);

            videoPreview.setVideoPath(fileUri.getPath());

            // start playing

            videoPreview.start();

        } catch(Exception e) {

            e.printStackTrace();

        }

    }

    Creating file uri to store image/video/

    publicUri getOutputMediaFileUri(inttype) {

        returnUri.fromFile(getOutputMediaFile(type));

    }

 

    /**

     * returning image / video

     */

    privatestaticFile getOutputMediaFile(inttype) {

 

        // External sdcard location

        File mediaStorageDir = newFile(

                Environment

                        .getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),

                IMAGE_DIRECTORY_NAME);

 

        // Create the storage directory if it does not exist

        if(!mediaStorageDir.exists()) {

            if(!mediaStorageDir.mkdirs()) {

                Log.d(IMAGE_DIRECTORY_NAME, "Oops! Failed create "

                        + IMAGE_DIRECTORY_NAME + " directory");

                returnnull;

            }

        }

        // Create a media file name

        String timeStamp = newSimpleDateFormat("yyyyMMdd_HHmmss",

                Locale.getDefault()).format(newDate());

        File mediaFile;

        if(type == MEDIA_TYPE_IMAGE) {

            mediaFile = newFile(mediaStorageDir.getPath() + File.separator

                    + "IMG_"+ timeStamp + ".jpg");

        } elseif(type == MEDIA_TYPE_VIDEO) {

            mediaFile = newFile(mediaStorageDir.getPath() + File.separator

                    + "VID_"+ timeStamp + ".mp4");

        } else{

            returnnull;

        }

        returnmediaFile;

    }

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]