内製ツールの紹介

内務のアナログ作業の”面倒くさい”を解消する、内製ツールをサラッと紹介しています
ものぐさなので「楽するための苦労」を頑張ってます。

メールでのお問い合わせはお断りしています(メモ書き程度なので、答えられるほど理解が進んでいない)
オープンソースの流用が含まれているため、個人使用の範囲で活用しています。

定点観測カメラの画像をホームページで自動公開する(更新中)

本社庭園の桜をホームページに自動配信するためのシステムを作成しました。

条件

(1)楽したい
本業はエンジニアなので修理の仕事があります。庭をデジカメ撮影してアップロードするのは面倒だし、飽きてきて5分もすると忘れる(ニワトリ以下w)
存在を主張せず、完全放置で淡々と動く自律システムが理想(人間も同じだなw)

(2)安い
業務用の監視カメラに適切な機能があるようだが、不要な機能が多い上に実験で買うのには高い。

(3)早く
桜の季節はすぐそこ

…..と、某牛丼屋バリのキツイ要件。
ピッタリはまるソフトを探しても無いので、もう作ったほうが楽だなと。

解決方法

(1)以前に作成したQRコードリーダーのソースを流用(らくちん)

(2)余り物のWindows7の備品PC(マジで遅い)と、ドライブレコーダーを合体(安い)
これは¥980で買った画質最悪な代物。細部が映らないのでプライバシー保護には有用。
このドラレコの特筆すべき点は、起動時にブガッティ シロン風の画像が表示されることw。高級外車を颯爽と乗りこなせるナイスミドルに私はなりたいw

(3)Pythonの標準ライブラリftplibを使用し、撮影画像を5分間隔でftpサーバへ送信する。半分寝ながら2時間程度で作れた(早い)
が、諸般の理由でホームページ側の処理のほうが時間かかった。

実機に興味のある方は(株)セキリョウの窓際を覗いてみてください。タイミングが合えば、イケジョ、イケメンが手持ちのスマホに表示されますw
実際の画像はメニューからライブカメラのページを見てね。

ただ、プライバシーを考慮して、動体、顔検知を実装したので、人物が写ってる間はアップロードをキャンセルする仕様になりました。
土日、夜間は防犯カメラとして活用しようかなとか考えてます。自動車のナンバー読み取りも入れてみたい。

そういえば仕事柄、たまに土曜当番で事務所に詰めています。
夕方帰るときに、裏門が一人幅で開きっぱなしになっているときがあり、おそらく、敷地内を散歩かなにかで通過して裏門閉めない方がいらっしゃる思います。
発生条件としては、雨天以外毎回、15:00~17:00あたり。

いや~、冬場キンキンに冷えた重い裏門を、雪の降るなか素手で触れて閉めるのシンドいんですよね~(^O^)。困っちゃいますよね~(*^^*)

















開  け  た  ら  閉  め  て  ね(にっこり)

XEROX複写機のスキャナー機能を活用した、定型業務を効率化させる内製ソフトウェアです。

(備忘録程度の記事です)

官公庁メーター回収の省力化の実験

毎月1回、設置してある複数のコピー機の画面に表示されるメーターを下記条件で処理します。
1: 往復ハガキに手書きで、2枚分メーターを記入する。
2: 往復ハガキの半券を顧客に手渡す。
3: 残りの半券を持ち帰り、A4用紙のシリアルが一致する行に転記しFAX送信する。

( 問 題 )
・目視でハガキ2枚分、A4用紙、合計3枚の数値を台数分間違いなく手書きで記入する必要がある。
・エンジニアとして点検作業も同時にこなす、顧客に話しかけられるので気が散る。
…などなどの要因でミスが多発していた。

・・・1~2は顧客要求により変更不可のため、社内作業(3)部分を改善することを目標に、既存ライブラリを活用しつつ開発をしました( Python + openCV )

