반응형

프로그래밍 35

Deep Live Cam 설치 및 실행방법

Deep Live Cam설치방법1. 프로그램 설치python 3.10.0git 2.46.0ffmpeg 7.0.2https://www.gyan.dev/ffmpeg/builds/ orhttps://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-7.0.2-full_build.7zvisual studio build tools 2022cuda toolkit 11.8 (NVIDIA가 아닐 경우 설치 안해도 됨)설치 후 nvidia-smi 치면 버전이 나옴. (cuda version 12.4로 나타남)2. 소스코드 다운로드터미널 창을 열고 아래 명령어로 소스코드 다운로드git clone https://github.com/hacksider/Deep-Live-Cam.git아래 링크 사이트에..

프로그래밍 2025.02.26

가상환경 만들기(venv)

현재 시스템에 설치된 파이썬 버전을 사용하여 새로운 가상환경을 만드는 것으로 패키지 없이 생성하거나 현재 시스템에 설치된 패키지를 가져와서 생성할 수 있다.VSCODE에서 새 터미널을 연다.(Terminal - New Terminal)설치된 파이썬 갯수와 버전을 확인한다.py --list터미널에서 가상환경을 생성한다.(Power shell의 경우 생성이 잘 안되는 경우가 있으니 cmd로 하도록 하자)패키지 없이 가상환경 생성python -m venv {가상환경 이름}ex) python -m venv my_env패키지 없이 특정 버전으로 가상환경 생성py -{버전} -m venv {가상환경 이름}ex) py -3.11 -m venv my_env현재 시스템에 설치된 패키지를 가져와서 가상환경 생성python..

화면 회전(rotation) 처리

화면 회전(rotation) 처리안드로이드는 기본적으로 화면 회전에 대한 처리를 자동으로 해주고 있다. 하지만 Activity를 종료하고 다시 실행 시키는 방식이기 때문에 onCreate 함수가 매번 불리게 되며 데이터가 유지 되지 않는 문제가 있다. * 안드로이드가 화면 처리를 하고 데이터만 유지하는 방법asfasdfasdfa * 사용자가 직접 화면 처리를 하는 방법 1. AndroidManifest.xml의 activity에 다음 항목을 추가 android:configChanges="keyboardHidden|orientation|screenSize" - 만약 screenSize가 빠질 경우 onCreate 함수가 불려지니 주의 2. onConfigurationChanged 함수 오버라이드if(new..

시간(Time) 관련 함수 및 처리 방법

시간(Time) 관련 함수 및 처리 방법 * 현재 시간 얻기long time = System.currentTimeMillis(); * 날짜 및 시간 출력SimpleDateFormat dateTime = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss"); String str = dateTime.format(new Date(time));시간 설정시 hh는 12시간으로 표시, HH는 24시간으로 표시 * 시간 비교Date date1 = new Date(System.currentTimeMillis()); Date date2 = new Date(System.currentTimeMillis()); if(date1.compareTo(date2) < 0) { System.out.printl..

타이틀바 없애기, 상태바 없애기, Full Screen 모드 만들기

타이틀바, 상태바 없애기. Full Screen 모드 만들기 1. Manifest 파일에서 없애는 방법* 타이틀바 없애기* 타이틀바, 상태바 모두 없애기 2. 코드상에서 없애는 방법 - onCreate()에서 setContentView()를 호출하기 전에 아래 함수 호출* 타이틀바 없애기requestWindowFeature(Window.FEATURE_NO_TITLE);* 상태바 없애기getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);* 타이틀바, 상태바 모두 없애기setTheme(android.R.style.Theme_NoTitleBar_Fullscreen); ..

JNI/자바 배열을 C배열로 변환하는 방법

JNI/자바 배열을 C배열로 변환하는 방법 * 변환함수반환값 함수원형 jboolean* (*GetBooleanArrayElements)(JNIEnv*, jbooleanArray, jboolean*) jbyte* (*GetByteArrayElements)(JNIEnv*, jbyteArray, jboolean*) jchar* (*GetCharArrayElements)(JNIEnv*, jcharArray, jboolean*) jshort* (*GetShortArrayElements)(JNIEnv*, jshortArray, jboolean*) jint* (*GetIntArrayElements)(JNIEnv*, jintArray, jboolean*) jlong* (*GetLongArrayElements)(JNIE..

JNI/네이티브 코드에서 자바 메서드 호출 방법

JNI/네이티브 코드에서 자바 메서드 호출 방법 JNIEXPORT void JNICALL Java_com_example_helloworld_HelloWorld_call (JNIEnv* env, jobject obj) { jclass cls = (*env)->GetObjectClass(env, obj); // 이름이 "func01"인 함수를 찾음, 함수 타입은()V jmethodID metID = (*env)->GetMethodID(env, cls, "func01", "()V"); if (funcM == 0) { printf("Can't find func01!\n"): } else { printf("Find func01!\n"); (*env)->CallVoidMethod(env, obj, metID ); ..

JNI/네이티브 변수 타입 비교 표

JNI/네이티브 변수 타입 비교 표 android-ndk-/platforms/android-/arch-arm/usr/include/jni.h 파일 참고 자바 네이티브 타입 Type Signature 설명 boolean jboolean Z unsigned 8 bits byte jbyte B signed 8 bits char jchar C unsigned 16 bits short jshort S signed 16 bits int jint I signed 32 bits long jlong J signed 64 bits float jfloat F 32 bits double jdouble D 64 bits void void V Object jobject L; String jstring Ljava/lang/Stri..

반응형