반응형

IT/Android 5

[OpenGL ES] Android NDK 환경에서 glm 라이브러리 사용하기

NDK 환경에서 glm 사용하기 OpenGL ES 2.0에는 1.0과는 다르게 고정 파이프라인을 삭제하고 shader를 이용해 rotate, translate perspective 등의 계산을 진행해야한다. 따라서 glRotatef, glTranslatef, glutPerspective 등의 쉽게 사용하던 OpenGL의 함수를 2.0에서는 사용할 수 없게 되었다. 이런 불편함을 해결하기 위해 행렬 단위에서 shader를 조금 더 쉽게 이용할 수 있도록 도와주는게 glm 라이브러리이다. 이번 포스트는 glm과 OpenGL ES에 대해 기본적으로 이해하는 독자를 대상으로 하기 때문에, shader, NDK 환경에 대한 내용은 거의 다루지 않는다. Android에 glm 설치하기 1. glm 다운로드 http..

IT/Android 2021.09.01

[Android] kotlin으로 NDK 환경 FAST keypoint detetion

Android에서... Kotlin 지금 android studio의 kotlin 활용 비율이 점점 증가한다고는 하지만, opencv, ndk 등의 엔지니어링 예제를 본다면 아직 정보가 많이 부족한 것으로 보인다. 이에 따라 사소한 것이라도 조금씩 적는다면 누군가에게는 도움이 되지 않을까...! NDK ndk는 Android Studio 내에서 C++로 작업할 수 있게 도와준다. 이를 통해 기존 C 코드를 쉽게 옮길 수 도 있으며, OpenCL을 사용할 때 매우 유용하게 사용된다. 기본 설정 우선 NDK와 NDK 내 opencv 사용 설정은 아래 블로그를 참조하여 진행했다. NDK 및 OpenCV 설정 Code Asset 내 이미지를 비트맵으로 입력받아 Mat 형태로 FAST keypoint detect..

IT/Android 2021.08.03

[Android] Android으로 OpenCV 사용하기 - 3

MainActivity 아래의 모든 코딩은 class MainActivity : AppCompatActivity()의 TODO에서 진행한다. class MainActivity : AppCompatActivity() { // TODO } 기본 설정 activity_main과 연결하기 모든 안드로이드 코딩의 시작이다. findViewByID로 view와 MainActivity의 모든 성분을 연결한다. private val imageView: ImageView by lazy { findViewById(R.id.imageView) } private val leftButton: AppCompatButton by lazy { findViewById(R.id.leftButton) } private val rightB..

IT/Android 2021.08.03

[Android] Android으로 OpenCV 사용하기 - 2

View 설정 간단하게 OpenCV를 통해 이미지를 불러와 GrayScale된 상태로 바꿔 출력해보려고 한다! 우선 간단하게 activity_main 중간에 이미지를 출력하고, 투명하게 버튼 두개를 만들어 asset 내 이미지를 변경하며 아래와 같이 출력할 수 있게 할 것이다. 이런 느낌으로!! 기본 설정 ActionBar 삭제 기본 설정으로 모바일 디바이스에 업로드한다면 위에 액션바가 있는 것을 알 수 있다. 이를 없애기 위해 res - values - styles.xml을 클릭해 AndroidManifest VGA 이미지가 기본이므로 Landscape로 이미지 화면을 가로로 고정한다. activity_main ImageView 어플 중앙에 ImageView를 크게 넣어보려고 한다. Constraint..

IT/Android 2021.08.03

[Android] Android으로 OpenCV 사용하기 - 1

Android으로 OpenCV 사용하기 OpenCV를 Android mobile에서 사용해보자 왜 Kotlin인가? 사실 큰 이유는 없다. Java를 자유롭게 다루지 못해서, Android를 Kotlin으로 배웠기 때문이다. 하지만 OpenCV의 code들은 대부분 Java로 되어 있어서, 처음 설정에서 고민하는 사람들에게 도움이 되기를 바란다. native-c 또한 나는 추후 OpenCV를 native-C로도 사용하려고 한다! 물론 Kotlin 환경이니 잘 참고한다면 좋을 것 같다. 개발환경 Android : 3.4 NDK : 1.6 OpenCV : 3.4.5 Project 선택하기 Activity 선택 Android project를 생성할 때 미리 activity view를 선택할 수 있다. 아래 보..

IT/Android 2021.08.03
반응형