• ベストアンサー

画像に文字をプログラムで埋め込む

画像処理はしたことがなくこの方面の知識が無いです。 JPGファイルの隅に、数文字をプログラムで埋め込みたいです。2、3百枚くらいなので、1枚ずつ手作業というのは避けたいです。 どういうライブラリを使うのが良いでしょうか? 言語はRuby/Pythonくらいだとありがたいです。 もしプラットフォーム依存のライブラリの場合はWIndowsかLinuxで。 プログラムを自分で書くのではなく、そういう機能のあるWindowsアプリがあるのならそれでもいいです。 検索しても、ファイル名のリネームのことだったり、手作業のことだったりで、ノイズが多くてちょっと探せません。

  • notnot
  • お礼率77% (192/248)

質問者が選んだベストアンサー

  • ベストアンサー
  • wek00
  • ベストアンサー率62% (90/145)
回答No.2

ImageMagick GraphicsMagick OpenCV + Python でも文字入れできるようです。 https://www.mk-mode.com/blog/2013/09/16/imagemagick-write-shapes-by-commandline/ ImageMagick - コマンドラインで図形描画! - mk-mode BLOG https://www.atmarkit.co.jp/ait/articles/1809/25/news020.html コマンドラインで画像処理が行える便利ツール「ImageMagick」:知っトクWindowsツール(1/2 ページ) - @IT http://www.graphicsmagick.org/GraphicsMagick.html#details-draw https://www.oit.ac.jp/is/nishiguchi-lab/?OpenCV-Python+%E6%BC%94%E7%BF%92/tutorial_009py OpenCV-Python 演習/tutorial_009py 文字列を描画する https://note.nkmk.me/python-opencv-imread-imwrite/ Python, OpenCVで画像ファイルの読み込み、保存(imread, imwrite) | note.nkmk.me

notnot
質問者

お礼

ありがとうございます。 ImageMagick で、コマンド起動だけで出来そうです。 magick convert -gravity NorthEast -pointsize 64 -fill white -annotate +10+10 "XYZ abc" foo.jpg foo-out.jpg これを使うことにします。

その他の回答 (1)

  • Kirama
  • ベストアンサー率54% (45/82)
回答No.1

一括で処理できます。 IrfanView https://forest.watch.impress.co.jp/library/software/irfanview/ https://www.irfanview.com/languages.htm ↑Japanese (help file included) Installer or ZIP でインストール(zipの場合は Languages フォルダに入れる) Options → Change language... → 日本語 → OK ファイル → 一括変換/名前の変更(B)... 対象フォルダを開く → すべて追加 → 「詳細オプションを使用・・・」をチェック → 詳細 → 「テキスト追加」をチェック → 詳細 → 右上 → テキストを入力 → OK → OK → 一括処理開始 テキストの入力欄に $E41 と入力すると連番で埋め込まれます。 テキスト入力欄の下にある「ヘルプ」に詳細があります。 透明度も変えられるのですごく便利です。

notnot
質問者

お礼

ありがとうございます。IrfanViewですか。二昔くらい前にすこし使ったことがありますが、その後必要性がなくずっと使ってませんでした。こんな機能があったとは。 一律しか出来ないのか?? と思ったのですが、ファイル名が埋め込めるので、一時的にファイル名を埋め込みたい文字列にリネームしてから実行すれば出来そうです。 ありがとうございました。

