Skip to content

Commit

Permalink
v1.4.0 released
Browse files Browse the repository at this point in the history
  • Loading branch information
bobhyun committed May 9, 2023
1 parent 5138f7d commit 0565aa5
Show file tree
Hide file tree
Showing 45 changed files with 350 additions and 85 deletions.
34 changes: 23 additions & 11 deletions DevGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

- [์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ๊ฐ€์ด๋“œ](#์‘์šฉ-ํ”„๋กœ๊ทธ๋žจ-๊ฐœ๋ฐœ-๊ฐ€์ด๋“œ)
- [๋ชฉ์ฐจ](#๋ชฉ์ฐจ)
- [1. DLL entry points](#1-dll-entry-points)
- [1. Entry points](#1-entry-points)
- [1.1. anpr\_initialize](#11-anpr_initialize)
- [1.2. anpr\_read\_file](#12-anpr_read_file)
- [1.3. anpr\_read\_pixels](#13-anpr_read_pixels)
Expand All @@ -18,16 +18,26 @@
- [4. ์˜ˆ์ œ](#4-์˜ˆ์ œ)


## 1. DLL entry points
## 1. Entry points

๋ชจ๋“  ํ•จ์ˆ˜ ์›ํ˜•์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.
```cpp
#ifdef WIN32
#define TS_ANPR_ENTRY extern "C" __declspec(dllexport) const char* WINAPI
#else
#define TS_ANPR_ENTRY extern "C" const char*
#endif
```
**-* ์žฅํ™ฉํ•ด์ง€์ง€ ์•Š๋„๋ก ์ดํ•˜๋Š” `TS_ANPR_ENTRY`๋กœ ํ‘œ๊ธฐํ•ฉ๋‹ˆ๋‹ค.*

### 1.1. anpr_initialize

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ดˆ๊ธฐํ™” ํ•ฉ๋‹ˆ๋‹ค.
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ํ•จ์ˆ˜๋ณด๋‹ค ๋จผ์ € ํ•œ ๋ฒˆ ํ˜ธ์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


```cpp
__declspec(dllimport)
const char* WINAPI anpr_initialize(const char* outputFormat); // [IN] ์˜ค๋ฅ˜ ๋ฐœ์ƒ์‹œ ์ถœ๋ ฅ ๋ฐ์ดํ„ฐ ํ˜•์‹
TS_ANPR_ENTRY anpr_initialize(const char* outputFormat); // [IN] ์˜ค๋ฅ˜ ๋ฐœ์ƒ์‹œ ์ถœ๋ ฅ ๋ฐ์ดํ„ฐ ํ˜•์‹
```
**Parameters**:
Expand All @@ -45,8 +55,7 @@ const char* WINAPI anpr_initialize(const char* outputFormat); // [IN] ์˜ค๋ฅ˜ ๋ฐœ
์ด๋ฏธ์ง€ ํŒŒ์ผ์—์„œ ์ฐจ๋Ÿ‰ ๋ฒˆํ˜ธ๋ฅผ ์ธ์‹ํ•ฉ๋‹ˆ๋‹ค.
```cpp
__declspec(dllimport)
const char* WINAPI anpr_read_file(
TS_ANPR_ENTRY anpr_read_file(
const char* imgFileName, // [IN] ์ž…๋ ฅ ์ด๋ฏธ์ง€ ํŒŒ์ผ๋ช…
const char* outputFormat, // [IN] ์ถœ๋ ฅ ๋ฐ์ดํ„ฐ ํ˜•์‹
const char* options); // [IN] ๊ธฐ๋Šฅ ์˜ต์…˜
Expand Down Expand Up @@ -88,8 +97,7 @@ const char* WINAPI anpr_read_file(
๋กœ๋”ฉ๋œ ์ด๋ฏธ์ง€์˜ ๋ฉ”๋ชจ๋ฆฌ ๋ฒ„ํผ์—์„œ ์ฐจ๋Ÿ‰ ๋ฒˆํ˜ธ๋ฅผ ์ธ์‹ํ•ฉ๋‹ˆ๋‹ค.
```cpp
__declspec(dllimport)
const char* WINAPI anpr_read_pixels(
TS_ANPR_ENTRY anpr_read_pixels(
const unsigned char* pixels, // [IN] ์ด๋ฏธ์ง€ ํ”ฝ์…€ ์‹œ์ž‘ ์ฃผ์†Œ
const unsigned long width, // [IN] ์ด๋ฏธ์ง€ ๊ฐ€๋กœ ํ”ฝ์…€ ์ˆ˜
const unsigned long height, // [IN] ์ด๋ฏธ์ง€ ์„ธ๋กœ ํ”ฝ์…€ ์ˆ˜
Expand Down Expand Up @@ -286,16 +294,20 @@ error
| `102` | `Not initialized` | ์—”์ง„์ด ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์€ ์ƒํƒœ
| `103` | `Too many workers` | ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ˜ธ์ถœ ์“ฐ๋ ˆ๋“œ ์ˆ˜๊ฐ€ ํ•œ๊ณ„๋ฅผ ์ดˆ๊ณผํ•œ ๊ฒฝ์šฐ (์ตœ๋Œ€ 256๊ฐœ)
| `104` | `Resource exhausted` | ๋” ์ด์ƒ ์ž์›์„ ํ• ๋‹นํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ
| `105` | `License not installed` | ๋ผ์ด์„ ์Šค๊ฐ€ ์„ค์น˜๋˜์ง€ ์•Š์€ ์ƒํƒœ (๋ฆฌ๋ˆ…์Šค์—์„œ ๋ฌด๋ฃŒ ํ‰๊ฐ€ํŒ ๋ผ์ด์„ผ์Šค๊ฐ€ ์„ค์น˜๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋ฐœ์ƒํ•จ)
| `106` | `USB dongle I/O error` | USB ๋ผ์ด์„ ์Šค ๋™๊ธ€ ์ฝ๊ธฐ ์‹คํŒจ์‹œ ๋ฐœ์ƒ
| `200` | `Unknown` | ๊ธฐํƒ€ ์ •์˜๋˜์ง€ ์•Š์€ ์˜ค๋ฅ˜

## 4. ์˜ˆ์ œ

- ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์„ฑ
```
/examples
/bin # ANPR ์—”์ง„ ๋ฐ ์ปดํŒŒ์ผ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ
/x64 # 64bit ๋ฐ”์ด๋„ˆ๋ฆฌ (amd64)
/x86 # 32bit ๋ฐ”์ด๋„ˆ๋ฆฌ
/bin # ๊ฐ ํ”Œ๋žซํผ๋ณ„ ANPR ์—”์ง„
/windows-x86_64
/windows-x86
/linux-x86_64
/linux-aarch64
/img # ํ…Œ์ŠคํŠธ์šฉ ์ƒ˜ํ”Œ ์ด๋ฏธ์ง€
/cpp # C++ ์˜ˆ์ œ
/csharp # C# ์˜ˆ์ œ
Expand Down
19 changes: 12 additions & 7 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## ๋ผ์ด์„ ์Šค

### 1. ์˜ˆ์ œ ์†Œ์Šค ์ฝ”๋“œ
#### 1. ์˜ˆ์ œ ์†Œ์Šค ์ฝ”๋“œ
์ œ๊ณต๋˜๋Š” ์˜ˆ์ œ ์†Œ์Šค ์ฝ”๋“œ๋Š” **MIT ๋ผ์ด์„ ์Šค**๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

```
Expand All @@ -26,13 +26,18 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```

### 2. TS-ANPR ์—”์ง„ ๋ฐ”์ด๋„ˆ๋ฆฌ
#### 2. TS-ANPR ์—”์ง„ ๋ฐ”์ด๋„ˆ๋ฆฌ
TS-ANPR ์—”์ง„ ๋ฐ”์ด๋„ˆ๋ฆฌ๋Š” **์ƒ์šฉ ๋ผ์ด์„ ์Šค**๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
์•„๋ž˜ ์„ธ ์ข…๋ฅ˜์˜ ๋ผ์ด์„ ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

| ๊ตฌ๋ถ„ | ๊ธฐ๋Šฅ | ๊ธฐ๊ฐ„ ์ œํ•œ |
|:---------------------|:-------------------------------------------|:----------:|
| `TS-ANPR ๋ฌด๋ฃŒ ํ‰๊ฐ€ํŒ` | ์ฐจ๋Ÿ‰ ์žฅ์ฐฉ(v), ๋‹ค์ค‘ ์ธ์‹(m), ์„œ๋ผ์šด๋“œ ์ธ์‹(s) | 30์ผ |
| `TS-ANPR ๊ธฐ๋ณธ` | ์ฐจ๋Ÿ‰ ์žฅ์ฐฉ(v), ๋‹จ์ผ ์ธ์‹ | ๋ผ์ด์„ ์Šค์— ์ค€ํ•จ |
| `TS-ANPR ํ”„๋กœ` | ์ฐจ๋Ÿ‰ ์žฅ์ฐฉ(v), ๋‹ค์ค‘ ์ธ์‹(m), ์„œ๋ผ์šด๋“œ ์ธ์‹(s) | ๋ผ์ด์„ ์Šค์— ์ค€ํ•จ |
| ๊ตฌ๋ถ„ | ๊ธฐ๋Šฅ | ์„ฑ๋Šฅ | ๊ธฐ๊ฐ„ ์ œํ•œ |
|:---------------------|:--------:|-----------------:|--------------:|
| `TS-ANPR ๋ฌด๋ฃŒ ํ‰๊ฐ€ํŒ` | vms | ๋ฌด์ œํ•œ | 30์ผ |
| `TS-ANPR ์„œ๋ฒ„` | vms | ๋ฌด์ œํ•œ | ๋ผ์ด์„ ์Šค์— ์ค€ํ•จ |
| `TS-ANPR ํ”„๋กœ` | vms | ์ตœ๋Œ€ 16 CPU ์ฝ”์–ด | ๋ผ์ด์„ ์Šค์— ์ค€ํ•จ |
| `TS-ANPR ๊ธฐ๋ณธ` | v | ์ตœ๋Œ€ 8 CPU ์ฝ”์–ด | ๋ผ์ด์„ ์Šค์— ์ค€ํ•จ |
| `TS-ANPR IoT` | v | ์ตœ๋Œ€ 4 CPU ์ฝ”์–ด | ๋ผ์ด์„ ์Šค์— ์ค€ํ•จ |

**-* ๊ธฐ๋Šฅ: v(์ฐจ๋Ÿ‰ ์žฅ์ฐฉ), m(๋‹ค์ค‘ ์ธ์‹), s(์„œ๋ผ์šด๋“œ ์ธ์‹)*
**-* ์„ฑ๋Šฅ: CPU ์ฝ”์–ด ์ผ๋ถ€๋ถ„๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ฐจ๋ฒˆ์ธ์‹ ์„ฑ๋Šฅ์„ ์ œํ•œ*

134 changes: 92 additions & 42 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,102 @@ TS-ANPR
===

TS-ANPR์€ ๋”ฅ๋Ÿฌ๋‹ ๊ธฐ๋ฐ˜์˜ ๋Œ€ํ•œ๋ฏผ๊ตญ ์ฐจ๋Ÿ‰ ๋ฒˆํ˜ธ ์ธ์‹ ์—”์ง„์ž…๋‹ˆ๋‹ค.
#### ์ฐจ๋ฒˆ ์ธ์‹ ๋ฐ๋ชจ: [http://tsnvr.ipdisk.co.kr/](http://tsnvr.ipdisk.co.kr/)
<img style="margin-left:20px" src="img/demo.png" width="150" />
#### [์ฐจ๋ฒˆ ์ธ์‹ ๋ฐ๋ชจ](http://tsnvr.ipdisk.co.kr/)

#### ์ตœ์‹  ์—”์ง„ ๋‹ค์šด๋กœ๋“œ: [https://github.com/bobhyun/TS-ANPR/releases/](https://github.com/bobhyun/TS-ANPR/releases/)
<img style="margin-left:20px" src="img/releases.png" width="150" />
#### [์ตœ์‹  ์—”์ง„ ๋‹ค์šด๋กœ๋“œ](https://github.com/bobhyun/TS-ANPR/releases/)

#### ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ๊ฐ€์ด๋“œ: [https://github.com/bobhyun/TS-ANPR/blob/main/DevGuide.md](https://github.com/bobhyun/TS-ANPR/blob/main/DevGuide.md)
<img style="margin-left:20px" src="img/dev-guide.png" width="150" />
#### [์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ๊ฐ€์ด๋“œ](https://github.com/bobhyun/TS-ANPR/blob/main/DevGuide.md)

- [DLL entry points](https://github.com/bobhyun/TS-ANPR/blob/main/DevGuide.md#1-dll-entry-points)
- [์ž…๋ ฅ ์ด๋ฏธ์ง€ ํŒŒ์ผ ํ˜•์‹ (`bmp`, `jpg`, `png`, `pnm`, `pbm`, `pgm`, `ppm`, `jfif`, `webp`)](https://github.com/bobhyun/TS-ANPR/blob/main/DevGuide.md#12-anpr_read_file)
- [์ž…๋ ฅ ์ด๋ฏธ์ง€ ํ”ฝ์…€ ํ˜•์‹ (`GRAY`, `BGRA`, `RGBA`, `RGB`, `BGR`, `BGR555`, `BGR565`, `HSV`, `YCrCb`, `I420`, `YV12`, `IYUV`, `NV12`, `NV21`)](https://github.com/bobhyun/TS-ANPR/blob/main/DevGuide.md#13-anpr_read_pixels)
- [๊ฒฐ๊ณผ ์ถœ๋ ฅ ํ˜•์‹ (`text`, `json`, `yaml`, `xml`)](https://github.com/bobhyun/TS-ANPR/blob/main/DevGuide.md#2-output-format)
- [ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ณ„ ์˜ˆ์ œ ์†Œ์Šค ์ฝ”๋“œ (`C/C++`, `C#`, `Visual Basic`, `Python`, `JavaScript/Node.js`, `Go`, `Pascal/Delphi`, `Perl`, `Ruby`)](https://github.com/bobhyun/TS-ANPR/blob/main/DevGuide.md#4-%EC%98%88%EC%A0%9C)
- [pdf ๋ฌธ์„œ ๋‹ค์šด๋กœ๋“œ](https://github.com/bobhyun/TS-ANPR/raw/main/TS-ANPR-Manual.pdf)
- [entry points](https://github.com/bobhyun/TS-ANPR/blob/main/DevGuide.md#1-entry-points)
- [pdf ๋ฌธ์„œ ๋‹ค์šด๋กœ๋“œ](https://github.com/bobhyun/TS-ANPR/doc/raw/main/TS-ANPR-Manual.pdf)

#### [์„ค์น˜ ๋ฐฉ๋ฒ•](https://github.com/bobhyun/TS-ANPR/blob/main/Usage.md)

## ์ตœ์‹  ๋ฒ„์ „ ์ •๋ณด
#### **`[2023-2-28]` v1.2.0 ์ถœ์‹œ ๐ŸŽ‰**

- ๋‹ค์ค‘ ์ฐจ๋Ÿ‰ ์ธ์‹์‹œ ์ผ๋ถ€ ๋ฒˆํ˜ธํŒ์ด ๋ฏธ์ธ์‹๋˜๋Š” ํ˜„์ƒ ๊ฐœ์„ 
- ํ™”์งˆ์ด ์ข‹์ง€ ์•Š์€ ๋ฒˆํ˜ธํŒ ์ด๋ฏธ์ง€์—์„œ ๋ฌธ์ž ์˜ค์ธ์‹ ๊ฐœ์„ 


## ํŠน์ง•

### 1. ์ฐจ๋Ÿ‰ ์žฅ์ฐฉ ๊ฒ€์‚ฌ (Vehicle Mounted)
## ์ตœ์‹  ๋ฒ„์ „ ์ •๋ณด
#### v1.4.0 ์ถœ์‹œ๐ŸŽ‰ (2023-5-9)

- ๋ฆฌ๋ˆ…์Šค๐Ÿง(`linux-x86_64`, `linux-aarch64`) ์ง€์› *(๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๊ธฐ์กด ์œˆ๋„์šฐ์ฆˆ์™€ ๋™์ผ)*
- ์ธ์‹ ์†๋„ ํ–ฅ์ƒ (v1.2.0 ๋Œ€๋น„ ์•ฝ 2.5๋ฐฐ ๋น ๋ฆ„๐Ÿš€)
- `Server`, `IoT` ๋ผ์ด์„ ์Šค ์ถ”๊ฐ€
- ์›๊ฑฐ๋ฆฌ์˜ ์—ฌ๋Ÿฌ ์ฐจ๋Ÿ‰์„ ์ธ์‹์‹œ ์ผ๋ถ€ ์ฐจ๋Ÿ‰ ๋ฒˆํ˜ธ๊ฐ€ ๋ˆ„๋ฝ๋˜๋Š” ํ˜„์ƒ ๊ฐœ์„ 
![](img/4vehicles.jpg)

## ํŠน์žฅ์ 
#### 1. ๋ฌธ์ž ์ธ์‹ ๋Šฅ๋ ฅ
- ๋ฒˆํ˜ธํŒ ๊ฐ๋„
<div>
<img style="margin-right:-5px" width="120" src="img/ex/angle1.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/angle2.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/angle3.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/angle4.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/angle5.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/angle6.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/angle7.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/angle8.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/angle9.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/angle10.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/angle11.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/angle12.jpg" />
</div>
- ๋‚ ์”จ / ์กฐ๋ช…
<div>
<img style="margin-right:-5px" width="120" src="img/ex/light1.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/light2.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/light3.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/light4.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/light5.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/light6.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/light7.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/light8.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/light9.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/light10.jpg" />
</div>
- ์˜ค์—ผ / ํ›ผ์†
<div>
<img style="margin-right:-5px" width="120" src="img/ex/dirty1.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/dirty2.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/dirty3.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/dirty4.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/dirty5.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/dirty6.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/dirty7.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/dirty8.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/dirty9.jpg" />
<img style="margin-right:-5px" width="120" src="img/ex/dirty10.jpg" />
</div>

#### 2. ๊ฐ์ข… ๋ฒˆํ˜ธํŒ ์ข…๋ฅ˜ ์ง€์›
- 360๋„ ์–ด์•ˆ ์นด๋ฉ”๋ผ ์ด๋ฏธ์ง€
- ๋คํ”„ํŠธ๋Ÿญ, ์ค‘์žฅ๋น„ ๋ฒˆํ˜ธํŒ
- ํŠน์ˆ˜ ๋ฒˆํ˜ธํŒ (์ž„์‹œ, ์™ธ๊ต, ๊ตฐ์šฉ)
- ์นœํ™˜๊ฒฝ ์ „๊ธฐ์ฐจ ๋ฒˆํ˜ธํŒ *(์ธ์‹ ๊ฒฐ๊ณผ ๋ฐ์ดํ„ฐ์— `ev`ํ•ญ๋ชฉ์ด `true / false`๋กœ ๊ตฌ๋ถ„)*
- โ€™80, โ€™90๋…„๋Œ€ ๊ตฌํ˜• ๋ฒˆํ˜ธํŒ
#### 3. ์ฃผ์š” ์šด์˜์ฒด์ œ / CPU ์•„ํ‚คํ…์ฒ˜ ์ง€์›
- ์œˆ๋„์šฐ์ฆˆ
- ์ธํ…” ๊ณ„์—ด 64๋น„ํŠธ(`windows-x86_64`), 32๋น„ํŠธ(`windows-x84`)
- ์œˆ๋„์šฐ์ฆˆ 7 ์ด์ƒ ํ˜ธํ™˜
- ๋ฆฌ๋ˆ…์Šค
- ์ธํ…” ๊ณ„์—ด 64๋น„ํŠธ(`linux-x86_64`),
- ARM ๊ณ„์—ด 64๋น„ํŠธ(`linux-aarch64`)
- ๋ฐฐํฌํŒ์— ๊ด€๊ณ„์—†์ด `glibc 2.27` ์ด์ƒ ํ˜ธํ™˜

#### 4. ๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์ง€์›
- ํŠน์ • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ์ข…์†๋˜์ง€ ์•Š๋Š” ๋ฒ”์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ธํ„ฐํŽ˜์ด์Šค
- [ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ณ„ ์˜ˆ์ œ ์ œ๊ณต](https://github.com/bobhyun/TS-ANPR/blob/main/DevGuide.md#4-%EC%98%88%EC%A0%9C) (C, C++, C#, Visual Basic, Python, JavaScript/Node.js, Go, Pascal/Delphi, Perl, Ruby)
- [์ž…๋ ฅ ์ด๋ฏธ์ง€ ํŒŒ์ผ ํ˜•์‹](https://github.com/bobhyun/TS-ANPR/blob/main/DevGuide.md#12-anpr_read_file) (bmp, jpg, png, pnm, pbm, pgm, ppm, jfif, webp)
- [์ž…๋ ฅ ์ด๋ฏธ์ง€ ๋ฉ”๋ชจ๋ฆฌ ๋ฒ„ํผ ํ”ฝ์…€ ํ˜•์‹](https://github.com/bobhyun/TS-ANPR/blob/main/DevGuide.md#13-anpr_read_pixels) (GRAY, BGRA, RGBA, RGB, BGR, BGR555, BGR565, HSV, YCrCb, I420, YV12, IYUV, NV12, NV21)
- [์ธ์‹ ๊ฒฐ๊ณผ ์ถœ๋ ฅ ํ˜•์‹](https://github.com/bobhyun/TS-ANPR/blob/main/DevGuide.md#2-output-format) (text, json, yaml, xml)

#### 5. ๋‹ค์–‘ํ•œ ๋ผ์ด์„ ์Šค ์ œ๊ณต
- ๋ฌด๋ฃŒ ํ‰๊ฐ€ํŒ ๋ผ์ด์„ ์Šค
- ๊ฐœ๋ฐœ ๋ฐ ๋ฐ๋ชจ์šฉ์œผ๋กœ ์‹œ์Šคํ…œ๋‹น ์„ค์น˜ ์ดํ›„ 30์ผ๊ฐ„ ๋ฌด๋ฃŒ ์‚ฌ์šฉ ๊ธฐ๊ฐ„ ์ œ๊ณต
- ์ƒ์šฉ ๋ผ์ด์„ ์Šค
- ๋งค์ฒด๋ณ„: USB ๋™๊ธ€, ๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๋ผ์ด์„ ์Šค ์ค‘ ์„ ํƒ
- ๊ธฐ๋Šฅ ๋ฐ ์„ฑ๋Šฅ๋ณ„: `IoT`, `Basic`, `Pro`, `Server` ์ค‘ ์‘์šฉ ์†Œํ”„ํŠธ์›จ์–ด ์š”๊ตฌ์‚ฌํ•ญ์— ๋”ฐ๋ผ ์„ ํƒ

## ์ธ์‹ ์˜ต์…˜
#### 1. ์ฐจ๋Ÿ‰ ์žฅ์ฐฉ ๊ฒ€์‚ฌ (Vehicle Mounted)
์ฐจ์ฒด๊ฐ€ ๋ณด์ด๋Š” ์ด๋ฏธ์ง€์—์„œ ์ฐจ๋Ÿ‰์— ์žฅ์ฐฉ๋œ ๋ฒˆํ˜ธํŒ์ธ์ง€ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.
**์ฐจ๋Ÿ‰ ์žฅ์ฐฉ(v)** ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์ฐจ๋Ÿ‰์— ์žฅ์ฐฉ๋œ ๋ฒˆํ˜ธํŒ๋งŒ ์ธ์‹ํ•ฉ๋‹ˆ๋‹ค.
<br/>![](img/mounted1.jpg)
Expand All @@ -42,40 +111,21 @@ TS-ANPR์€ ๋”ฅ๋Ÿฌ๋‹ ๊ธฐ๋ฐ˜์˜ ๋Œ€ํ•œ๋ฏผ๊ตญ ์ฐจ๋Ÿ‰ ๋ฒˆํ˜ธ ์ธ์‹ ์—”์ง„์ž…๋‹ˆ๋‹ค
๋ฒˆํ˜ธํŒ๋งŒ ๊ทผ์ ‘ ์ดฌ์˜๋œ ๊ฒฝ์šฐ๋Š” ์ฐจ๋Ÿ‰ ์ธ์‹์ด ์•ˆ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”๋ฐ, ์ด๋Ÿฐ ๊ฒฝ์šฐ **์ฐจ๋Ÿ‰ ์žฅ์ฐฉ(v)** ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ์ฐจ๋Ÿ‰ ๋ฒˆํ˜ธ๋ฅผ ์ธ์‹ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
<br/>![](img/mounted3.jpg)


### 2. ๋‹ค์ค‘ ์ธ์‹ (Multiple Recognition)
#### 2. ๋‹ค์ค‘ ์ธ์‹ (Multiple Recognition)
**๋‹ค์ค‘ ์ธ์‹(m)** ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋ฏธ์ง€์— ์ฐจ๋Ÿ‰์ด ์—ฌ๋Ÿฌ ๋Œ€ ์žˆ์œผ๋ฉด ๋ชจ๋‘ ์ธ์‹ํ•ฉ๋‹ˆ๋‹ค.
<br/>![](img/multiple1.jpg)

**๋‹ค์ค‘ ์ธ์‹(m)** ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ์—ฌ๋Ÿฌ ๋Œ€ ์ฐจ๋Ÿ‰ ์ค‘ ๊ฐ€์žฅ ๋ฒˆํ˜ธํŒ ์‹ ๋ขฐ๋„๊ฐ€ ๋†’์€(์ž˜ ๋ณด์ด๋Š”) ๊ฒƒ ํ•˜๋‚˜๋งŒ ์ธ์‹ํ•ฉ๋‹ˆ๋‹ค.
<br/>![](img/multiple2.jpg)


### 3. ์„œ๋ผ์šด๋“œ ์ธ์‹ (Surround Recognition)
#### 3. ์„œ๋ผ์šด๋“œ ์ธ์‹ (Surround Recognition)
**์„œ๋ผ์šด๋“œ ์ธ์‹(s)** ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์ „๋ณต๋œ ์ฐจ๋Ÿ‰ ๋˜๋Š” ์–ด์•ˆ ๋ Œ์ฆˆ ์นด๋ฉ”๋ผ๋กœ ์ดฌ์˜ํ•œ ์ฐจ๋Ÿ‰ ๋“ฑ ์ด๋ฏธ์ง€ ๋‚ด์˜ ์ฐจ๋Ÿ‰์ด ์‚ฌ๋ฐฉ์œผ๋กœ ๊ธฐ์šธ์–ด์ ธ ์žˆ๊ฑฐ๋‚˜ ๋„˜์–ด์ ธ ์žˆ๋Š” ๊ฒฝ์šฐ๋„ ์ฐจ๋Ÿ‰ ๋ฒˆํ˜ธ๋ฅผ ์ธ์‹ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
<br/>![](img/surround1.jpg)
<br/>`[์ด๋ฏธ์ง€ ์ถœ์ฒ˜: KBS]`
<br/>![](img/surround2.jpg)


## ์‚ฌ์šฉ๋ฒ•

์—”์ง„ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•œ ํ›„ ์••์ถ•์„ ํ’€๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
```
/x64 # 64bit (amd64) ๋ฐ”์ด๋„ˆ๋ฆฌ ๋””๋ ‰ํ† ๋ฆฌ
tsanpr.dll # ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (API ์ œ๊ณต)
lpvr-xxxxx.eon # ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ #1
lpocr_kr-xxxxx.eon # ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ #2
tshelper.exe # ๋„์šฐ๋ฏธ ์•ฑ (๋ผ์ด์„ ์Šค ๊ด€๋ฆฌ, Github ๋งํฌ ์ œ๊ณต)
/x86 # 32bit ๋ฐ”์ด๋„ˆ๋ฆฌ ๋””๋ ‰ํ† ๋ฆฌ
tsanpr.dll # ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (API ์ œ๊ณต)
lpvr-xxxxx.eon # ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ #1
lpocr_kr-xxxxx.eon # ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ #2
tshelper.exe # ๋„์šฐ๋ฏธ ์•ฑ (๋ผ์ด์„ ์Šค ๊ด€๋ฆฌ, Github ๋งํฌ ์ œ๊ณต)
```

`tshelper.exe` ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๋ฉด ํ•ด๋‹น ์ปดํ“จํ„ฐ์— `30์ผ ํ‰๊ฐ€ํŒ ๋ผ์ด์„ ์Šค`๊ฐ€ ์ž๋™์œผ๋กœ ์„ค์น˜๋˜๋ฉฐ, ์ด ํ›„ 30์ผ ๋™์•ˆ `TS-ANPR ํ”„๋กœ`์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
![](img/evalationLicense.jpg)

- ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ์ „ ๋‹จ๊ณ„์˜ ๊ธฐ๋ณธ์ ์ธ ์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ๋Š” [์˜จ๋ผ์ธ ๋ฐ๋ชจ ์‚ฌ์ดํŠธ http://tsnvr.ipdisk.co.kr/](http://tsnvr.ipdisk.co.kr/) ๋ฅผ ์ด์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
- ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ๋‹จ๊ณ„์—์„œ๋Š” [์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ๊ฐ€์ด๋“œ](https://github.com/bobhyun/TS-ANPR/blob/main/DevGuide.md) ์™€ ํฌํ•จ๋œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ณ„ ์˜ˆ์ œ๋“ค์„ ์ฐธ๊ณ ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.
Expand Down
Loading

0 comments on commit 0565aa5

Please sign in to comment.