( 解決方法の候補 )
0:メーターの電子送信機能を使う
1:複合機からメーターがプリントできるので、OCRしてcsv化
2:ハガキの手書きを切り取りA4用紙にまとめる
3:Androidスマホで、メーター画面をスキャンするソフトを作る

0は機能として存在するのですよ。しかし顧客要望で使えない。

1は整形されたテキストなので簡単に実装できたのだが、手書きで残す強い要望があるため没。3はノウハウが無いの研究課題とし没。結果2の方法で進めることとした。

**要はA4用紙1枚に、シリアルが一致した複数のハガキの手書き数値を切り取り合成するソフトウェアです。

( おおまかな動作ロジック )

前提条件として、カウンターは手書き、その他は印刷されたテキスト。


(1) A4用紙の最上段のタイトル文字列とその座標を取得
この座標はすべてのOCR位置補正(以下レジと表記)の基準点となる。
タイトル文字列の座標は固定であるが、DADF、スキャナー個体差を吸収、座標ズレ+-10mm程度の許容を目的とする。大幅に外れる場合はエラーを発生させ、以降の処理を中断する。
(2) A4用紙のn=1列目のシリアルを取得。前記のレジ補正を活用し、OCR精度向上が図られる。
(2) 予めスキャンしておいた複数枚ハガキのh=1枚目シリアルを取得。
(3) (2)のn番目のシリアルと比較、一致した場合はハガキの手書きの部分を切り取り、裏写り、ノイズ、基準線の部分をInpainting処理で消去、Xサイズを-12%してA4の原稿のレジ補正後に正確に合成する。合成後n++ & h=0とし次行へ処理を移行。
n==最終行の場合は(5)へ
(4)シリアルが一致しない場合、次のハガキへ処理を移行し(3)へ戻る。h++
(5)A4用紙最終行のシリアルまで処理を完了すると、jpegファイルとして出力、画面にエラー発生カウントを表示して終了とする。

すべてのOCR処理でシリアルが認識できない場合は、処理をスキップ、空欄とするので問題は発生しない。

デジタル処理であるので、合成回数に関わらず、画質劣化はJpegファイル圧縮、書き出し時の一回のみである。

プロが見れば簡単なようだが、学生時代C言語を齧った程度の経験なので、現実に動作するソフトウェアとして形になるには苦労の連続であった。

今回の実験で、退屈な定形作業を、部分的にでもデジタル処理に置き換えることによる正確な処理のメリットは多大であると思う。早く、安く(時間は高価)、ミスはゼロ。属人性が無くなるので誰がやっても同一品質。
綿々と続く手書き集計を強いる理由はあるのだろうが、ローテク相手にテクノロジーで代替できる手段を得たのは良いことだろう。
いままで、出来なかったことが やらないだけになった。

最後に、日々向き合っているデジタル複写機のイメージング処理、特にESS内部のOCR高精度化のコツ、合成、ノイズ除去、Inpainting処理の理解が深まったのも収穫であった。

PDF軽量化

複合機でスキャンしたPDFが、容量超過でメール送信できない時に、約1/7にかんたん圧縮するツールです。
PDFをJpeg画像単位に分解し、PDFに1/7再圧縮するだけの簡単なソフトウェアです。

体温スキャナー

玄関に体温スキャナーが設置されたので、購入価格を調べてみると20万円くらいだとか(!)
おもしろそうなので、パチもんをでっち上げてみた。
python+openCVでサンプルプログラム改造して、なんと一画面程度で実装できた。簡単すぎる。
オブジェクト指向の勉強がてらの作成で詳細は勉強中。
部材としては、パソコンと放置してあるドラレコを使用。
肝心の赤外線温度センサーは無いので(高くて買えない)、顔を検知、追尾、JPEG保存するだけのポンコツ完成。20人程度まで同時追尾するぞ。

WordPress.com でサイトを作成
始めてみよう
%d人のブロガーが「いいね」をつけました。