디지털디스플레이 OCR(7 Segments OCR)


seven_segments 이미지 처리 플랫폼을 사용하면 Home Assistant를 통해 실제 7 개의 세그먼트 디스플레이를 읽을 수 있습니다. ssocrcamera에 의해 관찰되는 디스플레이에 표시된 값을 추출하는데 사용됩니다.

Hass.io를 사용하는 경우 모든 요구 사항이 이미 충족되었으므로 설정으로 이동하십시오.

시스템에서 ssocr을 사용할 수 있어야합니다. 아래 설치 지침을 확인하십시오.

sudo dnf -y install imlib2-devel # Fedora
sudo apt install libimlib2-dev # Ubuntu
brew install imlib2 # macOS
git clone https://github.com/auerswal/ssocr.git
cd ssocr
make
sudo make PREFIX=/usr install # On most systems
make deb # (Optional) This allows you to make a deb so that you apt is aware of ssocr

설치시 7 세그먼트 디스플레이의 OCR을 활성화하려면 configuration.yaml 파일에 다음을 추가하십시오.

# Example configuration.yaml entry
image_processing:
  - platform: seven_segments
    source:
      - entity_id: camera.seven_segments

Configuration Variables

ssocr_bin

(string)(Optional)

The command line tool ssocr. Set it if you use a different name for the executable.

Default value:

ssocr

x_position

(integer)(Optional)

X coordinate of the upper left corner of the area to crop.

Default value:

0

y_position

(integer)(Optional)

Y coordinate of the upper left corner of the area to crop.

Default value:

0

height

(integer)(Optional)

Height of the area to crop.

Default value:

0

width

(integer)(Optional)

Width of the area to crop.

Default value:

0

rotate

(integer)(Optional)

Rotation of the image.

Default value:

0

threshold

(integer)(Optional)

Threshold for the difference between the digits and the background.

Default value:

0

digits

(integer)(Optional)

Number of digits in the display.

Default value:

-1

extra_arguments

(string)(Optional)

Other arguments to use. Like -D, dilation, erosion, greyscale, make_mono, etc.

source

(list)(Required)

List of image sources.

entity_id

(string)(Required)

A camera entity id to get picture from.

name

(string)(Optional)

This parameter allows you to override the name of your image_processing entity.

셋업 프로세스

필요한 파라미터를 결정하는 첫 번째 시도는 ssocr을 직접 사용하는 것입니다. 결과를 얻으려면 몇 번의 반복이 필요할 수 있습니다.

$ ssocr -D erosion crop 390 250 490 280 -t 20 -d 4 seven-seg.png

This would lead to the following entry for the configuration.yaml file:

camera:
  - platform: local_file
    file_path: /home/homeassistant/.homeassistant/seven-seg.png
    name: seven_segments
image_processing:
  - platform: seven_segments
    x_position: 390
    y_position: 250
    height: 280
    width: 490
    threshold: 20
    digits: 4
    source:
      - entity_id: camera.seven_segments

template sensor의 도움으로 값을 badge로 표시 할 수 있습니다.

sensor:
  - platform: template
    sensors:
      power_meter:
        value_template: '{{ states('image_processing.sevensegment_ocr_seven_segments') }}'
        friendly_name: 'Ampere'
        unit_of_measurement: 'A'