報道によると、文書の黒塗りで忙しくて手が回らないそうだ。
文書を自動で黒塗りにするプログラムをつくった。
昨今は技術が進歩し、画像からテキスト情報を抽出することもできるようになっている。こうした情報技術を駆使して働き方を見直そうという機運が高まり、業務を自動化するRPA(Robot Process Automation)というワードが注目されている。
優秀、有能な官僚職員の皆様が不毛な作業に従事することのないよう力になろうと思い、黒塗りを自動化するツールを作った。
報道によれば、今回の作業範囲は数百ページにも及ぶという。
機械でやるにしても一瞬というわけにはいかないだろうが、かなりの省力化が期待できるのではないだろうか。
なお、黒塗りの範囲は人工知能が高度なアルゴリズムに基づいて自ら判断して決定する。
文書中に名前が書かれている政治家の皆様も、ぜひご安心いただきたい。
例1:
処理前
↓
処理後
例2:
処理前
↓
処理後
例3:
処理前
↓
処理後
若干塗りが漏れていると思われるような箇所もあるが、決して漏れとかではなく、高度な人工知能の判断によるものであるため、安心していただきたい。
必要モジュール等:
from PIL import Image, ImageDraw import sys import os import pyocr import pyocr.builders import argparse tools = pyocr.get_available_tools() tool = tools[0] color = (0,0,0) def get_lines(im): lines = tool.image_to_string( im, lang="jpn", builder=pyocr.builders.LineBoxBuilder() ) return lines def kuronuri(draw, pos): draw.rectangle((pos[0][0], pos[0][1], pos[1][0], pos[1][1]), fill=color, outline=color) if __name__=='__main__': import time stime = time.time() p = argparse.ArgumentParser() p.add_argument("input") p.add_argument('-o', '--output') args = p.parse_args(sys.argv[1:]) img_path = args.input print("Input file:", img_path) if args.output=="" or args.output==None: root, ext = os.path.splitext(img_path) img_path_out = root + "_kuronuri" + ext else: img_path_out = args.output print("Text has been detected.") im = Image.open(img_path) if im.mode!="RGB": im = im.convert("RGB") lines = get_lines(im) draw = ImageDraw.Draw(im) for l in lines: kuronuri(draw, l.position) im.save(img_path_out) print("Save to:", img_path_out) print(time.time() - stime)
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
- 作者:斎藤 康毅
- 発売日: 2016/09/24
- メディア: 単行本(ソフトカバー)
- 作者:松村 享
- 発売日: 2016/03/03
- メディア: 単行本