関連するQ&A

  • Javaで作製したプログラムはJVMがなければ動かない?

    Javaはまったく知らないのですが、 windowsでも動く(私の開発環境はLinuxです)webクライアントプログラムを作製したいと思い、 ネットワークに強くかつプラットフォーム非依存ということでjavaに興味をもちました。 JavaはJVMをOSとの間に挟むことでプラットフォーム非依存を実現していると理解しているのですが、 これは、逆にいえばJVMがなければ動かせないと思ってよいでしょうか? (Perlがコンパイラがインストールされていさえすればプラットフォーム非依存、しかしなければ決して動かないように。) それとも、プラットフォーム依存な形にまでコンパイルするということも可能なのでしょうか? もしJVMがなければ動かない場合、将来フリーソフトとして公開したいと思った場合、わざわざユーザ側でJVMをインストールしなければいけないですが、このことは問題にならないでしょうか? (VC++で書けばプラットフォームに依存するでしょうが、とにかくプログラムをダウンロードするだけで動くのに対し、ユーザに煩わしさを感じさせると思うのですがどうでしょう?それが理由でフリーソフトをjavaで書くことはあまりないないことなのかな?と感じています。) 質問をまとめますと、 1) JavaプログラムはJVMがなければ動かないのか? 2) 将来フリーソフトとして公開することを考えているのならJavaで開発するは避けた方がよいのか? です。よろしくお願いします。

    • ベストアンサー
    • Java
  • linuxで使うライブラリを作成する方法

    rubyで作ったプログラムから linuxの静的ライブラリ、動的ライブラリを作る方法が あるでしょうか?

    • ベストアンサー
    • Ruby
  • Pythonのプログラムの実行の考え方について

    pythonの教科書のサンプルの実行についてお尋ねします。 テキストのサンプルには普通、インタープリターで書いてあるものと、プログラムをファイルに書き出してそれをコマンドで一気に処理するもの(こちらの方が他の言語の実行に近いか)の2通りがあります。 インタープリター向きに記述されたものをファイルに書き出してpythonコマンドで、インタープリターと同じように実行するにはどのような書き換えが必要になるのでしょうか。結果を出力するときにインタープリターでは配列名を入力するだけでその内容が出力されたりしますが、ファイルではそれができないのでコマンドを指定するとかになると思いますが、他になにかあるでしょうか。 ファイルに書き出したプログラムの実行ですが、Pythonコマンドを実行しても実行形式の出力がないのでコンパイルではないわけですが、これはバッチとかシェルスクリプトと同じような意味になるのでしょうか。1行1行実行していくということですが。とするとインタープリターと同じになるのかなと思うのですが。 実行形式が単体のファイルとして出力されて単体として実行できるというのは従来のプログラム(C,Fortranなど)ですが、Pythonはそれがないわけですね。Ruby, Perlに近いものなのでしょうか。速度が求められる科学技術計算ではライブラリを導入して高速化できるということですが、どの程度かなと思いますが。その中間的なものがJavaなのかなと思いますが(半分実行ファイルみたな)。 たぶんベタな質問と思いますが、よろしくお願いします。

  • ファイルメーカーで効率の良い画像の取り込み方

    win2000/ファイルメーカーpro6を使い、商品データベースを作っています。 1、3000ほどある商品のjpg画像を各レコードに取り込みたいと思っています。1個1個手作業で、「ピクチャを挿入」していくのは面倒なため、何か効率よく一挙に取り込める方法はないでしょうか。 2、「ファイルの参照データのみ保存」のほうが軽くなると聞きました。もしそうしなかった場合、取り込んだ画像ファイルというのはどこに保存されるのでしょうか?単にfp5ファイルが膨れ上がるだけ? 3、jpgの「ピクチャを挿入」しようとすると、拡張子がjpgだと選択できるのですが、jpegとなっているファイルは一覧に表示されず選択できません。この場合、jpeg→jpgにリネームするしかないでしょうか。 以上、よろしくお願いいたします。

  • pythonによるプログラムのコンパイルと実行

    Linux上ではプログラムの実行ファイルの作成は基本はmakeだったと思います。ワンパターンでmakeでMakefileに書いてあることが淡々と進行して実行ファイルができ、それを./abcなどと入力して実行する、そういうパターンだったと思います。make cleanとかおなじみだったと思います。最近はsetup.pyのようなものが用意されてpython setup.pyとすればコンパイルとか実行もそれだけでやってくれます。これは従来のmake系のこととはかなり違いますが、一方でpythonの中でmakeされているということになるのでしょうか。つまり、見た目が違うけれども裏側でやっていることは同じというコンセプトです。この辺をどう理解したらいいのでしょうか。pythonをc++, Javaのようなものと同格のもの捉えるものではないということになるのでしょうか。上記はunix, Linuxの例でしたが、Windows,Macではどういう位置づけになるのでしょうか。pythonを別格と考えるべきものでしょうか。

  • テキストファイルを分割&ページ数を追記しHTMLファイルにするプログラム

    テキストファイルを分割&ページ数を追記しHTMLファイルにするプログラムを教えてください。 (Perl/Ruby/Pythonのいずれかで) テキストファイルを分割&ページ数を追記しHTMLファイルにするプログラムを教えてください。 (Perl/Ruby/Pythonのいずれかで) 手元にあるテキストファイルを指定の行数(もしくは文字数)で分割しHTMLファイルにしたいと考えています。 [sample.txt(10分割)→1.html~10.html] フリーの分割ソフトはあるようですが ・分割とHTML化を同時にしたい ・ページ下部にファイルに対応したページ番号がつけたい  (1.htmlの下部に:<p>1ページ</p>のようなイメージ) ・最近プログラミングの勉強をしていていろんなコードを見てみたい という理由で利用しないつもりです。 何卒よろしくお願いいたします。

  • 画像ファイルをリネームをしつつ、ディレクトリ分けをしたい

    ファイルを連番にしないと作業ができないソフトを使用して画像処理を行うことになりました。 そのため、ソースのデータファイルのディレクトリ構造操作と、 リネームを行いたいのですが、何か簡便な方法をご存知の方がいらっしゃいましたらご助言お願いしたいと思います。 【作業工程】 <ソース>※####部分は、0001~0050の連番ファイルです。 /test/a/test_a.####.jpg(50file) /test/b/test_b.####.jpg(50file) /test/c/test_c.####.jpg(50file) /test/d/test_d.####.jpg(50file) 上記200fileを、 /test/test/test_####.jpg と、連番にします。 ※####部分は、0001~0200の連番ファイルです。 画像処理ソフトにて、作業終了後、 元のディレクトリ構造とファイル名に戻したいのですが…。 現在は手動でディレクトリ分けをしてからフリーソフトでリネームしております。 画像処理ソフトの仕様はどうしても変更がきかないので困っております。 「Flexible Renamer」で、そのような処理を行える、という意見もお聞きしたのですが、方法がわかりません。 精通された方がいらっしゃいましたら、ご助言よろしくお願い致します。

  • pythonコマンドでオプションを使いたい

    現在raspberry piでpythonを使ったプログラムをやっています。pythonのコードで、linuxのコマンドのように、複数のオプションを設定して、それに応じた結果を返すようにしたいです。 そのようなことを実現する方法としてpythonにはパースという機能があるというのを知ったのですが、 http://docs.python.jp/2/library/argparse.html こちらのサイトに載っている $ python prog.py 1 2 3 4 4 $ python prog.py 1 2 3 4 --sum 10 このように複数のオプションのを設定してその合計を出力するような例が載っていたのですが、このプログラムをどのように書けば良いか、具体的によくわかりません。 ご教示いただきますよう、よろしくお願い致します。

  • Rubyプログラムヘッダ部分の書き方

    度々すみませんが、他人のRubyプログラムを試しながら勉強しているのです。 今回の質問はプログラムの先頭の書き方です。ご存知の方にご教示を頂きたいのです。 ついでに、こちらの動作環境はLinux-Mint、Ruby1.9.3です。 次のはサンプルプログラムの先頭の5行です。  1 #!/usr/bin/env ruby  2 # -*- mode:ruby; coding:utf-8 -*-  3 require 'kconv'  4 require 'moji'  5 Encoding.default_external = "utf-8" 質問1: 2行目は処理する文字コードがUTF-8の指定に見えます。どんな場合に必要ですか。 実はあるプログラムをUTF-8のデータを処理するときに、2行目があると invalid multibyte char (UTF-8) のエラーが出ました。抜いたら正常処理します。 質問2: 3、4行目は、日本語処理のクラスを利用するためのライブラリ指定ですが、 使い分けがよく分からないのです。 質問3: 5行目はどんな場合に必要でしょうか。2行目と同じような役割に見えますが.... 初歩的な質問ばかりですが、どうぞよろしくお願いいたします。

    • ベストアンサー
    • Ruby
  • ファイルを整理するソフトが欲しい

    例えば、 「ひとつのフォルダの中にたくさんのフォルダが あり、それぞれのフォルダの中に1.jpg、2.jpg、3.jpg …と連番のファイルがたくさん保存されています。 これらのファイルを、「ひとつのフォルダのなかに 連番を振りなおして全部まとめる」というような作業をしたいのです。 あるいは、「複雑な階層のフォルダの中から、 JPGファイルだけをすべて抜き出し、ひとつの フォルダにまとめて、ファイル名の重複するものは 1a.jpg、1b.jpgのようにファイル名をリネーム する、といったような作業もしたいのです。 プログラマーであれば簡単な作業だと思いますが、 残念ながらプログラミングのスキルがありません。 このような作業のできるフリーソフトは ないでしょうか? (何でこんなことがしたいのか、ピンと来る方は すぐわかると思いますが、ツッコミはなしで お願いします) あるいは、DOSのコマンドだけでも このようなことができるのでしたら、やり方を 教えていただければ幸いです。 よろしくお願いいたします。