연산자 라이브러리: 디버깅
ImageInjector 연산자를 사용하면 해당 연산자의 이미지 데이터 출력에 이미지를 삽입할 수 있습니다. 이미지는 파일(파일 형식: *.tif)에서 직접 삽입할 수 있습니다. Framegrabber API 를 통해 또는 Framegrabber SDK 의 microDisplay 도구를 통해 삽입 명령을 내릴 수 있습니다.
ImageInjector 연산자는 VisualApplets 에서 설계를 시뮬레이션할 때 사용하는 시뮬레이션 소스와 같은 방식으로 작동합니다. 단, ImageInjector 연산자는 런타임 중 테스트에 사용된다는 점이 다릅니다.
두 가지 주입 방식, 즉 삽입과 대체가 지원됩니다.
삽입 모드: 삽입 모드 중 하나가 활성화된 상태에서는 입력 연결이 차단됩니다.
대체 모드: 대체 모드 중 하나가 활성화된 경우, 운영자는 이미지 주입 중에 이미지 싱크 역할을 합니다. 입력 링크는 차단되지 않습니다.
주입된 이미지 데이터는 WritePixel 및 WriteFlag 레지스터에 쓰기를 통해 픽셀 단위로 삽입됩니다. 이 쓰기 레지스터는 ReadyForInjection 매개변수가 "yes"로 설정된 경우에만 활성화됩니다. ( ReadyForInjection 매개변수가 언제 "yes"로 설정되는지 이해하려면 Mode 매개변수를 참조하십시오.)
삽입된 이미지의 각 줄 끝(마지막 줄 제외)에서는 EndOfLine 플래그를 WriteFlag 레지스터에 기록해야 합니다. 마지막 줄의 끝에 도달하면 EndOfFrame 플래그를 WriteFlag 레지스터에 기록해야 합니다.
CurrXPos 및 CurrYPos 매개변수는 현재 활성화된 픽셀 위치를 가리킵니다.
![]() |
EnableInsertModes 매개변수는 연산자의 유형을 M형에서 P형으로 변경합니다. |
|---|---|
|
ImageInjector 연산자는 M형 연산자입니다. 하지만 EnableInsertModes를 "no"로 설정하면, VisualApplets 에 따라 이 연산자는 P형 연산자처럼 처리됩니다. |
![]() |
주입 모드 비활성화 |
|---|---|
|
기본 모드인 FlowThrough로 다시 전환(즉, 모든 종류의 주입을 비활성화)하는 것은 다음과 같은 경우에만 허용됩니다. ReadyForFlowThrough 매개변수가 "yes"로 설정된 경우. |
![]() |
실행 시 테스트 |
|---|---|
|
이 연산자는 실행 중에 설계를 테스트하고 분석하기 위해 고안되었습니다. 디버깅을 위해 이 연산자를 사용하려면, 먼저 설계를 빌드(합성)하고, 대상 하드웨어에 로드한 다음, 실제 이미지 처리를 시작해야 합니다. 이 연산자는 VisualApplets 내의 설계 시뮬레이션 용도로 설계되지 않았습니다. |
| 링크 매개변수 | 입력 링크 I | 출력 링크 O |
|---|---|---|
| Bit Width | [1, 64] | 내가 |
| Arithmetic | {부호 없음, 부호 있음} | 내가 |
| Parallelism | 1 | 내가 |
| 커널 칼럼 | 1 | 1 |
| 커널 행 | 1 | 1 |
| Img 프로토콜 | {VALT_IMAGE2D, VALT_LINE1D} | 내가 |
| Color Format | 어떤 | 내가 |
| 색과 맛 | 어떤 | 내가 |
| 최대 이미지 너비 | 어떤 | 내가 |
| 이미지 최대 높이 | 어떤 | 내가 |
| 모드 | |
|---|---|
| 유형 | 동적 쓰기 매개변수 |
| 기본값 | FlowThrough |
| 범위 | {FlowThrough, InsertAfterEof, InsertAfterEol, ReplaceAfterEof, ReplaceAfterEol} |
|
이 모드 매개변수는 이미지 삽입 기능을 활성화하거나 비활성화합니다. 이미지 삽입이 진행되는 동안, 운영자는 입력 링크를 차단하거나(InsertAfterEof, InsertAfterEol) 삽입 중에 들어오는 이미지 데이터를 폐기합니다(ReplaceAfterEof, ReplaceAfterEol). 주입: 이 모드에서는 운영자가 즉시 입력 링크를 차단하고 매개변수 ReadyForInjection을 "yes"로 설정합니다. ReadyForInjection이 "yes"로 설정되는 즉시, 파일에서 이미지를 주입할 수 있습니다. FlowThrough: 이미지 삽입이 비활성화되었습니다. 기본 모드인 FlowThrough로 다시 전환(즉, 모든 종류의 삽입 기능을 비활성화)하는 것은 매개변수 ReadyForFlowThrough가 "yes"로 설정된 경우에만 허용됩니다. InsertAfterEof: 이 모드로 설정하면 연산자는 프레임 끝(EoF) 플래그를 검색합니다. EoF 플래그를 발견하는 즉시(즉, 현재 이미지의 끝 부분에 도달했을 때), 오퍼레이터는 입력 링크를 차단하고 ReadyForInjection 매개변수를 "yes"로 설정합니다. ReadyForInjection이 "yes"로 설정되는 즉시, 파일에서 이미지를 주입할 수 있습니다. 이 모드는 LINE-1D 이미지 프로토콜에서는 사용할 수 없습니다. 이 모드는 EnableInsertModes 매개변수가 "yes"로 설정된 경우에만 사용할 수 있으며, 이는 또한 운영자가 M 유형임을 의미합니다. InsertAfterEol: 이 모드로 설정하면 연산자는 줄 끝(EoL) 플래그를 찾습니다. EoL 플래그를 발견하는 즉시(즉, 현재 줄의 끝에 도달하면), 연산자는 입력 링크를 차단하고 ReadyForInjection 매개변수를 매개변수를 "yes"로 설정합니다. ReadyForInjection이 "yes"로 설정되는 즉시, 파일에서 이미지를 주입할 수 있습니다. 이 모드는 EnableInsertModes 매개변수가 "yes"로 설정된 경우에만 사용할 수 있으며, 이는 또한 연산자가 M 유형임을 의미합니다. 사용 가능한 두 가지 대체 모드 중 하나로 설정되면, 운영자는 이미지 주입 과정에서 이미지 싱크 역할을 수행합니다. ReplaceAfterEof: 이 연산자는 현재 이미지가 끝날 때까지 대기합니다. EoF 플래그를 발견하는 즉시, 연산자는 ReadyForInjection 매개변수를 "yes"로 설정합니다. ReadyForInjection이 "yes"로 설정되는 즉시, 파일에서 이미지를 주입할 수 있습니다. 삽입 중에는 수신되는 이미지 데이터가 무시됩니다. LINE-1D 이미지 프로토콜에서는 사용할 수 없습니다. ReplaceAfterEol: 이 연산자는 현재 행이 끝날 때까지 대기합니다. EoL 플래그를 발견하는 즉시, 이 연산자는 ReadyForInjection 매개변수를 "yes"로 설정합니다. ReadyForInjection이 "yes"로 설정되는 즉시, 파일에서 이미지를 삽입할 수 있습니다. 삽입 중에는 들어오는 이미지 데이터가 무시됩니다. |
|
| EnableInsertModes | |
|---|---|
| 유형 | 정적 쓰기 매개변수 |
| 기본값 | 아니요 |
| 범위 | {예, 아니오} |
|
"yes"로 설정된 경우, Mode 매개변수를 다음 삽입 모드로 설정할 수 있습니다. InsertAfterEof 또는 InsertAfterEol모드로 설정할 수 있습니다. 이 경우,로 설정할 수 있습니다. 이 경우, 연산자의 유형은 M입니다. "아니요"로 설정된 경우, 매개변수 Mode에대해 이 두 삽입 모드는 허용되지 않으며 연산자의 유형은 P입니다. |
|
| 주사 준비 완료 | |
|---|---|
| 유형 | 동적 읽기 매개변수 |
| 기본값 | 아니요 |
| 범위 | {예, 아니오} |
|
Mode 매개변수가 삽입 모드나 교체 모드에 있을 때 픽셀이나 플래그를 쓰기 준비가 되었음을 나타냅니다. WritePixel 및 WriteFlag 매개변수를 사용하려면 이 값을 “yes”로 설정해야 합니다. |
|
| ReadyForFlowThrough | |
|---|---|
| 유형 | 동적 읽기 매개변수 |
| 기본값 | 아니요 |
| 범위 | {예, 아니오} |
|
( Mode 매개변수의) FlowThrough 모드로 다시 전환할 준비가 되었음을 나타냅니다. ( Mode 매개변수의). 이 매개변수는 WriteFlag 매개변수가 지정되면 자동으로 “yes”로 설정됩니다.
|
|
| CurrXPos | |
|---|---|
| 유형 | 동적 읽기 매개변수 |
| 기본값 | 0 |
| 범위 | [0, MaxImageWidth-1] |
|
현재 줄 위치를 표시합니다. |
|
| CurrYPos | |
|---|---|
| 유형 | 동적 읽기 매개변수 |
| 기본값 | 0 |
| 범위 | [0, MaxImageHeight-1] |
|
현재 이미지의 높이 위치를 표시합니다. |
|
| WritePixel | |
|---|---|
| 유형 | 동적 쓰기 매개변수 |
| 기본값 | 0 |
| 범위 | [0, 2^비트폭-1] |
|
픽셀 값. 24비트 색상 형식을 사용하는 경우, 다음과 같은 비트 매핑을 적용해야 합니다: 빨강 = [0, 7], 초록 = [9, 15], 파랑 = [16, 23]. |
|
| WriteFlag | ||||
|---|---|---|---|---|
| 유형 | 동적 쓰기 매개변수 | |||
| 기본값 | EndOfLine | |||
| 범위 | {줄 끝, 프레임 끝} | |||
|
삽입된 각 줄의 끝에는 EndOfLine 플래그를 작성해야 합니다. 단, 이미지의 마지막 줄 끝은 예외입니다. 삽입된 이미지의 마지막 줄 끝부분에 EndOfFrame 플래그를 작성해야 합니다. 이 매개변수는 ReadyForFlowThrough 매개변수에도 영향을 미칩니다: 다음과 같은 경우 ReadyForFlowThrough 매개변수가 “yes”로 설정됩니다.
|
||||
| 이미지 파일 | |
|---|---|
| 유형 | 동적 쓰기 매개변수 |
| 기본값 | image.tif |
| 범위 | |
|
삽입할 이미지 파일. 이미지의 크기는 출력 링크 속성과 같거나 더 작아야 합니다. 이미지 파일의 픽셀 심도는 구성 요소당 8비트 또는 16비트일 수 있습니다. 구성 요소당 이미지 픽셀 심도가 링크 속성에 정의된 구성 요소당 비트 폭과 일치하지 않는 경우, 이미지 구성 요소는 링크 속성에 정의된 픽셀 구성 요소와 최상위 비트(MSB)가 정렬되도록 이동됩니다. microDisplay에서 파일을 선택하려면 파일 경로를 수동으로 설정하거나 이 매개변수를 마우스 오른쪽 버튼으로 클릭하여 파일 선택 메뉴를 여십시오. |
|
| InjectFromFile | |
|---|---|
| 유형 | 동적 쓰기 매개변수 |
| 기본값 | 아니요 |
| 범위 | {아니요, 예} |
|
"yes"로 설정하면, 이미지 파일이 출력 링크에 삽입됩니다. FlowThrough 모드에서는 비활성화됩니다(즉, Mode 매개변수가 FlowThrough로 설정된 경우). |
|
다음 예제에서는 ImageInjector 연산자의 사용법을 보여줍니다:
-
'ImageInjector를사용하여 Test Images 을 불러오는 기능 예시 '
예시 - 연산자 사용 방법 시연
-
예시 - 디버깅을 위해 이미지를 수동으로 삽입할 수 있습니다.

![[참고]](../common/images/admon/note.png)
![[중요]](../common/images/admon/important.png)
이전

