내 블로그 목록

2016년 7월 25일 월요일

[빠른 곱셈] 카라츠바 알고리즘


N 자리 수의 곱셈은 보통 O(N^2) 으로 표현이 된다.

카라츠바 알고리즘 을 통해 구현한다면 N^log3 으로 조금더 빠르게 구현 할 수 있다.


2015년 2월 4일 수요일

OpenCV 2.4.9 설치 + Visual Studio 2013 실행

OpenCV 2.4.9 설치 + Visual Studio 2013 실행



1. http://opencv.org/  OpenCV 프로그램을 받는다. 



2. 적당한 위치에 설치 후 환경 변수 설정을 한다. 

[OpenCV 설치위치]\build\x86 [사용 운영체제 Bit]\vc12 [사용 Visual Studio 버전]\binPATH 에 추가한다. 


OpenCV 설치는 완료 되었다.

3. Visual Studio 속성 -> C/C++ 추가 포함 디렉터리 



[Opencv 설치 위치] \ Build \ include              추가
[Opencv 설치 위치] \ Build \ include \ opencv  추가
[Opencv 설치 위치] \ Build \ include \ opencv2 추가




4. Visual Studio 속성 -> 링커 -> 일반 -> 추가 라이브러리 디렉터리




[Opencv 설치 위치] \ Build \ x86 \ vc12 \ lib 추가 






5. Visual Studio 속성 -> 링커 -> 입력-> 추가 종속성 




opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_ml249d.lib
opencv_nonfree249d.lib
opencv_objdetect249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_videostab249d.lib

를 추가 한다.



4. 예제 소스 


#include <opencv\cv.h>
#include <opencv\highgui.h>

int main(void)
{
IplImage* image = cvLoadImage("C:\\opencv\\build\\doc\\opencv-logo.png");

cvShowImage("OpenCV", image);
cvWaitKey(0);

cvReleaseImage(&image);
return 0;
}


출력영상 :



5. 추가적으로 작동하지 않을때. 


opencv\build\x64\vc12\bin에 있는 dll 파일들을 실행 프로젝트가 있는 Debug  폴더에 복사한다

2015년 2월 3일 화요일

[Android] Google Map API 사용하기.

Android Google Map API 사용하기.

1. Project 생성


 1. Android SDK Manager 에서 [Google Play services] Insatall 한다.

 


2. [Import] -> [Android - Existing Android Code Into Workspace]



 




3 . [안드로이드 SDK경로] /extras/google/google_play_services/libproject/google-play-services_lib




4. Android Example Project 생성

2.구글맵 인증키 발급에 필요한 keyStore 받기



Windows XP : C:\Documents And Settings\[사용자 계정]\.android
Windows Vista/7 : C:\Users\[사용자 계정]\.android
OSX/Linux : ~/.android


의 위치에 debug.keysotre이 위치 해 있다.





keytool -list -v -keystore "경로" -alias androiddebugkey -storepass android -keypass android

위의 명령어를 cmd 창에서 실행한다.



여기서 필요한 정보는 SHA1 인증서 지문이다.


이 과정까지 완료한 후 https://code.google.com/apis/console/ 로 이동한다.

[API 및 인증] - [API] 에서 'Google Maps Android API v2' 를 사용 설정한다.


[API 및 인증] - [사용자 인증 정보] 에서 '공개 API 액세스'  [새 키 만들기]를 한다.





빈칸에 과정에서 구한4 [ SHA1지문 ; 사용자 Package 이름 을 입력 한다.


이 과정을 완료 하면 API 키 를 받을 수 있다. 


3. 사용 예제 만들어 보기 


 1. AndroidManifest.xml 에서 API 키 추가합니다.
<meta-data
    android:name="com.google.android.maps.v2.API_KEY"
    android:value="API_KEY"/>
        <meta-data
            android:name= "com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
 2. Permissions 추가합니다.

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!-- The following two permissions are not required to use
     Google Maps Android API v2, but are recommended. -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

3. OpenGL ES version2 를 요구 합니다.
<uses-feature
        android:glEsVersion="0x00020000"
        android:required="true"/>

 4. ADD MAP

  1. XML 파일에 아래 소스를 추가 합니다. 
    <?xml version="1.0" encoding="utf-8"?>
    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/map"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:name="com.google.android.gms.maps.MapFragment"/>
    
  2. Add the following code in MainActivity.java.
    package com.example.mapdemo;
    import android.app.Activity;
    import android.os.Bundle;
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    }



자세한 정보는

https://developers.google.com/maps/documentation/android/?hl=ko

에서 얻을 수 있습니다.



2015년 2월 2일 월요일

error C4996: Visual Studio Scanf 사용하기.

error C4996:  Visual Studio Scanf 사용하기.







헤더 부분에  ' #pragma warning(disable:4996)' 을 붙이면 사용은 가능하다.


안정성이 의심 되므로 scanf_s를 사용하라고는 하지만 scanf가 편하기 때문에 사용한다.

2015년 2월 1일 일요일

Android 개발 환경 구축 방법 ( Window7 64bit, Eclipse )

Android 개발 환경 구축 방법 ( Window7 64bit, Eclipse )





1. JDK (Java Development Kit)  설치


    JDK 설치(http://www.oracle.com/technetwork/java/javase/downloads/index.html)




자신의 운영체제에 맞게 JDK를 설치 합니다.

2.  환경 설정



  1) ( 컴퓨터 -> 속성 ) 
      고급 시스템 설정 선택 

   2) 환경변수 선택



 3)시스템 변수 새로 만들기  
     변수 이름 : JAVA_HOME 
     변수 값 : JDK 설치 경로 

4) 시스템 변수 편집
      Path
      ;%JAVA_HOME%\bin;






3. Eclipse 설치

 
     Eclipse 설치(http://www.eclipse.org/downloads/)



적당한 버전을 설치하여 압축을 해제 한다.


4. ADT 설치


   [Help] -> [Install New Software]

 




 [ADD]

    NAME    : ADT
    Location : https://dl-ssl.google.com/android/eclipse/

    설치





 5. SDK

   ADT 설치 후 SDK가 있다면 경로 설정을 없다면 설치를 해주면 개발환경은 끝이 난다.



2015 - 02 -02