Pythhon 이미지의 세로 폭을 검사하는 간단한 도구

2608 단어 Python3pillowPython

전언


다음과 같은 이미지 그룹이 있습니다.

여기서 이미지 크기가 잘못된 (빨간색 이미지) 를 검사해야 합니다.
보통 GUI에서 보면 이런 느낌이에요.

빨간색 이미지 크기가 다른 이미지
실제 이미지는 모두 다른 디자인이기 때문에 이것만으로는 이미지를 판별할 수 없다.
이런 GUI 도구들이 많이 보이네요.
그림의 수가 많기 때문에 GUI 도구는 무겁고 보기 흉합니다.

너 뭐 하고 싶어?


나는 가능한 한 가볍게 검사하고 싶다.

무엇 때문에


나는 간단한 처리로 처리하고 싶다.

해본 일


파이톤으로 처리했습니다.
Python의 이미지 처리 라이브러리 Pillow를 사용합니다.
pip 등을 통해 간단하게 설치할 수 있습니다.
https://pillow.readthedocs.io/en/stable/
import glob
from PIL import Image

# 処理
def main(x, y, type_str, path, file_type):
    files = glob.glob(path + file_type)
    ng_cnt = 0
    ok_cnt = 0

    for file in files:
        sample = Image.open(file)
        sizestr = str(sample.size)
        chkstr_yoko = '(' + str(x) + ', ' + str(y) + ')'
        chkstr_tate = '(' + str(y) + ', ' + str(x) + ')'

        if sizestr != chkstr_yoko and sizestr != chkstr_tate:
            print('NG:' + file)
            ng_cnt = ng_cnt + 1
        else:
            ok_cnt = ok_cnt + 1
        #    print('OK:' + file)
        # print(chkstr)

    print()
    print(type_str)
    print('Tate: W = ' + str(y) + ', H = ' + str(x) +
          ' / Yoko: W = ' + str(x) + ', H = ' + str(y))
    print('OK:' + str(ok_cnt))
    print('NG:' + str(ng_cnt))

# チェックする画像サイズを定義
x = 150
y = 100
path = '/Users/sawai/images/'
file_type = '/*.png'
type_str = '# Test_Image'

# 処理呼び出し
main(x, y, type_str, path, file_type)
그림 크기와 경로가 논리에 적혀 있습니다
다른 파일이나 명령행 인자도 정의할 수 있다고 생각합니다.

실행 결과


이런 느낌으로 사이즈가 다른 이미지를 골랐어요.
처리 속도도 힘들지 않고 몇 초 만에 완성되었다.

총결산


PHP를 비즈니스에 직접 쓸 수 있는 기회가 많습니다.
약간의 시기, 약간의 이유를 만들다
흥미로운 언어로 쓸 기회를 만드는 것도 중요하다.
(실제 비즈니스에서 사용할 수 있는 기회가 많지 않을 것입니다.)
당연하다
다른 임무의 자원을 모두 먹기 전에 가열하지 않는다.
뭐, 나는 논리를 쓰는 것이 매우 즐거운 일이라고 생각한다(웃음)

좋은 웹페이지 즐겨찾기