반응형

개발 330

[JAVA] 더블 버퍼링

더블 버퍼링은 이미지의 애니메이션, 많은 페인팅 작업을 처리할 시에 흔히 발생하는 화면 깜빡임 현상을 최소화하여 보다 부드럽고 자연스러운 화면을 보여줄 수 있도록 하는 방법이다. 더블 버퍼링은 메모리상의 버퍼를 생성하여 화면에 그릴 내용을 먼저 버퍼에 그린 후, 버퍼에 모든 페인팅 작업이 끝나게 되면 그 내용을 한꺼번에 출력하는 것이다. 즉 버퍼 2개를 만들어서 두개 중 하나는 화면에 출력하는 동안 다른 하나는 다음에 화면에 출력될 화면을 그리를 것이다. 예를 들면 버퍼 a, b가 있을 때 a가 버퍼에 그리고 있으면 b는 출력을 하고 있고 b가 출력을 완료하고 버퍼에 그릴 시 a는 화면에 출력을 하는 것이다. 실제 더블 버퍼링을 구현하는 과정은1. 메모리상에 실제 이미지 사이즈 만큼의 이미지 버퍼를 생성..

개발/Java 2016.07.24

[JAVA] Java Beans

Java Beans 는 자바로 작성된 소프트웨어 컴포넌트이다. Java Beans는 "빌더 형식의 개발도구에서 가시적으로 조작이 가능하고 또한 재사용이 가능한 소프트웨어 컴포넌트이다"라고 정의되있다. Java Beans 는 클래스로서 작동하기 위해서 객체 클래스는 명명법, 생성법 그리고 행동에 관련된 일련의 관계를 따라야만 하는데 1. 클래스는 직렬화되어야 한다. (클래스의 상태를 지속적으로 저장 혹은 복원시키기 위해서)2. 클래스는 기본 생성자를 가지고 있어야 한다.3. 클래스의 속성들은 get, set 혹은 표준 명명법을 따르는 메소드들을 사용해 접근할 수 있어야 한다4. 클래스는 필요한이벤트 처리 메소드들을 포함하고 있어야 한다. [검색을 해보니 JSP 에서도 사용되는 것 같았다.]

개발/Java 2016.07.24

[JAVA] JUnit 이란??

※ 고등학생이기 때문에 주변에 이 분야에 실력있는 사람이 없을 뿐더러 공부를 하는 사람도 없기에 구글링과 도서에 의존합니다. 출처는 꼭 밝힙니다. 제가 공부한 것을 작성하기 때문에 틀린 부분도 있을 수 있습니다. 지적해주시면 감사합니다. 이번 프로젝트를 진행하게 되면서 JUnit 이란 것을 사용하라고 했는데 처음 들어본 것이라서 JUnit 에 대해서 알아보게 되었습니다. JUnit is a Unit testing framework for the Java language. and important in the development of test-driven-development.JUnit is linked as a JAR at compile-time. the framework resides under pa..

개발/Java 2016.07.23

[영상 추적] Mean Shift 으로 영상 추적

※ 고등학생이기 때문에 주변에 이 분야에 실력있는 사람이 없을 뿐더러 공부를 하는 사람도 없기에 구글링과 도서에 의존합니다. 출처는 꼭 밝힙니다. 제가 공부한 것을 작성하기 때문에 틀린 부분도 있을 수 있습니다. 지적해주시면 감사합니다. 저번 글에서 Mean Shift에 대해서 알아보았으니 이번에는 Mean Shift을 이용한 영상 이동체 추적에 관해서 이야기 하겠다. 우선 이 Mean Shift 을 이용한 영상 추적은 히스토그램을 이용한다.이 글을 읽기 전 히스토그램에 관해서 공부하고 대충 익히고 왔으면 한다. 히스토그램에 대해서부족한 지식으로 포스팅을 해놓았으니 참고하길 바란다. 원래는 추적하고자 하는 대상 물체에 대한 히스토그램과 현재 입력 영상의 히스토그램을 비교해서 가장 유사한 히스토그램을 갖는..

[영상 추적] Mean Shift

※ 고등학생이기 때문에 주변에 이 분야에 실력있는 사람이 없을 뿐더러 공부를 하는 사람도 없기에 구글링과 도서에 의존합니다. 출처는 꼭 밝힙니다. 제가 공부한 것을 작성하기 때문에 틀린 부분도 있을 수 있습니다. 지적해주시면 감사합니다. 요즘 영상 처리와 컴퓨터 비전 분야에 관심이 많아져서 이런 저런 공부를 하다가 이번 프로젝트로 영상 추적 프로그램을 개발하기로 했다. 그래서 알아보던 중 Mean Shift 란 것과 Cam Shift 라는 것을 알게 되어서 Mean Shift 라는 것에 대해서 작성을 하려고 한다. 먼저 말하고 싶은 것은 Mean Shift은 하나의 추적 방법인 것이 아니라 하나의 일반적인 방법론적 도구라고 한다. 주변에 이 분야에 실력 있는 분이 없을 뿐더러 아직 고등학생이기 때문에 여..

[영상 처리] 효과적인 이진화 알고리즘 - 오츄 알고리즘

