ほんじゃーねっと

おっさんがやせたがったり食べたがったりする日常エッセイ

OpenCV + Node.js で画像からぬりえ用の線画をつくる

f:id:piro_suke:20190405013029j:plain

画像処理で遊びたいな、と思い立ったので、 以前PythonとOpenCVで作成した画像線画化スクリプトを Node.jsで作成しなおしてみました。

blog.honjala.net

OpenCVはPythonと使うのがやはり一番使いやすいのですが、 Javascript用APIも提供されているので、 Webページ上のJavascriptやNode.jsからでも利用することができます。

docs.opencv.org

しかし試してみるとNode.jsから生でOpenCV.jsを使うのはcanvasを利用することを 前提にしていたりしてなかなか手強く、うまくいかなかったので、 「opencv4nodejs」というライブラリを使うことにしました。

www.npmjs.com

こちらはOpenCVの関数をNode.jsからいい感じで使えるようにしてくれていて、 Pythonで書いた処理をNode.js用に書き換えるだけでサクッと動いてくれました。

作成した画像線画化スクリプトはこんな感じになりました:

Convert Image Files To Line Drawings With OpenCV A ...

「SOURCE_DIRECTORY_PATH」に画像が入ったフォルダを指定して、 「DEST_DIRECTORY_PATH」に出力先フォルダを指定すると、 JPEG画像を一括で線画に変換して出力します。

おわり

これでいろいろOpenCVの機能を使って遊べそうです。

詳解 OpenCV 3 ―コンピュータビジョンライブラリを使った画像処理・認識

詳解 OpenCV 3 ―コンピュータビジョンライブラリを使った画像処理・認識

  • 作者: Gary Bradski,Adrian Kaehler,松田晃一,小沼千絵,永田雅人,花形理
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2018/05/26
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る