タグ

プログラミングと画像に関するiwwのブックマーク (33)

  • JPEG画像にJavaScriptのコードを埋め込んでみる | みどりのさるのエンジニア

    JPEG画像にJavaScriptのコードを埋め込む手法が紹介されていたので試してみました。 今回は次の画像に対してコードの埋め込んでみます。 注意 この記事は攻撃方法を知ることでセキュリティを学ぶことを前提としており、実験も仮想環境上で実行しています。 決して外部サイトに対して実行しないようにしてください。 画像のバイナリを見てみる 今回試す方法は画像のバイナリを変更してコードを埋め込んでいます。 そこで、最初は画像のバイナリを確認してみます。 $ hexdump -C donarudo.jpg | head -n 5 00000000 ff d8 ff e0 00 10 4a 46 49 46 00 01 01 00 00 01 |......JFIF......| 00000010 00 01 00 00 ff e1 00 6c 45 78 69 66 00 00 49 49 |..

    JPEG画像にJavaScriptのコードを埋め込んでみる | みどりのさるのエンジニア
  • Miguフォント : M+とIPAの合成フォント

    -○●の意味:-は非対応、○はある程度対応、●はフル対応 等幅 or プロポーショナル 半角英数字の、次の文字までの距離が文字ごとに異なると、プロポーショナル(可変幅)フォントと呼びます。距離が一定なら「等幅(とうはば)」フォントと呼びます。 全角ひらがな・カタカナもプロポーショナル プロポーショナルフォントの中にも、全角ひらがな・カタカナが可変幅なものと等幅があります。Migu 1Cでは全角ひらがな・全角カタカナ・役物(「」『』【】・の7文字)を可変幅にしました。 行間(縦の高さ) 行間は、適度に広いと文を読みやすくなります。しかし等幅フォントが使われる分野のひとつ、プログラミングでは「行間をせまくして、画面に より多くの行を表示できる」ほうが好まれます。 半濁点が大きい 半濁点(ぱぴぷぺぽパピプペポ の右上の円)を大きくして、濁点と判別しやすくしています。 0O(数字ゼロ・大文字オー)

    Miguフォント : M+とIPAの合成フォント
    iww
    iww 2017/11/27
    Migu 1M は等幅フォントの決定版。 全角文字が正しく半角の倍の大きさで、ボールドにしても文字幅が大きくならないのが使いやすい。 これで、等幅フォントの対応が全然甘いエディタでも戦えるようになる。
  • エンジニアの夫が暇そうな私に「サーバーでも立ててみたらどうかな」と言うので素直に従った結果→「それちょっとほしい」「普通に応用がきくシステムじゃん」

    トモエ @tomoe_1129 夫はエンジニアなのでわたしが暇そうにしてるとすぐに「トモエもサーバーでも立ててみたらどうかな」とか言ってくるし、わたしも素直に従って妊娠中の暇な期間に「近所のが庭を通った瞬間に自動撮影、画像をサーバーに保存」みたいなどうでもいいシステムを構築してしまった。 2016-07-11 23:21:01 トモエ @tomoe_1129 以前からわたしをフォローしてくださってる方は散々センサーで撮影されたの画像を見たと思うんですけど、雪とか雹が降ったときには自動で1000枚くらい撮影されちゃうから可愛い画像探すの大変だったんすよ…動体検知だから… 2016-07-11 23:46:52 トモエ @tomoe_1129 ねこ監視システムはネットワークカメラとパソコンがあればすぐできますよ。わたしは余ってるパソコン使いましたけど、家庭用ならNASでいいと思いますし、わ

    エンジニアの夫が暇そうな私に「サーバーでも立ててみたらどうかな」と言うので素直に従った結果→「それちょっとほしい」「普通に応用がきくシステムじゃん」
  • Amazon.com: :

    iww
    iww 2016/04/07
    画像サンプル「レナ」
  • CreateJSとNode.jsを使ってサーバーサイドでCanvasを扱おう–ICS LAB

    HTML5 Canvasのフレームワーク「CreateJS」(基的な使い方は入門サイトをご覧ください)について、2015年2月10日に開催されたCreateJS勉強会 (第5回) でライトニングトーク「CreateJSとNode.jsを使ってサーバーでCanvas要素を使おう」を発表しました。今回はそのスライドを元に、サーバーサイドでCreateJSを使うメリットを紹介します。 デモ 今回紹介するnode-easelを使ったデモです。スマホ画面にTwitterのアイコンが、PC画面には白い矩形が表示されています。スマホで選んだTwitterのユーザーのアイコンがPC側でアニメーションします。画像加工はサーバーサイドで動くCreateJSを使って行われています。 Section1. Node.jsとモジュールについて Node.jsはブラウザではなくサーバーサイドで動くJavaScript

    CreateJSとNode.jsを使ってサーバーサイドでCanvasを扱おう–ICS LAB
    iww
    iww 2015/05/29
    サーバサイドでCanvasを使う
  • JavaScript を PNG に圧縮する | Yomotsu net

    JavaScript を PNG に圧縮するツールを作りました。JS_Packer demoscene は最近 WebGL を使ったものも多くなってきています。 demoecene は基的に ローカルにファイルとして存在しているものを使う そのファイル容量は 1 バイトでも少ないほうがいい (容量制限がある分野がある) という文化です。そして JS ファイルを圧縮する手法の一つに、JS を PNG 画像にして、それをデコードする、という手法が存在します。 JS の性質JS のコードは基的にアスキー文字の集まりです。アスキーコードは、小文字/大文字のアルファベット、数字、スペースといった 128 種類しか存在しません。 PNG8 の性質8 ビット PNG は 256 種類の色をパレットに持っています。 PNG は可逆圧縮(ロスレス)形式の画像です。圧縮しても失われるデータはありません。

    JavaScript を PNG に圧縮する | Yomotsu net
    iww
    iww 2015/05/14
    JavaScript系の人たちはいつも突拍子もないアイデアをサクッと実装してしまってすごい
  • EmacsWiki: Tabs Spaces Both

    Diese Seite enthält eine hochgeladene Datei: Rückgängig gemacht auf den Stand vom 2014-01-20 07:34 UTC This work is licensed to you under version 2 of the GNU General Public License. Alternatively, you may choose to receive this work under any other license that grants the right to use, copy, modify, and/or distribute the work, as long as that license imposes the restriction that derivative works

  • ゆゆ式を無限に楽しみたかった話 〜 ゆゆ式 Advent Calendar 2014 20日目 〜 - しゅみは人間の分析です

    ある日のこと、後輩たちがこんなことを言いました。 「ゆゆ式のコマをランダムに並びかえたら無限にゆゆ式が楽しめるのでは?」 真面目に計算してみると、10の15乗くらいの組み合わせができることがわかりました。 この記事ゆゆ式アドベントカレンダー20日目は、そんな無限にゆゆ式をたのしむためのシステムを真面目に作ってみた話をします。 コマの切り出し 漫画のコマを並び替えるためには、コマがバラバラな画像として存在していなければなりません。 なので、まずは自炊で電子化された書籍をコマの線にそって切り出していく処理を自動化することにしました。 上の図がふつうの4コマの1ページですね。これの枠線を識別して、1ページから8枚のコマを取り出してくる方法を考えます。 ハフ変換で直線検出 OpenCVという画像処理のライブラリに直線を検出するツールがあったので、まずこれを試してみました。 が、結果はこのとおり。

    ゆゆ式を無限に楽しみたかった話 〜 ゆゆ式 Advent Calendar 2014 20日目 〜 - しゅみは人間の分析です
  • FF10の雷除けを自動化した話 - panchiga's blog

    これはAizu Advent Calender 2014の9日目の記事です! Aizu Advent Calender 2014 前の人: @MiZuKi_Sonoko mizukindevelop: Hackathonに参加しよう {Aizu Advent Calendar 2014 [8]日目} 次の人: @a_r_g_v はじめに FF10はみんな知ってるよね? FF10には七曜の武器っていう伝説の武器みたいなものがあって、入手方法がゲーム中のミニゲームをなんかすごいやるみたいな感じ。 例) サブイベントの「とれとれチョコボ」をタイム0:0:0でクリアする(ティーダ) サブイベントの「サボテンダーの里」をクリアする(リュック) 召喚獣バトルに全部勝利する(ユウナ) その中で巨乳おっぱいさんルールーの「雷平原のサブイベント・雷除けを200回連続で成功する」というものがある。 おっぱいさ

    FF10の雷除けを自動化した話 - panchiga's blog
  • サイゼリヤの間違い探しが難しすぎたので大人の力で解決した

    こんにちは。河です。 僕はサイゼリヤに行くとまずキッズメニューの間違い探しを解くんですが、 今回は難しすぎたので、大人の力(=画像処理)で解決することにしました。 2014年9月版。みんなもやってみよう! (以下、間違い探しの答えが出てきます。見たくない人は↑の画像で頑張ってから読もう。) やり方 いろいろ書いてますが、左面と右面の違う部分を色の差分から見つけてるだけです。 紙の歪みを吸収するために、少しややこしいことをしてます。 (1) 間違い探しページの写真を撮る ↑の写真です。普通にiPhoneで撮りました。 (2) ページ領域を抽出する 画像からページの部分を見つける必要があります。 今回は面倒なので、左側は手作業で指定しました。 角を手作業でタグ付けして・・・ こっちは手作業。 射影変換で台形補正します。OpenCVならWarpPerspectiveです。 台形補正しても、紙が

    サイゼリヤの間違い探しが難しすぎたので大人の力で解決した
    iww
    iww 2014/11/17
    『射影変換で台形補正します。OpenCVならWarpPerspectiveです。』
  • 画像の中のご飯にカレーをかけるプログラムを作ってみた

    注目の技術:ドローン、3Dプリンタ、あと一つは「カレー」です。手法はかなり自己流です。あとパラメタは全画像共通。sm9738770 品CMをピアノソナタに!!

    画像の中のご飯にカレーをかけるプログラムを作ってみた
  • クッキークリッカーとプログラマ

    先週ぐらいからクッキークリッカー(Cookie Clicker)というJavaScriptを使ったブラウザゲームが流行っている。クリックするだけのゲームと聞いて、最初はあまり興味を持てなかったのだが、自分の周りであまりにもやっている人が多いので少し遊んでみることにした。 クッキークリッカーを簡単に説明すると、まずはクリックすることでクッキーを作り、作ったクッキーを使ってクッキーの生産性を高めるためのアップグレードやアイテムを購入し、たまに出現するゴールデンクッキー(Golden Cookie)をクリックすることでさらに多量のクッキーが得られるので、それらを駆使してできるだけたくさんのクッキーを作るというゲームだ。 このようにとてもシンプルなゲームなのだが、最初はちまちまとしか作れなかったクッキーが徐々に増えていき、様々なアイテムやイベントを通すことで、終盤では毎秒数千億クッキーを作れるとい

    クッキークリッカーとプログラマ
    iww
    iww 2013/09/24
    JavaScriptをいじらず、マウスと画像処理でアプローチ
  • 本当は速いImageMagick: サムネイル画像生成を10倍速くする方法 - 昼メシ物語

    一般的に ImageMagick のサムネイル画像生成は遅いとされており、パフォーマンスが求められるシーンでは Imlib2 などのより高速な画像処理ライブラリが使われることが多いです。 Imlib2 の高速さについては、以前「Imlib2でImageMagickより3倍高速かつ美しいサムネイル画像の生成 - 床のトルストイ、ゲイとするとのこと」という記事で紹介しました。この記事のベンチマークにおいて、Imlib2 によるサムネイル画像の生成は、 ImageMagick の3倍程高速でした。 しかし、 ImageMagick は Imlib2 より画質がよく、高機能で使いやすく、今も頻繁にメンテナンスされており、とてもよく出来ています。その点 Imlib2 は、2004年からメンテナンスされておらず、セキュリティホールが見つかっても、各Linuxディストリビューションがそれぞれパッチを当て

    iww
    iww 2013/08/08
    25秒かかってた処理が0.5秒になった。 なんやこれすごい。 元の設定があほ過ぎたのもあるけど
  • 数独を解く(画像解析) - cuspy diary

    画像として与えられた数独を解きます。 新聞に掲載されていたこの問題をOpenCVを使って画像解析する。(画像が斜めなのはワザとです) グレースケール変換画像解析の前処理として、まずグレースケールに変換し、ガウシアンフィルタをかけてぼかします。ガウシアンフィルタをかける事で、安定した二値化画像が得られます。 二値化次に二値化を行います。 二値化には、普通の方法、大津さんの手法、適応的二値化、などさまざまな手法が在ります。いろいろ試した所、適応的二値化(Adaptive Threshold)が最も数独の認識に適していることが解りました。 適応的二値化(Adaptive Threshold)であれば、影になってしまった部分も上手く処理できます。 膨張処理次に、数独の盤面の外枠を認識を行います。 二値化の影響で枠線が途切れてしまう可能性がありますので、膨張処理(dilate)を行います。 (膨張処

  • FileSystemObject オブジェクトでファイル名にワイルドカード文字を使用できますか - Hey, Scripting Guy!

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

    FileSystemObject オブジェクトでファイル名にワイルドカード文字を使用できますか - Hey, Scripting Guy!
  • まさに天才の発想 誰でもヌードっぽい写真が作れるアプリ「Nudifer」がスゴい

    着衣写真がたちまちヌード写真に――。撮った写真にリアルなモザイクをかけられる、無料iPhoneアプリ「Nudifier」がくだらなくて素敵です。 モザイクをかけたら、男性の微笑みが何を意味するか分からなくなりました モザイクのかけ方は簡単。まずは画像の中から、モザイクの基にしたい色を採取します。あとはモザイクをかけたいところを指でタッチして塗り、「Next」ボタンを押せば完成。肌から色を採取することで、被写体がもともとヌードだったような写真に加工することができます。 せっかくなのでパンツ一丁の男性を無駄に全裸っぽくしてみます。基にしたい色を採取して…… パンツの部分に塗りつけて「Next」を押せば完成 ヌード以外にもいろんな楽しみ方が可能。モザイクを手の指にかければ「指がちぎれた!」なんて写真を作ることもできます。好きなところにモザイクをかけて、いろんな写真を作ってみてください。 手か

    まさに天才の発想 誰でもヌードっぽい写真が作れるアプリ「Nudifer」がスゴい
    iww
    iww 2012/11/28
    なるほど、モザイクかかることが前提ならこういうことでいいのか。 応用範囲が広い考え方だな。
  • PNG画像を自力で読む

    このサイトではPNG画像をあちこちで使ってます。 まあ、一番よく使ってるのはJpegですが。 プログラムを組むときも、この二つはよく使われますね。 なんせどちらも無料、かつ使い勝手のいいライブラリ (libpng、libjpeg) が用意されてますし。 てなわけで、普通はPNG画像を自分のプログラムに組み込みたいなら libpng を使えばいいんですが、ちょいと思い立って自力で組んでみることにしました。 D言語ならコードを劇的に減らせますし、MMX化したきゃインラインアセンブラも付いてます。慎重に組めば若干の高速化も期待できるかも。 なによりファイルフォーマットを理解するのは、けっしてマイナスにはなりません。 機能を必要最小限にとどめておけば、たった1,000行程度のコードでPNG画像を読むことが可能ですぞえ。 もっとも実際にネットで配布するようなソフトウェアには安全なライブラリを使った方

  • 【OpenCV2.0】cv::Matクラス 画像処理ソリューション

    ※注1 widthStepでは画像1行あたりのバイト数はビットマップファイルと同様に4バイト単位になるように調整されていましたが、画像ファイルをcv::imread()関数を使って読み込むと、stepの値は(メモリも?)4バイト単位に調整されません。(画像の幅×チャンネル数になるのみ) そのため、その他もろもろの互換性を考慮すると、cvLoadImageを使って画像ファイルを読み込み、cv::Matに変換した方が良さそうです。 (例) //画像ファイルの読み込み cv::Ptr<IplImage> iplimg = cvLoadImage("test.bmp", CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR); //cv::Matへ変換 cv::Mat img(iplimg); ※注2 cv::Matから取得するdepth()は以下のように

  • Geekなぺーじ : 画像上に文字列を表示

    ImageCreateFrom○○で読み込んだイメージリソースの上にTrueTypeフォントによる文字列を書く方法です。 サンプルコード 以下のサンプルでは、フリーの日フォントであるIPAフォント(Pゴシック)を利用しています。 「/path-to-fontfile/」の部分を必要に応じて変更して下さい。 <?php $img = ImageCreateFromJPEG('sample0.jpg'); # 必要に応じてUTF8へ変換(環境依存) $text = mb_convert_encoding('オランダシシガシラ', 'UTF-8', 'auto'); # 白い文字を書き込む $white = ImageColorAllocate($img, 0xff, 0xff, 0xff); ImageTTFText($img, 16, 0, 5, 200, $white, '/path-

  • PHP+GDで日本語描画 - 小宮日記

    $im = imagecreate (620, 40); $black = ImageColorAllocate ($im, 255, 255, 255); $white = ImageColorAllocate ($im, 0, 0, 0); $font = "/virtual/misakirara/public_html/cmge/dasaji_win.TTF"; #[size=3]www.dasaji.com[/size] $str = mb_convert_encoding($keyword, "UTF-8", "auto"); ImageTTFText ($im, 20, 0, 10, 20, $white, $font, $str); ImageCopy($Gback, $im, 10, 5, 0, -5 , imagesx($im), imagesy($im) ); /* 画