E D R , A S I H C RSS

BackLinks search for "1"

BackLinks of 1


Search BackLinks only
Display context of search results
Case-sensitive searching
  • Atom
         The completed Atom syndication format specification was submitted to the IETF for approval in June 2005, the final step in becoming an RFC Internet Standard. In July, the Atom syndication format was declared ready for implementation[1]. The latest Atom data format and publishing protocols are linked from the Working Group's home page.
         [http://www.intertwingly.net/wiki/pie/Rss20AndAtom10Compared RSSAtomCompare]
  • EditStepLadders/황재선
         2006.1.12
          * 입력 단어에 대해 1~n번의 숫자 번호를 붙였다. 행렬[1...n][1...n]에 편집 단계인 단어에 대해 값을 주어서 방향 그래프를 만들었다. 예를 들어, 1번과 2번 단어가 편집단어라면 mat[1][2] = 1 아니면 0값을 주었다. 가장 depth가 긴 path에 있는 vertex의 개수를 출력하면 된다.
          connection = new int[size + 1][size + 1];
          for(int from = 1; from <= size; from++) {
          String word = wordList.get(from - 1);
          for(int to = from + 1; to <= size; to++) {
          String nextWord = wordList.get(to - 1);
          connection[from][to] = 1;
          public boolean isEditStep(String word1, String word2) {
          int length1 = word1.length();
          int lengthGap = Math.abs(length1 - length2);
          if (lengthGap < 0 || lengthGap > 1) {
          int minLength = Math.min(length1, length2);
          Scanner sc1 = new Scanner(word1).useDelimiter("");
          if (!sc1.next().equals(sc2.next())) {
          return differentBit == 1 ? true : false;
          for(int to = from + 1; to <= size; to++) {
          if (connection[from][to] == 1) {
  • IsBiggerSmarter?
         [http://online-judge.uva.es/p/v101/10131.html 원문보기]
         인기도:B(A,B,C), 성공률:높음(낮음,보통,높음), 레벨:2(1~4)
         한 줄에 한 마리씩, 여러 코끼리에 대한 정보가 입력된다. 파일 종료 문자가 입력되면 입력이 끝난다. 각 코끼리에 대한 정보는 한 쌍의 정수로 입력되는데, 첫번째 정수는 체중을 킬로그램 단위로 나타낸 것이고, 두번째 정수는 IQ에 100을 곱한 값이다. 두 정수는 모두 1 이상 10,000 이하다. 최대 1,000 마리의 코끼리에 대한 정보가 입력될 수 있다. 체중이 같은 코끼리가 두 마리 이상 있을 수 있으며, IQ가 같은 코끼리가 두 마리 이상 있을 수도 있다. 그리고 체중과 IQ가 모두 똑같을 수도 있다.
         첫째 줄에는 찾아낸 코끼리 시퀀스의 길이를 나타내는 정수 n을 출력한다. 그 밑으로는 n줄에 걸쳐서 각 코끼리를 나타내는 양의 정수를 하나씩 출력한다. i번째 데이터 행으로 입력된 숫자들을 W[i], S[i]라고 표기해보자. 찾아낸 n마리의 코끼리의 시퀀스가 a[1], a[2], ... ,a[n] 이라면 다음과 같은 관계가 성립해야 한다.
         {{{ W[a[1]] < W[a[2]] < ... < W[a[n]]이고, S[a[1]] > S[a[2]] > ... > S[a[n]] }}}
         6008 1300
         6000 2100
         1000 4000
         1100 3000
         8000 1400
         6000 1200
         2000 1900
         1 4
         4 100
         10 50
         11 45
         10
         11
  • JavaScript/2011년스터디/3월이전
          * 2011년 겨울방학동안 JavaScript를 공부하는 모임.
          * [http://www.yes24.com/24/goods/2943930?scode=032&OzSrank=1 자바스크립트 완벽 가이드]의 목차를 참고하여 진행한다.
          * 다른 참가자들이 오지 않을때는 3시 10분까지 기다린다.
          * 매 회 스터디 끝나고 10분간 그날의 스터디를 돌아보는 시간을 갖는다.
         == 1월 ==
         || || 4일 || 7일 || 11일 || 14일 || 18일 || 21일 || 25일 || 28일 ||
          * 과제 : 1장 ~ 7장 공부해오기
          * var a = [1,,3]; a.length -> 3, var a = [,,]; a.length -> 2; 인 이유
         === 11일 ===
          * 과제 : 7일날 자신이 발표한 부분을 직접 실습할 수 있는 코드 최소 1개 짜오기. 7일 스터디 불참자는 스스로 챕터 선정하여 코드를 짜오면 된다.
         === 14일 ===
          * 과제 : 8장 ~ 12장 공부해오기
          * a[1] = 3;
          * a[2] = a[0](a[1]); //a[2]에는 9가 저장된다.
         === 18일 ===
          * 과제 : 8장 ~ 12장 코드 짜보기 or 찾아오기
          * 네임스페이스 사용 시 org.zeropage.namespace는 되고 org.zeropage.namespace.function1은 안 되는 이유
          * 네임스페이스 사용 시 org.zeropage.namespace는 되고 org.zeropage.namespace.function1은 안 되는 이유
         === 21일 ===
          * 과제 : 13장 ~ 15장 공부해오기
  • LUA_2
         1. 자료형
         > print(type(1)) --- 숫자
         > print(t[1])
         > print(1) --- 상수
         1
         > print(0xa) --- 16진수
         10
         > print(1.1) --- 실수
         1.1
         > print(1e2) --- 지수형 1 * 10^2
         100
         > print(1/0)
         1.#INF
         > print( 1 > 2 )
         > sum = 10 + 10 --- 기본적인 number 대입
         > a,b = 10,20
         10
         > a = 1 + 2 / 3 * 4
         > string_length = "123456"
  • LUA_5
         1. 테이블 기초
         > HashT = {["a"] = 1, ["b"] = 2, ["c"] = 3, ["d"] = 4 }
         1
         여기서 ["a"] 는 키 값으로 사용 되었고 1는 ["a"]에 맴핑 된 값으로 사용 되었습니다. 키 값은 단순히 값으로 말고 변수로도 사용 할 수 있습니다.
         > HashT2 = { a = 1, b = 2, c= 3}
         1
         > print ( Fruit[1] )
         > Fruit[ #Fruit + 1 ] = "grape" -- Fruit 의 아이템 갯수를 얻어 + 1을 해서 마지막 첨자를 구해 값을 대입한다.
         > for i = 1,#Fruit do print(Fruit[i]) end
  • MatrixAndQuaternionsFaq
         Version 1.2 2nd September 1997
          Introduction I1: steve@mred.bgm.link.com
         I1. Important note relating to OpenGL and this document
         Q1. What is a matrix?
         Q10. How do I subtract two matrices?
         Q11. How do I multiply two matrices together?
         Q12. How do I square or raise a matrix to a power?
         Q13. How do I multiply one or more vectors by a matrix?
         Q14. What is the determinant of a matrix?
         Q15. How do I calculate the determinant of a matrix?
         Q16. What are Isotropic and Anisotropic matrices?
         Q17. What is the inverse of a matrix?
         Q18. How do I calculate the inverse of an arbitary matrix?
         Q19. How do I calculate the inverse of an identity matrix?
         Q21. How do I calculate the inverse of a matrix using Kramer's rule?
         Q31. What are yaw, roll and pitch?
         Q41. What is a shearing matrix?
         Q51. How do I convert a spherical rotation angles to a quaternion?
         === I1. Important note relating to OpenGl and this document ===
          | 1 0 0 X |
  • MoreEffectiveC++/Techniques2of3
          if (this == &rhs) return *this; // Item E17 참고
          data = new char[strlen(rhs.data) + 1];
          return *this; // Item E15 참고
         http://zeropage.org/~neocoin/data/MoreEffectiveC++_184_1.gif
         http://zeropage.org/~neocoin/data/MoreEffectiveC++_184_2.gif
         http://zeropage.org/~neocoin/data/MoreEffectiveC++_185_1.gif
         // StringValue의 복사 생성자, 초기화 목록으로 refCount 인자 1로 초기화
         String::StringValue::StringValue(const char *initValue): refCount(1)
          data = new char[strlen(initValue) + 1]; // 새로운 값 할당(아직 참조세기 적용 x
         http://zeropage.org/~neocoin/data/MoreEffectiveC++_187_1.gif
         String s1("More Effective C++");
         http://zeropage.org/~neocoin/data/MoreEffectiveC++_187_2.gif
         String s1("More Effective C++");
         String s2 = s1;
         http://zeropage.org/~neocoin/data/MoreEffectiveC++_188_1.gif
         생성자의 손쉬운 구현같이 파괴자 구현도 그리 어려운 일이 아니다. StringValue의 파괴는, 서로가 최대한 사용하고, 값이 파괴 시점은 참조 카운터가(reference counter:이하 참조 카운터만) 1인 경우 더이상 사용하는 객체가 없으므로 파괴하도록 구성한다.
          if (--value->refCount == 0) delete value; // 참조 카운터가 1인 상태
         s1 = s2;
          if (value->refCount > 1) { // if 안쪽은 새로운 객체를 생성해야 할 경우
         String s1 = "Hello";
  • NotToolsButConcepts
         > I am only 17 and I'm only making plans, so if you have any suggestions
          system [1]
         [1] If you have some spare time you can learn that by joining an Open
         [임인택]은 1학년때에 수업시간에 보는 책을 어느정도 보았다고 생각하고 난 후, 형들한테 이런것을 많이 질문했던 기억이 난다.
         지금 이 순간에 후배들이 같은 질문을 한다면 NotToolsButConcepts 라는 대답을 해주고 싶다(단, 언어도 하나의 툴이라고 가정할 경우). 1, 2년 후배를 받을 때까지는 잘 몰랐지만, [데블스캠프]나 새내기가 참가하는 세미나를 찾아갈 때마다 매번 들리는 소리였다.
         [1002] 가 Windows Programming 을 오래 하다가 EventDrivenProgramming 의 개념을 나름대로 제대로 받아들였다는 느낌이 들었을때는 해당 플랫폼에서 1년 이상 작업했을 때 였다.(여기서 '받아들였다'는 실제 EventDriven Model로 디자인해서 구현해보는 정도) 사람들의 공부 스타일에 따라 차이가 있지만, 해당 개념에 대해 제대로 이해하기 위해선 구현레벨에서의 경험도 필요하다. 위의 '예' 에서 '아닌 - Not' 이란 단어대신 '넘어서 - Beyond' 라는 단어로 바꿔서 읽어보면 어떨까.
         구현을 하는 사람은 늘 배경 개념들에 대해 사고해야 할것이며, 개념을 공부하는 사람은 구현 레벨에서의 코드와 결과물에 대해서 생각해보아야 할 것이다. 한쪽만으로의 치우침은 위험하다는 생각을 해본다. -- [1002]
  • PyIde/Scintilla
         SetUndoCollection(1)
         GotoLine(lineNum - 1)
         LineFromPosition(sel[1])
         if end > start and doc.GetColumn(sel[1]) == 0:
          end = end-1
  • RSS
         Before RSS, several similar formats already existed for syndication, but none achieved widespread popularity or are still in common use today, and most were envisioned to work only with a single service. For example, in 1997 Microsoft created Channel Definition Format for the Active Channel feature of Internet Explorer 4.0. Another was created by Dave Winer of UserLand Software. He had designed his own XML syndication format for use on his Scripting News weblog, which was also introduced in 1997 [1].
         RDF Site Summary, the first version of RSS, was created by Dan Libby of Netscape in March 1999 for use on the My Netscape portal. This version became known as RSS 0.9. In July 1999 Netscape produced a prototype, tentatively named RSS 0.91, RSS standing for Rich Site Summary, this was a compromise with their customers who argued the complexity introduced (as XML namespaces) was unnecessary. This they considered a interim measure, with Libby suggesting an RSS 1.0-like format through the so-called Futures Document [2].
         Soon afterwards, Netscape lost interest in RSS, leaving the format without an owner, just as it was becoming widely used. A working group and mailing list, RSS-DEV, was set up by various users to continue its development. At the same time, Winer posted a modified version of the RSS 0.91 specification - it was already in use in their products. Since neither side had any official claim on the name or the format, arguments raged whenever either side claimed RSS as its own, creating what became known as the RSS fork. [3]
         The RSS-DEV group went on to produce RSS 1.0 in December 2000. Like RSS 0.9 (but not 0.91) this was based on the RDF specifications, but was more modular, with many of the terms coming from standard metadata vocabularies such as Dublin Core. Nineteen days later, Winer released RSS 0.92, a minor and (mostly) compatible revision of RSS 0.91. The next two years saw various minor revisions of the Userland branch of RSS, and its adoption by major media organizations, including The New York Times.
         [http://web.resource.org/rss/1.0/ RSS 1,0 Spec]
  • TAOCP/InformationStructures
          ''LOC(X[j + 1]) = LOC(X[j]) + c''
          T ← T + 1; X[T] ← Y;
          Y ← X[T]; T ← T - 1;''
          R ← R + 1; X[R] ← Y;
          F ← F + 1; Y ← X[F]; if F = R, then set F ← R ← 0''
         하지만 공간낭비가 무한할 수 있다.( F, R이 계속증가하기 때문이다.) 따라서 이런 문제(the problem of the queue overrunning memory)를 해결하려면, M개의 노드(X[1]...X[M])가 순환하도록 한다.
          ''if R = M then R ← 1, otherwise R ← R + 1; X[R] ← Y.
          if F = M then F ← 1, otherwise F ← F + 1; Y ← X[F].''
         (6a),(7a)에서는 초기 조건이 F = R = 1이다. 만약 F = 0이라면 오버플로우가 생기지 않기 때문이다.
          ''LD1 I ;I를 rI2에 넣는다.
          STA *+1(0:2) ;그 주소를 다음 메모리(LDA *,1이 있는)에 넣는다.
          LDA *,1 ;여기에 I를 더한 주소로 가서 그 값을 rA에 넣는다.''
         n개의 스택이 있는 경우 i번째(1≤i≤n) 스택에 원소를 넣고 빼는 과정을 다음과 같이 적을 수 있다.
          ''p.247 (9) (10) 참고''
          ''초기 조건 : p.247 (11) 참고
          i<k≤n인 k 가운데 TOP[k] < BASE[k+1]인 가장 '''작은''' k를 찾는다. 찾으면 TOP[k] ≥ L>BASE[i+1]인 L에 대해서 다음을 한다.
          CONTENTS(L+1) ← CONTENTS(L) (L은 큰 것부터 민다. 해당사항 없으면 아무것도 하지 않는다.)
          i≤k<n인 k 가운데 TOP[k] < BASE[k+1]인 가장 '''큰''' k를 찾는다. 찾으면 TOP[i] ≥ L>BASE[k+1]인 L에 대해서 다음을 한다.
          CONTENTS(L-1) ← CONTENTS(L) (L은 작은 것부터 민다. 해당사항 없으면 아무것도 하지 않는다.)
         (p.248에 (12)와 그림 4는 예제이다. 근데 어렵다. 3번을 해보았으나 제대로 나오질 않았다.)
  • WikiTextFormattingTestPage
         Revised 1/05/01, 5:45 PM EST -- adding "test" links in double square brackets, as TWiki allows.
          * Swiki (unknown version) -- http://rhkswikitest.swiki.net/12
          * Kit-T-Wiki (TWiki 01) -- http://kit.sourceforge.net/cgi-bin/view/Main/WikiReviewTextFormattingTest
         'This text, enclosed within in 1 set of single quotes, should appear as normal text surrounded by 1 set of single quotes.'
         ''''This text, enclosed within in 4 sets of single quotes, should appear in bold face type surrounded by 1 set of single quotes.''''
          'This text, enclosed within in 1 set of single quotes and preceded by one or more spaces, should appear as monospaced text surrounded by 1 set of single quotes.'
          ''''This text, enclosed within in 4 sets of single quotes and preceded by one or more spaces, should appear in monospaced bold face type surrounded by 1 set of single quotes.''''
          * Third level, preceded by <tab><tab><tab>*<space>, appears indented 12 spaces with a solid square bullet.
          * Fourth level, preceded by <tab><tab><tab><tab>*<space>, appears indented 16 spaces with a solid square bullet.
         The following nested list is numbered. Numbers are created by replacing the "*" with "1."
          1. Top level
          1. Second level
          1. Second level
          1. Third level
          1. Third level
          1. Fourth level
          1. Fifth level
          1. Second level
          1. Third level
          1. Sixth level
  • 기술적인의미에서의ZeroPage
         6502 는 16bit addressing이 가능한 CPU 였습니다. 즉, $0000 ~ $FFFF 였죠.
         6502 는 13가지 메모리 access 방식이 있었는데, 그중 하나가 zero page addressing 입니다.
         The zero page is the memory address page at the absolute beginning of a computer's address space (the lowermost page, covered by the memory address range 0 ... page size?1).
         제로페이지는 컴퓨터 메로리 공간상의 가장 처음에 존재하는 메모리 주소 페이지이다. (가장 아래에 존재하는 페이지로서 메포리 번지 0부터 전체 페이지 사이즈의 -1만큼의 범위를 갖는다)
         Possibly unimaginable by computer users after the 1980s, the RAM of a computer used to be faster than or as fast as the CPU during the 1970s. Thus it made sense to have few registers and use the main memory as substitutes. Since each memory location within the zero page of a 16-bit address bus computer may be addressed by a single byte, it was faster, in 8-bit data bus machines, to access such a location rather than a non-zero page one.
         1980년대에는 컴퓨터 사용자들이 아마 상상도 할수없을 만큼 1970년대의 CPU 만큼 빠르고 그 보다 더빠른 메로리가 사용었다. 그러면서 대용품으로 메인 메로리를 사용하고 아주 적은 양의 레지스터를 갖는 것이 이치에 합당했다. 16비트 버스를 갖는 컴퓨터의 제로페이지 내의 각 메모리가 아마도 한 바이트로 어드레싱되기 때문에 제로페이지내의 메모리가 아닌 곳보다 제로페이지내의 메모리를 접근하는데, 8비트 데이터 버스를 갖는 머신에서보다 더욱 빨랐었다.
         상기의 2개의 명령어 모두 동일한 일을 한다; 이것들은 A레지스터에 $00라는 값을 로드한다. 하지만 첫번째 명령어는 단지 2바이트길이 이고 두번째 명령어보다 더욱 빠르다. 오늘날의 RISC 프로세서와 다르게 the 6502의 명령어들은 1바이트에서 부터 3바이트의 길이가 되는 것이 가능하다.
         Zero page addressing now has mostly historical significance, since the developments in integrated circuit technology have made adding more registers to a CPU less expensive, and have made CPU operations much faster than RAM accesses. Some computer architectures still reserve the beginning of address space for other purposes, though; for instance, the Intel x86 systems reserve the first 512 words of address space for the interrupt table.
         IC테크놀로지의 발전이 더욱 적은 비용으로 CPU의 레지스터를 늘리게 되었고 이에따라서 RAM을 액세스하는 것 보다 더욱 빠른 CPU명령어를 처리하게 되었기 때문에 제로페이지는 이제 대개는 역시적인 의미를 갖는다. 그럼에도 불구하고, 어떤 컴퓨터 아키텍처는 여전히 다른 목적을 위해서 제로페이지라는 개념을 제공하기는 한다; 예를 들자면 인텔의 x86은 인터럽트 테이블의 사용을 위해서 512워드의 공간을 사용한다.
  • 김재현
         H.P--- 016-565-5504
         #define MAX 45 // 1-45
          printf("game %2d: ", i+1);
          used[n]=1; // 사용된 숫자 표시
          printf("%2d ", n+1);
         3N+1 Project?
         int num1, num2, cycle_length;
          scanf ("%d%d",&num1,&num2);
          printf ("%d", ThreeNOneTwoNum(num1, num2));
         //3n+1 algol
          int cycle_length=1;
          if(aInput==1)
          if (aInput%2==1)
          aInput= 3*aInput + 1;
          cycle_length+=1;
          for (num1;num1<=num2;num1++)
          cycle_length = ThreeNOne(num1);
          for (i=2;i<10;i++)
          for (j=1;j<10;j++)
          int i, *b, a[3]={1, 2, 3},c[3];
  • 논문번역/2012년스터디/이민석
         == 2012/11/16 ==
          * 다음 주까지 1학년 1학기에 배운 Linear Algebra and Its Applications의 1.10, 2.1, 2.2절 번역하기
         == 2012/11/29 ==
         원문 URL: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.6.6413&rep=rep1&type=pdf
         '''1 서론'''
         필기 글자 인식은 패턴 인식의 도전적인 분야다. 지금까지의 오프라인 필기 인식 시스템들은 대부분 우편 주소 읽기나 은행 수표 같은 형식을 처리하는 데 적용되었다. [14] 이들 시스템이 개별 글자나 단어 인식에 한정된 반면 제약 없는(unconstrained) 필기 글자 인식을 위한 시스템은 거의 없다. 그 이유는 이러한 작업이 크게 복잡하기 때문인데 글자 또는 단어의 경계에 대한 정보가 없는 데다 헤아릴 수 없을 정도로 어휘가 방대한 것이 특징이다. 그럼에도 필기 글자 인식 기법을 더 조사하는 것이 가치 있는 이유는, 계산 능력이 향삼함에 따라 더욱 복잡한 처리를 할 수 있기 때문이다.
         반면에 방대하거나 아예 한계가 없는 어휘를 이용한 제약 없는 필기 글자 인식은 훨씬 어렵다. 이는 개별 단어 처리 시스템에 본질적으로 있는 문맥 지식과 단어 분할 정보가 없기 때문이다. 이런 난조에도 제약 없는 필기 글자 인식 시스템이 몇 개 개발되었다. [1, 9, 11, 18, 15, 17] 이들 시스템은 주로 추출한 특징의 종류와 한 줄이 인식 전에 단어별로 분할되는 지 아닌지에 차이가 있다. 은닉 마르코프 모형(HMM) 그리고 순환형 신경망과 HMM의 융합을 이용한 분할 기반 방법의 예로 각각 [1, 18]과 [15]가 있다. [15]의 실험은 단일 저자로부터 얻은 데이터베이스를 가지고 수행한 반면 [1, 18]의 실험은 여러 저자의 자료를 가지고 검사하였다. [16]에서는 오프라인 필기체 단어 인식을 광범위하게 조사하였다.
         한 줄을 초기에 분할하여 발생하는 오류를 피하기 위해 [9]에서는 분할을 하지 않는, 즉 한 줄 전체를 인식 모듈에 넘기는 방법을 제안한다. 이 시스템은 단일 저자에 대해 검사되었고 통계적 언어 지식과 결합하여 유망한 인식 결과를 달성한다. [11]은 저자 수백 명으로부터 제작하고 보다 큰 데이터베이스에서 검사된, 저자에 무관한 제약 없는 글자 인식을 위한 발전된 시스템을 서술한다. 앞으로 나올 절에서 설명하는 시스템은 전처리와 특징 추출 방법이 약간 다른 비슷한 접근법을 사용한다. 그에 더해 이서체 글자 모형, 즉 글자 종류별 HMM 집합과 통계적 언어 모형의 사용 뿐 아니라 특징 벡터의 선형 판별 분석(LDA)을 적용한 결과도 조사한다.
         훈련과 인식을 위한 입력 데이터는 완전한 영어 문장 데이터베이스에 의해 제공되고 각각은 Lancaster-Oslo/Bergen 말뭉치에 기반한다. [7] 저자 독립식 뿐 아니라 다수 저자에 관한 실험을 Bern 대학의 IAM에서 수집한 필기 형태 [10]의 데이터베이스를 사용하여 수행하였다. 데이터베이스 전체는 다양한 글 범주(출판 글자, 종교, 인기 설화, 픽션...)를 포함하고 500명 이상 저자의 1200개 이상 필기 형태로 구성된다. 우리는 250명 이상의 저자가 저자 독립식 실험을 위해 제작한 범주 [a..f]의 form과 여섯 저자가 다저자식을 적용하여 제작한 하위집합 c03을 사용한다.
         우리의 시스템을 단일 저자식에서도 평가하기 위해 Senior [15]가 수집한 데이터베이스의 필기 서식으로도 실험을 수행했다. 이 데이터베이스는 한 저자가 쓴 25쪽으로 구성되며 웹에서 공개적으로 얻을 수 있다.1 두 데이터베이스의 필기 양식들은 256 그레이 레벨을 사용하여 300dpi 해상도로 스캔하였다. 그림 1에 각 데이터베이스의 예시가 있다.
         1 ftp://svr-ftp.eng.cam.ac.uk/pub/data
         글을 한 걸음 더 처리하기 위해 각각의 줄을 추출하여야 한다. 그러기 위해 이미지를 필기 라인의 핵심 영역(core region)들 사이를 분리한다. 핵심 영역, 즉 텍스트 라인의 위 베이스라인과 아래 베이스라인 사이의 영역은 threshold를 적용하여 찾는다. threshold는 줄들이 핵심 영역에 속하기 위해 필요한 전방foreground 픽셀들의 최소 개수를 나타낸다. 이 threshold는 이진화한 필기 영역의 수평 밀도 히스토그램을 이용하여 Otsu의 방법 [12]를 적용하면 자동으로 결정된다. 그 다음 수평 투영 히스토그램에서 각 줄의 검은 픽셀의 개수가 축적되고 이미지는 이 투영 히스토그램의 minima를 따라 핵심 영역별로 나눠진다.
         수직 위치와 기울임은 [15]에 서술된 접근법과 비슷한 선형 회귀(linear regression)를 이용한 베이스라인 측정법을 적용하여 교정한 반면에, 경사각 계산은 가장자리edge 방향에 기반한다. 그러므로 이미지는 이진화되고 수평 흑-백과 백-흑 전환을 추출하는데 수직 stroke만이 경사 측정에 결정적이다. canny edge detector를 적용하여 edge orientation 자료를 얻고 각도 히스토그램에 누적한다. 히스토그램의 평균을 경사각으로 쓴다.
         필기 줄을 전처리한 이미지는 특징 추출 단계의 입력 자료로 사용된다. sliding window 기법을 [11]이 설명하는 접근법과 비슷하게 적용한다. 우리의 경우 이미지의 높이와 열 네 개 크기의 창이 이미지의 왼쪽에서 오른쪽으로 두 열씩 겹치면서 움직이고 기하 추출의 쌍을 추출한다.
         sliding window의 각 열에서 특징 7개를 추출한다. (1) 흑-백 변화 개수(windowed text image의 이진화 이후), (2) 베이스라인에 대한 강도 분포의 평균 값 위치, (3) 최상단 글자 픽셀에서 베이스라인까지의 거리, (4) 최하단 글자 픽셀에서 베이스라인까지의 거리, (5) 최상단과 최하단 텍스트 픽셀의 거리, (6) 최상단과 최하단 텍스트 픽셀 사이의 평균 강도, (7) 그 열의 평균 강도. 특징 (2)-(5)는 core size, 즉 하단 베이스라인과 상단 베이스라인(극대값을 통한 line fitting으로 계산)의 거리에 의해 정규화되어, 글씨 크기의 변동에 대해 더욱 굳건해진다. 그 후에 모든 특징은 윈도우의 네 열에 걸쳐 평균화된다.
         강도 분포의 평균값의 변화 뿐 아니라 하단 contour와 상단 contour의 방향을 고려하기 위해 추가적으로 세 가지 방향성 특징을 계산한다. 말인 즉 우리는 네 lower countour 점, upper contour 점, sliding window 내 평균값을 통해 줄들을 재고 선 방향들을 (8), (9), (10) 특성으로 각각 사용한다. (뭔 소리) 더 넓은 temporal context를 고려하여 우리는 특징 벡터의 각 성분마다 근사적인 수평 미분을 추가로 계산하고 결과로 20 차원 특징 벡터를 얻는다. (윈도우당 특징 10개, 도함수 10개)
         $u_i A^T \psi_i = S_w^{-1} S_b A^T \psi_i ~~~ (i = 1,2,...,m)$
         𝜇𝑖와 𝐴𝑇𝜓𝑖는 𝑆𝑤−1𝑆𝑏의 고유값과 고유벡터다. 차원 reduction(경감?)은 가장 큰 m개 고유값에 속하는 m개 고유 벡터만을 구하여 얻어진다. 모든 특징 벡터를 LDA 변환한 후에는 완전히 새로운 HMM 훈련이 수행된다.
         필기 글자 인식을 위한 HMM의 구성, 훈련, 해독은 ESMERALDA 개발 환경[5]이 제공하는 방법과 도구의 틀 안에서 수행된다. HMM의 일반적인 설정으로서 우리는 512개의 Gaussian mixtures with diagonal covariance matrice(더 큰 저자 독립 시스템에서는 2048개)를 포함하는 공유 코드북이 있는 semi-continuous 시스템을 사용한다. 52개 글자, 10개 숫자, 12개 구두점 기호와 괄호, 공백 하나를 위한 기본 시스템 모형은 표준 Baum-Welch 재측정을 사용하여 훈련된다. 그 다음 한 줄 전체를 인식하기 위해 글자 모형에 대한 루프로 구성된 conbined model이 사용된다. 가장 가능성 높은 글자 시퀀스가 표준 Viterbi beam- search를 이용하여 계산된다.
         전처리에서 벌충할 수 없는 서로 다른 글씨체 사이의 변동을 고려하기 위해 우리는 [13]에 서술된 접근법과 비슷한, 다저자/저자 독립식 인식을 위한 글자 이서체 모형을 적용한다. 이서체는 글자 하위 분류, 즉 특정 글자의 서로 다른 실현이다. 이는 베이스라인 시스템과달리HMM이이제서로다른글자 하위 분류를 모델링하는 데 쓰임을 뜻한다. 글자별 하위 분류 개수와 이서체 HMM 개수는 휴리스틱으로 결정하는데, 가령 다저자식에 적용된 시스템에서 우리는 이서체 개수가 저자 수만큼 있다고 가정한다. 초기화에서 훈련 자료는 이서체 HMM들을 임의로 선택하여 이름표를 붙인다. 훈련 도중 모든 글자 표본에 대해 해당하는 모든 이서체에 매개변수 재추정을 병렬 적용한다. 정합 가능성은 특정 모형의 매개변수가 현재 표본에 얼마나 강하게 영향받는 지를 결정한다. 이서체 이름표가 유일하게 결정되지는 않기에 이 절차는 soft vector quantization과 비슷하다.
  • 새싹교실/2011/Noname
         ||선생||박정근||1회차||2회차||3회차||4회차||5회차||6회차||
         == 1회차 ==
          ||정수형||char||1 byte(8 bit)||-128 이상 +127 이하||
          || ||int||4 byte(32 bit)||-2,147,483,646 이상 +2,147,483,647 이하||
          || ||short int||2 byte(16 bit)||-32,768 이상 +32,767 이하||
          || ||long int||4 byte(32 bit)||-2,147,483,646 이상 +2,147,483,647 이하||
          ||실수형||float||4 byte(32 bit)||10^-37 이상 10^38 이하||
          || ||double||8 byte(64 bit)||10^-307 이상 10^308 이하||
          * 삼항조건연산자 - ( [조건식]? 명령어1:명령어 )
          statement1;
          statement1;
         for(expr1; expr2; expr3){
          statement1;
          * expr1 에는 변수 초기화. expr2에 조건. expr3에 조건문을 탈출하기 위한 문장.
          * expr1 ->
          statement1;
          statement1;
          if(n==1){
          return 1;
          return n*factorial(n-1);
  • 새싹교실/2012/AClass/1회차
         1. 컴파일(Compile), 빌드(Build), 링크(Linking)에 대해 책에서 찾아보고 써 주세요.
          ascii코드는 표준으로 선택해서 문자를 표현함. 알파벳과 일부 특수문자를 포함하여 128개의 문자로 이루어짐
          int num1;
          scanf(“%d%d”,&num1,&num2);
          if(num1==num2){
          printf(“%d is equal to %d\n”, num1,num2);
          }else if(num1 != num2){
          printf(“%d is not equal to %d\n”, num1, num2);
          }else if(num1 < num2){
          printf(“%d is less than %d\n”, num1, num2);
          }else if(num1> num2){
          printf(“%d is greater than %d\n”, num1, num2);
         성적 계산기의 경우 90점이상 A, 80점이상 B와 같은 구조입니다. 100점만점을 10으로 나누면 switch문으로 풀 수 있습니다.
          switch(grade/10){
          case 10:
          case 1:
          int counter=1;
          counter= counter +1;
         10.위 프로그램을 do-while문으로 바꿔 '똑같은'프로그램이 되도록 해보세요.
          int counter =1;
  • 새싹교실/2012/AClass/2회차
         1.0과 1000 사이의 정수를 입력받아 모든 자릿수를 더하여 출력하는 프로그램을 짜 주세요.
          printf("0과 1000사이의 정수를 입력 :\n");
          sum += num %10;
          num/=10;
          if( 97 <= replace && replace <= 129){
         방법은 if(10>x) printf(" ");입니다.
          1
          7 8 9 10
         11 12 13 14 15
         16 17 18 19 20 21
          int num=1;
          num+=1;
          1
          7 8 9 10
          11 12 13 14 15
         16 17 18 19 20 21
          int num = 1;
          for(a=1;a<6;a++){
          for(b=1;b<=a;b++){
          num+=1;
  • 새싹교실/2013/록구록구/8회차
         2013.05.01
         1. 5칸짜리 int형 배열을 선언합니다. 값은 임의로 정합니다.
          a[1] = 4
          a[2] = 12
          a[4] = 1
          입력1 : 32
          입력3 : 100
         1.
          int a[]={3,4,12,9,1};
          printf("%d\n", a[1]);
         {1} .
          int a[]={5,4,3,2,1}, i;
         [[새싹교실/2013/록구록구]] // [새싹교실/2013] //새싹강사 : [김상호] 파릇파릇 새싹: [박정경] [이주영]
  • 이승한/PHP
          $eng = mysql_result($result, $i, 1);
          $no = $i + 1;
          * time() : 1970년 11일 0시 0분 0초 이후 지난 시간을 초단위 누적 합.
          * strcmp($val1, $val2); //같다면 1 다른다면 0
          * 배열변수 : 변수명[0], 변수명[1], 변수명[2], 변수명[3]
  • 졸업논문
          * [졸업논문/서론] - 최소 1
          * [졸업논문/결론] - 최소 1
          * 참고 문헌을 인용할 시에는 해당 참고 문헌의 번호를 꺾쇠 괄호(bracket)안에 명시한다. (예: [1])
          * http://xper.org/wiki/seminar/_b3_ed_b9_ae_c0_d0_b1_e2
          * http://tint.egloos.com/1310733
  • 졸업논문/서론
         이제 많은 사람의 입에 오르내리는 웹2.0이라는 개념은 오라일리(O'Reilly)와 미디어라이브 인터내셔널(MediaLive International)에서 탄생했다.[1] 2000, 2001년 닷 컴 거품이 무너지면서 살아남은 기업들이 가진 특성을 모아 웹2.0이라고 하고, 이는 2004년 10월 웹 2.0 컨퍼런스를 통해 사람들에게 널리 알려졌다. 아직까지도 웹2.0은 어느 범위까지를 통칭하는 개념인지는 여전히 논의 중이지만, 대체로 다음과 같은 키워드를 이용해 설명할 수 있다. 플랫폼, 집단 지능, 데이터 중심, 경량 프로그래밍 모델, 멀티 디바이스 소프트웨어.
         이러한 기술과 더불어 기민하게 웹 어플리케이션을 만들 수 있는 프레임워크도 점차 많아지고 있다. 대표적으로 Ruby on Rails(RoR)는 블로그 사이트를 15분만에 만들어내는 것으로 큰 관심을 모았다.[3] RoR과 같은 웹 어플리케이션 프레임워크는 모델, 뷰, 컨들롤러 구조에서 모델을 데이터베이스와 손쉽게 연동할 수 있어 인상 깊다.
  • 캠이랑놀자/보창
          g = fixIndex(rgbValue[1], 0)
         for x in range(0,100):
          for y in range(0,100):
          srcR, srcG, srcB = im.getpixel((x+40,y+150))
          nr, ng, nb = fixRGB(color, 100)
Found 24 matching pages out of 7540 total pages

You can also click here to search title.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:05
Processing time 0.0134 sec