목록타닥타닥 (16)
혼자 있고 싶네요. 모두 나가주세요.
아희 처리기 : http://puzzlet.org/doc/aheui/jsaheui_ko.html 위의 링크를 통해 돌려볼 수 있다. 삭방빡산방빡삭쑫우와이게코드야순미친거같다진짜쑫시간은왜이렇게숟안가퇴근제발좀쥼날씨는또왤케추산망함워시발거ㅠㅠㅠ춥하스나하고싶다삭망함
공간적 필터링 픽셀 값을 직접 사용하여 필터링을 수행하는 방식 Mask가 대표적인 예 패딩에 주의할 것 필터의 종류 평균값 필터 가중치 필터 언샤프 마스크 필터링 g(x,y) = f(x,y)-f1(x,y) h(x,y) = f(x,y)+g(x,y) (g : 새로운 영상, f : 입력 연산, f1 : 부드럽게 변환한 연산) 위 수식은 다음과 같은 커널로 요약할 수 있다. 코드로 나타내면 다음과 같다. 테두리의 1px은 활용도에 비해 오버헤드가 커서 연산하지 않았다. 필요하다면 제로패딩을 사용할 수 있겠다.for (j = 1; j
의료 영상처리란? 인체 내부의 조직이나 기관을 포함하여 의학적으로 유용한 모든 생체 정보를 영상화 이로부터 진단이나 치료에 소용되는 임상 정보를 추출하고 처리하는 모든 기술을 총칭 의료 영상의 종류 X-Ray, CT, MRI, 혈액 세포 영상 등 DICOM 의료 영상의 국제 표준 파일 형태 PACS 의학영상정보시스템, 의료 영상을 관리하는 프로그램. DICOM 뷰어 내시경 영상의 경우 가시광으로 관찰한 영상을 모니터로 표시하고, 이를 Capture하는 DICOM gateway를 통해 DICOM 변환한 뒤, PACS 서버에 저장하여 관리한다. 디지털 의료 영상 처리 기초 영상 내 특징 추출 영상의 일부분 새로운 영상으로 재형성 변질된 영상 문제점 해결(노이즈, 잡영, 밝기조절, 대비 등) 추출영상정보 왜곡..
DPC란? Defective Pixel Correction의 줄임말. Defective Pixel == 불량화소 Defect Pixel 발생 원인 공정 검사에서 발견하지 못하였을 경우 충격, 온도등 외부 요인에 의해 이미지 센서가 손상되었을 경우 Defect Pixel의 종류 Hot Pixel 계속 켜져있는 픽셀 Dead Pixel 계속 꺼져있는 픽셀 Stuck Pixel 하나 이상의 하부 픽셀이 망가진 픽셀 이미지 출처 https://www.premiumbeat.com/blog/what-is-a-hot-pixel-and-how-can-you-remove-one/ DPC 다음과 같은 순서로 진행된다. Defect Pixel 검출 Threshold로 판별 인접 값과 비교 Defect Pixel 처리 Ave..
이전 포스트 : Dagger1 vs Dagger2Dagger2 조금 더 쉽게 이해하기MainActivity를 구성하려면 다양한 DI가 필요하다. 다양한 DI 인스턴스들을 사용할 때 매번 비슷 비슷한 초기화 코드를 추가하여 주고, 변수를 바꾸기라도 하는 날엔 Ctrl+F로 일일이 찾아다니면서 고쳐야 한다. 이런 보일러플레이트를 없애고, 단위 테스트와 코드 재사용성을 높이는 것이 Dagger2의 주 목표라고 할 수 있겠다. Dagger2 구조 기본적으로 알아야할 annotation들이다.@Inject : DI를 주입당할 대상이다.@Component : @Inject와 @Provides 사이의 연결 다리이다. 인터페이스@Module : DI를 주입하는 메서드를 가지는 클래스에 사용한다.@Provides : D..
참조 : https://try.kotlinlang.org Destructuring declarations (비구조화 선언) fun main(args: Array) { val pair = Pair(1, "one") val (num, name) = pair println("num = $num, name = $name")} class Pair(val first: K, val second: V) { operator fun component1(): K { return first } operator fun component2(): V { return second }} 처음에는 잘 이해가 되지 않았다. 예제의 요지는 내부 변수에 간단하게 접근하여 선언할 수 있다는 것이다. 이를 destructing declarati..
Dagger1과 Dagger2 Dagger 완전 static하고 컴파일 시에 DI를 수행하는 프레임 워크다. Square에서 만들었으나 현재는 Google에 의해 관리되고 있다.DI를 간편하게 도와주는 도구이다.Java Standard (JSR-330 - DI for) java annotations을 사용한다. ( @inject, @module etc ) 컴파일 시에 DI를 모두 수행한다. 결국 Build 컴파일이 되었다면 문제가 없다는 뜻. module은 null을 return하지 않기 때문 보장된다. Dagger1 2012년 Square에서 만들어졌다. 당시 Java의 DI에 널리 쓰였던 Guice 의 성능이 마음에 들지 않았고, Guice보다 더욱 유연하고 좋은 성능을 가진 Dagger1을 만들게 ..
참조 : https://try.kotlinlang.org if와 슬픈 소식 fun main(args: Array) { println(max(args[0].toInt(), args[1].toInt()))} fun max(a: Int, b: Int) = if (a > b) a else bif else가 하나의 표현으로써 값을 리턴함을 알 수 있다. 특히 저 함수에다 직접 때려박아 정의하는 부분은 보면 볼수록 js가 떠오른다. 여기서 슬픈 소식은 Kotlin은 삼항연산자가 없다고 한다. ?를 쓸수가 없는 것이다. 대신 ?는 다른 의미로 자주 쓰인다. ? Kotlin은 기본적으로 변수들이 null값을 가질 수 없다.(컴파일 에러 발생) var temp :String? 라고 하면 temp는 null이 될수도 있다..
참조 : https://try.kotlinlang.org 안녕 세계 fun main(args: Array) { println("Hello, world!")}메서드 구조가 js처럼 간결한 것을 알 수 있다. 앞에 return 형이 없는 것을 보아 유연하게 return 가능한 모양. args라는 이름의 String 배열을 파라메터로 가져오고, 제일 좋은건 콘솔 출력이 앞에 뭉텅이가 날아갔다. println 개꿀 귀찮았던 문자열 + 문자열 + .. + ..... fun main(args: Array) { if (args.size == 0) { println("Please provide a name as a command-line argument") return } println("Hello, ${args[0]..
Dependency Injection 프로그래밍에서 구성요소간의 의존 관계가 소스코드 내부가 아닌 외부의 설정파일 등을 통해 정의되게 하는 디자인 패턴 중의 하나이다. - 위키백과 한국어로 직역하면 의존성 주입이다. 살짝 간지 나는 것 같다. 적용 유형 마틴 파울러라는 분이 세 가지의 DI 패턴을 제시하셨다고 한다. 생성자 주입 : 필요한 의존성을 모두 포함하는 클래스의 생성자를 만들고 그 생성자를 통해 의존성을 주입한다. Setter를 통한 주입 : 의존성을 입력받는 세터(Setter) 메소드를 만들고 이를 통해 의존성을 주입한다. Interface를 통한 주입 : 의존성을 주입하는 함수를 포함한 인터페이스를 작성하고 이 인터페이스를 구현하도록 함으로써 실행시에 이를 통하여 의존성을 주입한다. 결국 D..