분류 전체보기 221

3. Binary, Morphology

1. Binary Gray Scale 이미지에서, 특정 Threshold를 잡아서. 각 Pixel 들을 극단적으로 처리한다. 높으면 100 낮으면 0 [ 흰색 = 255, 검은색 =0] 1.1 OpenCV의 함수 OpenCV에는 2가지 방식으로 binary를 처리할 수 있다. 1.2 CvThreshold 1.3 cvAdaptiveThreshold 2. Morphology -> n. 형태학 사전에는 학문을 뜻하는 형태학이라고 나오는데, 형태변환을 생각하면 되겠다. 이미지의 형태를 변환하는 것으로, Iteration(반복법)을 적용하여 3회,5회 등의 같은 연산을 반복하여 처리하기도 한다. 기본적으로 Image Processing의 Morphology는 수학에서 왔다. 원리를 모르고 단순히 library 가..

카테고리 없음 2020.12.08

2. linear filtering

1. Convolution 수학에서 말하는 convolution과 비슷하다. 보통 한 신호가 어떤 시스템을 거쳐서 나오는 출력을 표현한다. Image processing에서는 원본 이미지가 kernel을 통해 masking했을 때 convolution연산을 통해 나온다. 일차원행렬의 convolution convolution은 교환법칙, 결합법칙, 분배법칙, 편미분, shift invariant가 성립한다. 2. linear filtering 2.1 Masking 이미지는 2차원 행렬이다. 이미지에 convolution개념을 적용하려면, kernel라는 2차원 행렬을 만들어서 적용시킨다. input image에 kernel을 씌워서 output image를 만드는 것을 masking이라고 한다. 과정은 ..

1. opencv pixel access

Open CV/C++를 사용했다. -> C++언어로 설계하면서 Open CV라는 라이브러리를 가져다 쓴 것. 1. 이미지의 형태. 이미지 = 픽셀의 집합이다. 이미지의 표현 = 행렬 이미지는 픽셀의 집합. 2. Open CV의 Data type CvPoint : 이미지에서 x,y좌표 ex) (5,5) CvSize : 이미지 자체의 크기 ex) 640x480 CvRect : 이미지 내의 특정 사각형 공간 정의 ex)(10,30,5,5) ; 10,30의 점에서 5x5사이즈의 사각형 범위를 잡는다. CvScalar : RGBA 색상을 표현. (val[0],val[1],val[2],val[3],) struct CvScalar { double val[4]; }; IplImage : Image Processing ..

VHDL13. 영상회로

1. 영상회로 1.1 영상회로의 일반적 검증 1.1.1 카메라 - 카메라 동기 신호 생성부 - 파일 입력문으로 영상 파일 입력 1.1.2 디스플레이 - 디스플레이 장치 동기 신호 생성부 - 파일 출력문으로 영상 생성 - image viewer를 이용한 각 프레임별 검증 1.1.3 영상 처리부 - 일반적인 고급 디지털 회로 설계 기법 사용 - FIFO, RAM, ROM, SDRAM 등의 메모리 인터페이스 필요 영상 회로의 일반적인 검증 환경 1.2 Clock generator module(클럭 신호 생성부) VHDL 1.3 동기패턴 일반적인 동기 신호 패턴 동기 신호 패턴 정보의 VHDL 구현 1.3.1 수평 동기 신호 1.3.1.1 수평 카운터 신호 생성 수평 카운터 신호 생성 1.3.1.2 수평 동기 ..

VHDL12. 주파수 분주기, 시계용 카운터, 디지털 시계 회로,

1. frequency divider(=주파수 분주) ; 입력 클럭을 이용하여 이보다 낮은 클럭을 생성하는 것. - 디지털 로직으로 구현 가능 - 주파수 체배기(frequency multiplier)의 경우는 PLL과 같은 아날로그 방식을 이용해야 함 1.1 종류 2^N 분주기 ; 일반화된 형태로 설계 가능, 예) 2, 4, 8, 16, 32, 64 분주기 2N 분주기 ;각 분주비 별로 설계 가능, 예) 6, 10, 60, 100 분주기 N 분주기 ; N이 홀수일 경우에는 duty비 50%로는 디지털 방식으로 설계 불가능 1.2 VHDL 구현 (N만 바뀐 것을 유심히 보자) - 2분주 회로 2분주 회로 2분주 회로 - 3분주 회로 3분주 회로 3분주 회로 - 16 분주 회로 16분주 회로 - 2^N 분..

