open error txt file을 open 하고 .readlines()할때 문제가 발생한 것 같습니다. 그래서 찾아보니 UnicodeDecodeError : 'cp949'코덱은 위치 4에서 0xec 바이트를 디코딩 할 수 없습니다. 잘못된 멀티 바이트 시퀀스 조금 쉽게 이해 해보면 cp949(한글을 컴퓨터에 표시하는 방식(인코딩 방식) https://namu.wiki/w/CP949)을 다시 디코딩(컴퓨터-> 한글https://200301.tistory.com/9)하기힘들다 라는 말이었습니다. 즉, => txt 파일의 문자 인코딩 방식 차이로 인해 python이 인식을 하지 못합니다. python3 같은 경우 ASNI 기준으로 작성된 파일만 읽어온다고 합니다. (txt 파일이 UTF-8로 저장되어 있다..
종설을 가상 안경 피팅룸이라는 주제로 하게 되었는데 얼굴 검출과 눈 검출을 해야 합니다. 그래서 머신러닝과 관련된 다양한 알고리즘을 지원하고 있는 OpenCV를 사용하기로 했습니다. OpenCV에 있는 것중 HOG, haar feature를 고민 했지만 HOG는 https://darkpgmr.tistory.com/116에 나오는 특징을 보면 HOG는 밝이에 덜 민감하고 물체의 실루엣 정보를 이용하며 물체의 형태변화가 심하지 않고 내부 패턴이 단순하며 물체의 윤곽선으로 물체를 식별할 수 있는 경우 적합 그러나 haar feature의 특징을 보면 명암을 토대로 분류를 하기 때문에 사람 얼굴 검출에 의미있는 feature라고 합니다. 그래서 haar feature을 사용한 캐스케이드를 사용하게 되었습니다. ..
[Error] Your branch is based on 'origin/master', but the upstream is gone. git push가 되지 않고 git status를 해봤을 때 다음과 같은 Error 가 나오는 경우 => 처음에 local branch가 origin/master에 있어야 하는데 해당 자리에 없어서 문제 발생 (git 1.8.5에서 새로 나타난 기능) 해결 > git branch --unset-upstream --unset-upstream: 데이터를 지우지 않고 local로만 링크를 삭제합니다. -> 언제든지 다시 연결할 수 있다. + 원격 저장소(git init --bare)를 생성할 때 branch가 없지만 local 저장소에서 remote를 복제할 때는 origin/..
Generic 자료형 class에서 사용하는 변수의 자료형이 여러개인 경우 -> 클래스의 자료형을 특정하지 않는 것 컴파일 될 때 가 원하는 자료형으로 바뀝니다. 형변환을 일일이 안해줘도 됩니다. ex) //Circle.java public class Circle { //.. } //GenericEX.java //Generic class public class GenericEX { private T shape; public void setShape(T shape) { this.shape = shape; } public T getShape() { return shape; } public String toString() { return shape.toString(); } } //Test.java public..
레드 블랙 트리 삭제 삭제하는 node(x)가 Black일 때 실행 이중 흑색 노드일 경우 Case 파악 이중 흑색 노드: 검은색 node를 다시 검은색으로 칠하는 경우 그냥 삭제 합니다. (무조건 실행) 이진 검색 트리 삭제 이용 자리를 대체하는 node를 검정색으로 변환 Red -> Black : 괜찮다 Black -> Black : 이중 흑색 노드 Case change) x의 형제가 Red 1. x의 형제 Red -> Black 2. x의 부모 * -> Red 3. x의 부모를 기준으로 왼쪽 회전 4. 다른 Case 이동 Case 1) x의 형제가 Black x..
레드 블랙 트리 (Red-Black Tree) https://ko.wikipedia.org/wiki/%EB%A0%88%EB%93%9C-%EB%B8%94%EB%9E%99_%ED%8A%B8%EB%A6%AC 조건 1. Root는 Black이다 2. 모든 리프(NIL)는 Black이다. 3. node가 Red -> node의 자식은 반드시 Black 연속된 Red node X 4. Root에서 임의의 리프 node까지 만나는 Black node의 수는 같다. 레드 블랙 트리 삽입 삽입한 node는 무조건 Red node 입니다. Red node - Red node 겹칠 때 Case 파악 Red node의 부모 node도 Red일 경우 맨 밑의 Red node가 기준 입니다. Restructuring 삽입된 no..
Class 클래스 로컬 메모리에 객체 없는 경우, 원격 프로그래밍, 객체의 타입을 알 수 없는 경우에 사용 .class 파일(바이트 코드)의 정보를 가져오거나 instance 생성할 수 있는 메서드가 정의 되어있는 것 Class를 동적으로 로드한다. //Class.forName("클래스 이름"); Class cl = Class.forName("java.lang.String"); Class 이름으로 Class 클래스 가져오기 Class cl = String.class; 생성된 인스턴스에서 Class 클래스 가져오기 // Object 메서드 // .getClass()를 사용하기 위해서는 instance가 있어야 합니다. String str = new String(); Class cl = str.getClas..
JAVA 컴파일 과정 Program -> JVM -> OS -> H/W - Program -> JVM = 컴파일 타임 -> 런타임 컴파일 타임 - 소스코드 작성 -> 컴파일 과정 통해 기계어 코드로 변환 - JAVA 파일을 JAVA 컴파일을 통해 바이트 코드로 변환 1. JAVA 클래스 파일(.java)을 JAVA 컴파일러(javac.exe)을 통해 JVM이 이해할 수 있는 중간 단계의 언어 바이트(.class)로 바꿔줍니다. 런타임 -컴파일 과정 후 프로그램이 실행, 응용프로그램이 동작 할 때 - Runtime Data Area -> Execution Engine -> java 인터프리터, JIT 컴파일러 -> 런타임 시스템 -> 운영체제 -> H/W 2. 바이트(.class..