※ 고등학생이기 때문에 주변에 이 분야에 실력있는 사람이 없을 뿐더러 공부를 하는 사람도 없기에 구글링과 도서에 의존합니다. 출처는 꼭 밝힙니다. 제가 공부한 것을 작성하기 때문에 틀린 부분도 있을 수 있습니다. 지적해주시면 감사합니다. 오츄 알고리즘은 효과적인 이진화 알고리즘이다. 임계값 T를 기준으로 화소를 두 집합으로 나누었을 때, 각 집합의 명암 분포가 균일할수록 좋다는 점에 착안하여 균일성이 클수록 T에게 높은 점수를 준다. 균일성은 그룹의 분산으로 측정하는데, 분산이 작을수록 균일성이 높으며 가능한 모든 T에 대해 점수를 계산한 후 가장 좋은 T를 최종 임계값으로 취하는 일종의 최적화 알고리즘이다. 다음으로 가기 전 목적 함수 또는 비용 함수라는 것을 알고 가자.먼저 목적 함수란 최적화 알고리..

[영상 처리] 이진 영상

※ 고등학생이기 때문에 주변에 이 분야에 실력있는 사람이 없을 뿐더러 공부를 하는 사람도 없기에 구글링과 도서에 의존합니다. 출처는 꼭 밝힙니다. 제가 공부한 것을 작성하기 때문에 틀린 부분도 있을 수 있습니다. 지적해주시면 감사합니다. 이진화란? 영상을 백(전경)과 흑(배경)의 두 가지 값만 가지도록 하는 것이다. 이진화는 값이 크면 백으로, 작으면 흑으로 바꾸는 간단한 방법이 있는데 값이 크고 작은 것을 어떤 기준으로 구분할지에 대해서는 두 구간을 가르는 임계값(threshold)을 사용하면 된다. 임계값을 T라고 표기했을 때 임계값을 구하는 방법으로 가장 쉬운 방법은 히스토그램을 분석하여 두 봉우리 사이의 계곡 지점을 T라고 하면 된다. 이렇게 임계값 T를 이용해서 이진 영상을 만드는 가장 간단한 ..

[영상 처리] 히스토그램

※ 고등학생이기 때문에 주변에 이 분야에 실력있는 사람이 없을 뿐더러 공부를 하는 사람도 없기에 구글링과 도서에 의존합니다. 출처는 꼭 밝힙니다. 제가 공부한 것을 작성하기 때문에 틀린 부분도 있을 수 있습니다. 지적해주시면 감사합니다. 영상 f의 히스토그램은 명암값이 나타난 빈도수로, [0,L-1] 사이의 명암값 각각이 영상에 몇 번 나타나는지 표시한다. 히스토그램은 여러 용도로 사용되는데 그 중 하나는 영상의 특성을 파악하는 것이다. 또한 조작을 통한 영상 품질 개선이 가능하다. 영상 품질 개선 중 가장 대표적인 연산은 "히스토그램 평활화(histogram equalization)"이다. 이 연산은 [그림 1]의 왼쪽과 같은 영상의 히스토그램을 오른쪽과 같이 평평하게 만든다. 이렇게 하면 영상이 사용..

[JAVA] 프로세스와 쓰레드

프로세스와 쓰레드 ● 포그라운드 프로세스(foreground process): 사용자가 현재 조작중인 최상위 화면의 액티비티를 말함. 가장 중요한 프로세스, 가장 마지막에 제거되 는 프로세스(메모리 부족할 시) ● 비저블 프로세스(visible process): 사용자 화면에 보여지지만 포그라운드 아님, 포그라운드 프로세스 다음으로 중요 ● 백그라운드 프로세스(background process): 사용자에게 보여지지 않는 액티비티. 중요 X, 포그라운드, 비저블이 메모리 요구하면 이 액티비티 제거 ● 엠프티 프로세스(empty process): 액티비티 셧다운 된 액티비티. 활성화된 App 컴포넌트 가지고 있지 않지만 이 App이 실행될 때를 대비 해 캐쉬의 용도로 메모리를 점유하고 있음(shutup 단..

개발/Java 2016.07.04

[JAVA] 애자일 프로세스 모델

애자일 프로세스 모델 n 애자일(agile) : 날렵한, 민첩한 n 애자일 프로세스 모델 : 고객의 요구에 민첩하게 대응, 그때그때 주어지는 문제 풀어나가는 방법론 n 애자일의 기본 가치(애자일 선언문) : 프로세스와 도구 중심 X, 개개인 상호 소통 O : 문서 중심 X, 실행 가능한 SW O : 계약과 협상 중심 X, 고객과의 협력 O : 계획 중심 X, 변화에 대한 대응 O 애자일의 개발 방법 1. 프로토타입 개발 -> 2. 사용자 확인 -> 3. 일부 기능 사용 애자일 방법과 폭포수 모델의 비교 구분 애자일 방법론 폭포수 모델 추가 요구 사항의 수용 추가 요구 사항을 수용할 추가 요구 사항을 반영하기 수 있는 방법의 설계 어려운 구조 릴리스 시점 수시로 릴리즈 최종 완성된 제품을 릴리스 시작 상태..

개발/Java 2016.07.04
반응형