ImageMagick | Python 2 (v2.6.6) > 파일 이름에서 날짜와 시간을 가져 와서 이미지에 날짜 및 시간 레이블 추가 > label_image_171005.py v0.1 > subprocess.call에서 항목 중 하나에 공백이 있으면 피하십시오. .split()
Xeon E5-2620 v4 (8コア) x 2
32GB RAM
CentOS 6.8 (64bit)
openmpi-1.8.x86_64 とその-devel
mpich.x86_64 3.1-5.el6とその-devel
gcc version 4.4.7 (とgfortran)
NCAR Command Language Version 6.3.0
WRF v3.7.1を使用。
Python 2.6.6 (r266:84292, Aug 18 2016, 15:13:37)
Python 3.6.0 on virtualenv
GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)
관련
파이썬 > regex | slice > AAA_20170228_030000_BBB.png | re.sub()에서 문자 대체
처리 내용
2017/02/28 03:00
라는 레이블을 추가합니다. 참고
ImageMagick 이미지에 문자 넣기
코드 v0.1
label_image_171005.py
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import sys
import re
import sys
import subprocess as sb
# on Python 2.6.6
# ImageMagick 6.7.2-7
# coding rule: PEP8
# v0.1 Oct. 5, 2017
# - execute convert command to add label to the image
# - add get_datetime_label()
# - add debug_make_dummy()
def debug_make_dummy():
acmd = "convert -size 430x360 xc:white AAA_20170228_030000_BBB.png"
sb.call(acmd.split())
def get_datetime_label(filename):
# input(filename): e.g. AAA_20170228_030000_BBB.png
#
date_hhnn = re.sub(r'.*_(\d{4})(\d{2})(\d{2})_(\d{2})(\d{2})(\d{2})_.*',
r'\1/\2/\3 \4:\5',
filename)
return date_hhnn
# @spec
# convert -pointsize 20 -annotate +80+50 '2017/02/28 03:00'
# AAA_20170228_030000_BBB.png out_labeled.png
SEPARATOR = "=" # prevent separation by " " of the date_hhnn
IMG_CMD = "convert"
PARAM = "-pointsize 20 -annotate +80+50"
aparam = PARAM.replace(" ", SEPARATOR)
TEXT = "WHITE"
SRC = "AAA_20170228_030000_BBB.png"
DST = "out_labeled.png"
#debug
debug_make_dummy()
#
albl = get_datetime_label(SRC)
print(albl)
acmd = "=".join([IMG_CMD, aparam, albl, SRC, DST])
cmdlist = acmd.split(SEPARATOR) # prevent separation by " " of the date_time
print(cmdlist)
sb.call(cmdlist)
실행
2017/02/28 03:00
['convert', '-pointsize', '20', '-annotate', '+80+50', '2017/02/28 03:00', 'AAA_20170228_030000_BBB.png', 'out_labeled.png']
out_labeled.png가 생성됩니다.
생성 이미지
흠집
sb.call(cmdlist)시에 split()이라고 하면 「2017/02/28 03:00」문자열중의 공백도 분리 대상이 되었다.
"="를 구분 기호로 설정하여 해결했습니다. 깔끔한 방법이 아니다.
가르쳐 주신 항목
@shiracamus 씨의 코멘트 에서 분명한 방법을 가르쳐 주셨습니다.
정보 감사입니다.
Reference
이 문제에 관하여(ImageMagick | Python 2 (v2.6.6) > 파일 이름에서 날짜와 시간을 가져 와서 이미지에 날짜 및 시간 레이블 추가 > label_image_171005.py v0.1 > subprocess.call에서 항목 중 하나에 공백이 있으면 피하십시오. .split()), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/7of9/items/75e04bcc6baafe62b6f6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)