VHDL11. 메모리 인터페이스 회로 설계(ROM,RAM,SDRAM)

1. ROM(Read Only Memory) 1.1 기본 ROM - 내용이 변화되지 않는 규칙들을 저장해 놓고 읽어내는 용도로만 사용 - 입력 : 어드레스 - 출력 : 해당 어드레스에 저장되어 있는 데이터 1.1.1 VHDL 구현 1.1.2 testbench 1.1.3 simulation 2. Sine ROM sin ROM, cos ROM 2.1 Sine ROM의 설계 조건 - 0.2도 이상의 각도 분해능(degree 기준) - 0.002 이상의 사인 크기 분해능 2.2 어드레스, 데이터 버스의 크기 - 구현에 필요한 어드레스 크기 => 360/0.2 = 1800 => 주기 특성을 고려한 최적화 시, 90/0.2 = 450 - 구현에 필요한 데이터의 폭 => 2/0.002 = 1000 => 주기 특성을 ..

VHDL10. buffer, state machine, ALU

1. buffer 설계 (buffer, tri-state buffer) 1.1 buffer ; 출력 신호의 Fan out(팬아웃)을 증가시키는 용도. buffer 사용 예 1.2 tristate buffer ; 기본 buffer에 HIGH-Z 상태가 추가되었다. HIGH-Z : 임피던스가 엄청 높은 상태 ~ OPEN상태 1.2.1 VHDL 로직 구현 1.2.2 test bench of tri-state buffer 1.2.3 simulation 1.3 IO buffer(입출력 버퍼) 1.3.1 VHDL 로직 구현 1.3.2 test bench 위의 tb_tribuf에 component만 추가해주고 din => i로 매칭하면 된다. 1.3.3 simulation 1.4 bus(버스)의 공유 1.4.3 si..

VHDL9. 기법(논리합성, 설계)

1. VHDL을 이용한 시스템 구현과정 ; 디지털 회로 설계 프로세스라고 생각하면 된다. => 코딩 전 단계에서 여기표 -> 상태도 작성을 통해 로직을 짠다. => 이것을 VHDL로 옮기는 것이다. 시스템 구현 Process 2. 코딩기법 2.1 좋은 코딩 2.1.1. 코드 첫부분에 관련 정보를 담은 해더를 사용. 2.1.2. IEEE 등 개발 환경에서 제공하는 다양한 패키지 활용. 2.1.3. 모든 RTL 코드는 한파일에 하나의 entity 서술. -> 파일명과 entity명을 일치시킬것. -> entity명은 설계 구조가 파악 되도록 할 것. -> 테스트 벤치는 tb_entity_name으로 구분하게 할 것. 2.1.4. in,out port signal(입출력 포트 신호)의 명명 규칙 - >std_..

VHDL8. 순차회로

순차회로부터, clock signal에 synchronize 되야하는 특징이 있다. clock에 초점을 맞춰서 이번 포스트를 유심히 보자. 1.1 D F/F 설계 D F/F의 회로, 진리표 1.1.1 VHDL 로직 서술 D F/F의 VHDL로직, clk = '1'을 감지할 때만, process문이 제대로 돌아간다. 1.1.2 testbench testbench of D F/F testbench of D F/F, loop문을 이용해서, clk를 생성한다. 1.1.3 simulation 1.2. D F/F with reset ; D F/F에 reset을 달았다. 회로도, 진리표 of D F/F with reset 1.2.1 VHDL 로직 서술 1.2.2 testbench testbench of D F/F w..

VHDL7. 조합회로

1. test bench : VHDL로 서술한 하드웨어의 로직을 검증하기 위한 환경 - 패턴발생기,오실로스코프,멀티미터 -> 테스트벤치 - VHDL 환경안에서 검증할 수 있는 방법이다. - 로직은 하드웨어 구현을 염두해 둬야 하지만, 테스트 벤치는 자유롭다. - 단, 모든 경우의 수(예외 없는)를 포함해야 한다. -> 로직 설계 : 반드시 논리 합성이 가능한 코드로 설계 -> 테스트 벤치 구성 : 논리 합성 가능 여부와는 무관 => VHDL 문법에서는 테스트 벤치 구성을 목적으로 하는 다양한 문법 구조 제공 1.1 검증 프로세스 파형생성 -> 회로인가 -> 회로 출력값이 기대값과 일치하는 지 검증. 1.2 테스트벤치 이용 예제 프로세스 ; 로직설계 => 테스트벤치 작성 => 시뮬레이션 및 검증. ex) ..