1 名前:デフォルトの名無しさん [2009/07/09(木) 09:52:04 ] 画像処理プログラミングについて質問、議論を行うスレッドです ・画像処理について素人同士で大激論 ・初学者の質問に対してやさしく(的を外れた)解答を与える ・その道の玄人も大歓迎 前スレ 画像処理 その11 pc12.2ch.net/test/read.cgi/tech/1222593978/
730 名前:名無しさん@そうだ選挙に行こう [2010/07/10(土) 07:58:16 ] 色を混ぜる計算の質問です。 ↓の左側は vector にある「天津」というゲームの中の麻雀牌の画像を 取り出したものです。以前にも遊んでいたのでなつかしかったのですが、 牌の絵が気に入りません。通信販売の麻雀牌の写真から絵柄を抜き出し それらしく加工して、ゲームソフトのリソースを差し替えたのですが、 牌を合わせると消える処理を実行しません。(混ぜ合わせは成功) 左側の画像のように、牌のグループ毎に色セロファンをかぶせたように しないとだめかと思いますが、ピクセル毎のRGBにどのような計算をすれ ば、いいのでしょうか。尚、薄紫は0xA9A9FF, 空色は0x00FFFF,茶色は 0xFF6F3Eです。↓の画像はjpgですが、リソースでは 24bit色bmpです。 gazo.pandoravote.net/src/1278715354864.jpg 尚、この処理は自分が遊ぶためだけで、改造結果を公開するつもりは ありません。
731 名前:名無しさん@そうだ選挙に行こう [2010/07/10(土) 08:57:54 ] 誘導されてきました。マルチ失礼。 USBカメラからリアルタイムで動画を取り込み、パーティクルフィルタにより物体を検出する。 重み付けはRGB値を用いて行い、検出するRGB値の範囲は自由とする。 以上のプログラムをPython2.6.5でライブラリを使用せずに作成しようとしています。 動画の取得・表示まではできたのですが(ttp://codepad.org/JuBXsIyt)、パーティクルフィルタが書けません。 どのように書いたら良いでしょうか。 よろしくお願いします。
732 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 11:30:30 ] >>730 gimpかphotoshopでR,G,Bそれぞれのチャネルごとの画像を見てみれば 何かわかるんじゃないかなー。
733 名前:730 mailto:sage [2010/07/10(土) 17:59:10 ] >>732 レス感謝。R,G,B それぞれの絵を作ってみました。 左から薄紫、空色、茶色の絵に対応し、縦にR,G,B別に並んでいます。 元の絵では 24 bitCount ですが、サイズが1メガを越えるので、 jpeg 圧縮で上げました。文字の輪郭がぼやける傾向にあります。 gazo.pandoravote.net/src/1278751422049.jpg 32 bit color だと、αチャネルで透過率を指定して背景色を出 せるようですが、αの値(0〜1の間の値を取るとして)を全部 一律なのか、元の絵の背景が白なら透過率1にして特殊扱いする ものかなどがまだ見極め出来ていません。これが分かれば、 求めるR,G,B=元のR,G,B ×α+背景のR,G,B×(1−α) (R,G,B はそれぞれ個別に扱う) で、αをスライダーで動かして、見た目にそれらしいのを選ぶとか 出来そうです。
734 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 18:39:30 ] とりあえず、スレに無関係な特定アプリの要素を排除して記述してくれないか
735 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 19:10:23 ] >>733 そもそもゲーム側がどういう処理を行っているかまだ不明なんでしょ? それを推測できないと計算がどうとか以前の問題。 あと「牌を合わせると消える処理を実行しません」ってのが謎だな。 牌を消すのは実はαチャネルでやってて、表示処理はしてるけど見えないだけ、 みたいなことになってるのか? でもそうだとすると、少なくとも同じ色で塗りつぶした(絵柄の外の下地の)部分は消えてないとおかしい。 >求めるR,G,B=元のR,G,B ×α+背景のR,G,B×(1−α) これはごく普通のα合成の式だけど、ゲーム側では上記のようなことをやってるだろうけど、 画像データ作成側は単に適切なαチャネルを置くだけな気が。 そもそも>>730 の画像で縦に4色並んでいる意味がわからない。色のバリエーションがあるということか、 もしくは牌の状態(選択中など?)によって色が変わるのか。 (ダミー画像でも入れておくとどこでどれが使われてるかわかるだろうけど) 元データが24bitBMPなら、いわゆる一般的な8bitのαチャネルはないことになるけど・・・ そうすると、R,G,Bのどれかか、もしくはさらにその一部のビットをαチャネルとして使っているか、 またはカラーキーで特定の色を抜いてることになる。 見た感じ24bitのうちの一部のビットでαを表現しているという線が疑わしいかな・・・
736 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 19:35:00 ] そのゲームを見てないが、αとかじゃなくて論理演算じゃないの?
737 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 19:43:40 ] そうだけどなにか?
738 名前:733-730 mailto:sage [2010/07/10(土) 20:12:07 ] >>734 特定アプリの話を出したのはそもそもの魂胆はなんなのと疑問に 思う人に当てたもの。自分の問題は >>730 で挙げた画像の左側 の絵を作ること。すぐ作れると思ったけどアレッとなったもんで。 >>735 リソースに含まれる画像は 24bitBmp でアルファは付いていません。 4組あるのは、(画像から離れますが)文書で文字列を選ぶと 反転するように、指定の牌が選ばれたことを示すために色を変える のに使うことと、ゲームの最初に牌を混ぜ合わすのに、乱数かなに かで背景が白の牌と色つきの牌を適当な比で選んで配置し、色つき の牌を消して、牌が移動可能な余地を作っているのに使っていると 想像しています。牌の上の文字や模様が元々のものでないとソフト が動かないというなら(フリーソフトでそんな厳密な処理をすると は考えられないのですが)、今回の試行は諦めます。 しかしこんな色の演算がスグできないなんて、不思議。
739 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 20:24:48 ] おまえがあほなだけ
740 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 00:05:53 ] >>738 結局ゲームのアルゴリズム推測の話になるんだろうから、 まずオリジナルの画像をちょっとずつ目的の方向に変えてみて、 どこまでの変更なら問題なくって、どういう変更をするとうまくいかないか、 みたいなのを繰り返すのがセオリーじゃないかねぇ。
741 名前:738-730 mailto:sage [2010/07/11(日) 13:20:32 ] 本件求めたい図柄が一応作成できたので終結とさせて頂きます。 人騒がせしてどうしたのという方のために経過を簡単に。 1.透過率での試行では絵の中の文字、模様がほやけて駄目でした。 2.>>733 の絵がヒントで、>>732 氏に感謝です。 >>733 に上げた絵をみると分かりますが、第1列は青のセグメント には文字模様はありません。RGB(0,0,255) 一色です。 第2列は、赤のセグメントが RGB(0,0,0) です。 指定背景色のコードとこれらをつき合わせて計算するとそれらしい 絵ができました。 ありがとうございました。 (蛇足:この作者は20年前に Mac 用のも作っておられたので、疑問を メールしてみました。Windows 用は 2008 年作。)
742 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 15:00:09 ] これのどこが画像処理やねん
743 名前:デフォルトの名無しさん mailto:sage [2010/07/20(火) 23:49:53 ] >>731 パーティクルフィルタをググって出てくるソース見ながらPythonで書き直せば良いだけ
744 名前:デフォルトの名無しさん mailto:sage [2010/07/22(木) 08:18:38 ] バイリニア補間に関しての質問です。 バイリニア補間で画像を1/2以下に縮小するとエイリアシングが起こる、ということが書いてあったのですが これはなぜなんでしょうか。 分かる方、解答よろしくお願いします。
745 名前:デフォルトの名無しさん mailto:sage [2010/07/22(木) 08:30:21 ] >>744 エイリアシングが何かは判っている? それが判っているなら自明だと思うけど。
746 名前:デフォルトの名無しさん mailto:sage [2010/07/22(木) 08:35:10 ] >>744 直接1/2以下にすると情報が失われるから。
747 名前:デフォルトの名無しさん mailto:sage [2010/07/22(木) 09:19:29 ] >>745 エイリアシングはわかっているつもりですが、 画像の縮小と周波数空間やナイキスト周波数の関係がよくわかってないです…
748 名前:デフォルトの名無しさん mailto:sage [2010/07/22(木) 09:21:09 ] >>747 は>>744 です すいません
749 名前:デフォルトの名無しさん mailto:sage [2010/07/22(木) 09:48:30 ] >>746 直接の意味が分かりません。 1/2超だと情報は失われないのでしょうか…
750 名前:デフォルトの名無しさん mailto:sage [2010/07/22(木) 12:29:20 ] >>747 フーリエ、サンプリング あたりをキーワードに工学系の信号処理やらフーリエの本を見ればよいとおもわれ
751 名前:デフォルトの名無しさん mailto:sage [2010/07/22(木) 13:08:46 ] 波の周期より小さな物体は見えないから、なんて話をしてもぴんと来ない人だと思うので、 もっと具体的に言うと、バイリニアってのは、要するに変換後の位置を変換前の位置に逆算して その位置を囲む最大4点の情報から色を決める手法なわけ。 いま丁度1/2より少しだけ大きな割合にするとすると、変換後のA点の隣にあるB点の変換前の座標aおよびbは x a x b x という関係になって、概ね変換後のどこかに全点の情報が含まれるわけ。 これを丁度1/2にすると、整数格子状にマップされた結果aとbの間にあるピクセル情報が失われて、 例えば1ピクセルおきに、白/黒を繰り返すようなパターンの場合、白または黒一色になってしまう。 同様に、1/2以下のサイズにすると、a x x ... b ... x x みあいな関係になって、aやbの周囲にない ピクセルの情報は全て失われるわけです。 これを防ぐために、1/2以下のサイズに縮小するときは直接縮小せず、1/2より大きなサイズで複数回 縮小を繰り返して指定サイズにすることで、多少は問題を緩和できます。理由は…わかるね?
752 名前:デフォルトの名無しさん mailto:sage [2010/07/22(木) 13:29:27 ] LPF通すなり窓を広げるのが適切じゃないの? 1ピクセルの網目を95%とか105%にするとエイリアスパターン出るのは仕方ないけど。
753 名前:デフォルトの名無しさん mailto:sage [2010/07/22(木) 18:42:37 ] >>752 それを考慮して窓関数経由っぽくしたりするのが バイリニアではない補間じゃない?
754 名前:デフォルトの名無しさん mailto:sage [2010/07/22(木) 22:27:51 ] 境界値はどうすりゃいいんだ
755 名前:デフォルトの名無しさん mailto:sage [2010/07/23(金) 11:20:15 ] >>754 どこの境界だい?
756 名前:デフォルトの名無しさん mailto:sage [2010/07/23(金) 23:18:52 ] 画像処理の線形フィルタ(たとえば3*3の)について、 実際にこの数値を使えばこういう効果が得られるというようなことが詳しく書いてあるところありませんか?
757 名前:デフォルトの名無しさん mailto:sage [2010/07/23(金) 23:26:04 ] ググレ
758 名前:デフォルトの名無しさん mailto:sage [2010/07/24(土) 06:36:38 ] >>744 1ドットおきに 0 1 0 1 0 1 0 1 0 1 0 1 と並んでいる画像を、1/2 以下に縮小したら、グレーのベタに なってくれないと困るけど、バイリニア補間で 1/3 に縮小すると、0.3 0.7 0.3 0.7 0.3 0.7 のように、 擬解像があらわれる。具体的にはそういうこと。
759 名前:デフォルトの名無しさん mailto:sage [2010/08/06(金) 23:18:46 ] 3次元の立体座標群を保存するフォーマットで標準のようなものはないのでしょうか
760 名前:デフォルトの名無しさん mailto:sage [2010/08/06(金) 23:41:02 ] .txt
761 名前:デフォルトの名無しさん mailto:sage [2010/08/07(土) 00:31:14 ] KMLとか・・・
762 名前:デフォルトの名無しさん mailto:sage [2010/08/07(土) 10:59:07 ] x, y, zとか…
763 名前:デフォルトの名無しさん mailto:sage [2010/08/07(土) 12:11:14 ] gnuplot は変な空白行いれこんだtxt
764 名前:デフォルトの名無しさん [2010/09/10(金) 15:22:15 ] 保守
765 名前:デフォルトの名無しさん mailto:sage [2010/09/11(土) 21:02:40 ] 半透明処理で回転とか縮する場合って 結果位置の背景ピクセルと参照範囲のソースを全部ブレンドしてから計算するしかない? 非透過の拡大縮小なら2パスで計算量減らせるんだがそういうテクニックないのかな。
766 名前:デフォルトの名無しさん mailto:sage [2010/09/13(月) 11:32:48 ] teddziuba.com/2010/09/programming-things-i-wish-i-knew.html Don't do image processing work with PIL unless you have proven that command-line ImageMagick won't do the job
767 名前:デフォルトの名無しさん mailto:sage [2010/09/20(月) 19:41:30 ] HandyARのソースがダウンロード出来ないのですが、 他にダウンロード出来る場所など知ってる方いらっ しゃいますか? ↓HandyARのページ ilab.cs.ucsb.edu/projects/taehee/HandyAR/index.html
768 名前:デフォルトの名無しさん [2010/09/29(水) 01:28:01 ] 宿題片付けスレで解決することができなかったので来ました。 どなたか見ていただくことはできませんか? [1] 授業単元:画像処理 [2] 問題文(含コード&リンク) bmp画像をフリーウェアFFTWを使ってフーリエ変換する [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: Microsoft Visual C++ 2010 Express [3.3] 言語: C(C++) [4] 期限: 特に決まっていませんが急いでいます。 [5] その他の制限: 自分が作ったソース↓を基にしていただければ助かります。 フーリエ変換 codepad.org/0QIae1jA 逆フーリエ変換 codepad.org/EkI0r90b 別々のプロジェクトでフーリエ変換→逆フーリエ変換して元の画像を出したいです。 画像処理スレの専門的なみなさんお願いします。
769 名前:デフォルトの名無しさん mailto:sage [2010/09/29(水) 03:26:52 ] 何が訊きたいのか書いてねーし。 丸投げするつもりなのか?
770 名前:デフォルトの名無しさん mailto:sage [2010/09/29(水) 03:34:02 ] これってこのスレの住人的にはどうなの toki.2ch.net/test/read.cgi/news4viptasu/1280922761/
771 名前:768 mailto:sage [2010/09/29(水) 03:37:35 ] >>769 自分の作ったソースのどこがどう間違っているのか教えて欲しいです
772 名前:デフォルトの名無しさん mailto:sage [2010/09/29(水) 03:44:28 ] >>768 宿題は宿題スレへ
773 名前:デフォルトの名無しさん mailto:sage [2010/09/29(水) 07:51:02 ] >>768 >bmp画像をフリーウェアFFTWを使ってフーリエ変換する bmp画像を読み込むのはライブラリを使うか自分で書いても大した手間じゃない。 fftwの使い方はぐぐれば幾らでも出てくる。 画像処理スレで扱うほどの内容はどこにもないな。
774 名前:デフォルトの名無しさん mailto:sage [2010/09/29(水) 08:45:00 ] BMPはまともに作ると手間かかる
775 名前:デフォルトの名無しさん mailto:sage [2010/09/29(水) 08:50:11 ] だったらライブラリを使えよ。
776 名前:768 mailto:sage [2010/09/29(水) 17:39:21 ] 自力で解決させました お騒がせしました
777 名前:デフォルトの名無しさん mailto:sage [2010/09/29(水) 22:33:33 ] 777
778 名前:デフォルトの名無しさん mailto:sage [2010/10/04(月) 16:55:06 ] てs
779 名前:デフォルトの名無しさん mailto:sage [2010/10/08(金) 07:15:08 ] コマンドプロンプトから ImageMagick 6.6.4-10 2010-10-04 Q16で PNG画像の周りに透明な余白を付けたいのですが どうすればよいのでしょうか? convert -gravity southeast -splice 300x400 input.png output.png にするとまわりの余白が白い物になってしまいます。 透明で何も書かれていない大きめのPNG画像を用意して 透明な余白を付けたい画像と合成するという方法もやってみましたが composite -compose over input.png toumei.png で実行すると Magick: missing an image filename 'toumei.png' @error/compositeImageCommand/1607. となってできませんでした。 OSはWindowsvistaです。
780 名前:デフォルトの名無しさん mailto:sage [2010/10/08(金) 12:25:51 ] 出力ファイル名が必要でしょ composite -compose Over -gravity center in.png blank.png out.png もっといい方法ありそうだけど
781 名前:デフォルトの名無しさん mailto:sage [2010/10/08(金) 13:29:16 ] convert -size 512x512 xc:none -gravity center in.png -compose Over -composite out.png 512x512はブランク画像の大きさ、オフセット指定でできるようにしたいけどやりかた分からん 僕の環境ではバージョンが古いのでfxがうまく機能しなくてなんだかな オフセット32pxl convert -size $(expr $(identify -format '%w' in.png) + 32)x$(expr $(identify -format '%h' in.png) + 32) xc:none -gravity center in.png -compose Over -composite out.png
782 名前:デフォルトの名無しさん mailto:sage [2010/10/08(金) 16:36:27 ] ごめんなさいもう一つだけ質問です。 convert *.png output.psdで余白を付けた画像を .psdにしたのですが そのoutput.psdのレイヤーの順を逆にしてconvertする方法はありますか? とりあえず convert file2.png file1.png file0.png output.psd と順番を付くようにはしてみましたが 実はちゃんとした方法があるのでしょうか?? >>780 出来ました! ありがとうございます。 >>781 やってみたら 出来あがった画像をphotoshopで読み込んだ際に ファイルの色深度がphotoshopにないとかいうメッセージが出て 透明な部分が全て真っ黒になってしまいました。 とりあえずオフセット機能は北西指定して>>780 したあとで-rollでずらしました。
783 名前:デフォルトの名無しさん mailto:sage [2010/10/09(土) 20:13:34 ] すいません・・・ ImageMagickをインストールする際に Install ImageMagickObject OLE Control for VBscript, Visual Basic, and WSH するの忘れたんですけど・・・ 後から設定する方法ありますか? やっぱり再インストールですかね・・・?
784 名前:デフォルトの名無しさん [2010/10/10(日) 05:55:42 ] ImageMagickをVBscriptで使いたいのですがインストール後 Set im = CreateObject("ImageMagickObject.MagickImage.1") のところで 「ActiveXコンポーネントはオブジェクトを作成できません」という エラーが出てしまいます。 どうしたらVbscriptでImageMagickを使う事が出来るのでしょうか? OSはwindowsvistaです。 以下をやってみたけどやはり同じエラーが出続けます ンターネットオプションのセキュリティのタブで レベルカスタマイズからActiveX関連の部分を有効にする regsvr32 /c /s "C:\Program Files\ImageMagick-6.6.4-Q16\ImageMagickObject.dll"の実行 ImageMagickのアンインストールと再インストール ImageMagickについていたTEST用の.vbsを実行してみましたが 同じSet im = CreateObject("ImageMagickObject.MagickImage.1")で 同じエラーが出るのでこの文章自体は間違っていないようです。 気になるのは インストール時にppm・・・というエラーメッセージが出た事です。 検索したらvbscriptには関係ないとのことでしたが一応状況を書きました。 ↓エラーメッセージのスクリーンショットです。 viploader.net/ippan/src/vlippan156229.jpg
785 名前:デフォルトの名無しさん mailto:sage [2010/10/10(日) 08:55:47 ] それ、正直画像処理じゃないから。 VB厨の集うスレへどうぞ。
786 名前:デフォルトの名無しさん mailto:sage [2010/10/10(日) 09:26:17 ] そうだそうだ、とっとと稲
787 名前:デフォルトの名無しさん mailto:sage [2010/10/10(日) 12:10:43 ] すいませんでした。 誘導ありがとうございます。
788 名前:デフォルトの名無しさん mailto:sage [2010/10/14(木) 15:35:49 ] ここはひどいインターネットですね・・・
789 名前:デフォルトの名無しさん mailto:sage [2010/10/14(木) 23:54:00 ] >>788 2ちゃんねるって場所が一番ひどいらしい。怖いから絶対に近づかないようにしてる。
790 名前:デフォルトの名無しさん mailto:sage [2010/10/28(木) 14:52:42 ] opencvのActive Shape Model Libraryを使って顔形状モデルを作成してるんですが, 学習に必要な顔画像とそのasf(ラベル付けされたデータ)を含んだ顔データベースを探しています. LibraryのReadmeにあった下記のサイトで幾つかのデータを得ることはできましたが,数が全然足りていません. どなたか,下記のサイト以外で顔データベースを提供しているところをご存知無いでしょうか. ttp://www2.imm.dtu.dk/~aam/
791 名前:デフォルトの名無しさん mailto:sage [2010/10/30(土) 01:54:06 ] ここのページの真ん中らへんで紹介されてるサイトなんかどう? 「OpenCVで学ぶ画像認識」 gihyo.jp/dev/feature/01/opencv/0004
792 名前:790 mailto:sage [2010/10/30(土) 18:10:00 ] レスどうもです. リンク先のサイトで紹介しているものは全部顔データのみのデータセットですね. 今回僕が欲しいなぁっと思っているのは, ttp://www2.imm.dtu.dk/~aam/faces/annotation.jpg という790にも書いたサイトで提供しているような 顔とラベル付けデータとのデータセットなので,ちょっと違うかなぁって感じです. ただ今自分でもラベル付けデータの作成をやっているので, 良い素材を紹介して貰えてありがたいです.
793 名前:デフォルトの名無しさん mailto:sage [2010/11/16(火) 05:02:54 ] マッチング処理でよく高速化とメモリ節約と単純化のために グレースケール化してやるけど 以前から漠然とグレースケールよりもHSVのような人間の認識をベースにした 色差を利用した方がたぶん良い結果が出るだろうなと思ってたら 最近になって同じ考えでマッチング処理をやって効果が上がったという論文が出始めた HSVではまだ不十分だと思ってる, 24bitカラーでも360しかないから そこで24bitカラーを人間の認識的な意味での距離として同じく24bitの連番に置き換える方法はないだろうか? 例えば12000と13000は人間が見てもほとんど同じ色をしているとか 人間の認識的な色距離を無劣化で数値化出来ないだろうか?
794 名前:デフォルトの名無しさん mailto:sage [2010/11/16(火) 05:33:00 ] La*b* や Lu*v* のような、均等色空間とは違う話?
795 名前:デフォルトの名無しさん mailto:sage [2010/11/16(火) 05:53:40 ] そういう話だけど、立体的数値表現ではなくて 1次元の連番に出来ないだろうかという話 intで処理出来ればメモリと処理効率にあまり影響を与えず 性能だけ向上させることが出来るでしょ
796 名前:デフォルトの名無しさん mailto:sage [2010/11/16(火) 06:24:08 ] 立体にも距離がありますよ
797 名前:デフォルトの名無しさん mailto:sage [2010/11/16(火) 07:10:34 ] 色空間の1次元化については、いろいろトライしたことがあるけど。 人間の認識的な色距離を無劣化で・・・となると無理っぽい気がするなぁ。 いい方法があるんだろうか?
798 名前:デフォルトの名無しさん mailto:sage [2010/11/16(火) 07:28:11 ] 無劣化というのは逆算してRGB値に戻せるレベルと言う意味で 赤と黄色の差と緑と黄色の差がたぶんどちらかが大きくなって 実際の距離とは違う方法でしか出来ないだろうけど マッチング処理に関して言えば赤と黄色、赤と緑は「違う」という 情報さえ分かればいいので問題ないと思う
799 名前:デフォルトの名無しさん mailto:sage [2010/11/16(火) 07:49:11 ] RGBの粒子24bit個を人間の見た目でソートしたようなもの 似た色はより近い数値にソートされる それを単純な変換式で実現したい 実際の色空間の距離概念とはかなり違ったものになるだろうけど 実用的レベルで判別が出来ると思うんだけどな
800 名前:デフォルトの名無しさん mailto:sage [2010/11/16(火) 10:08:44 ] >>799 でも錘体細胞が三種類あって、それぞれRGBの信号強度を脳に送っているんだから 知覚な色距離は三次元空間での距離になる。 認識的な色距離が何次元空間の距離か知らんが知覚と対応した三次元と考えるのが 自然な気がする。
801 名前:デフォルトの名無しさん mailto:sage [2010/11/16(火) 10:50:54 ] 自然はそうだけどコンピュータ処理においては 自然なことよりプログラム的な特性が重要だから ハッシュ関数みたいなもんで、ハッシュは不自然なデータ構造だけど 高速だから使うでしょ
802 名前:デフォルトの名無しさん mailto:sage [2010/11/16(火) 15:31:10 ] L*u*v*とかの均等色空間をジグザグスキャンで1次元化じゃいかんの?
803 名前:801 mailto:sage [2010/11/16(火) 15:38:29 ] ジグザグ往復するから1次元配列を可視化すると何度も同じようなグラデーションが 出てくるだろうけどプログラム処理用だから問題ないのでは? ついでにその1次元データをヒストグラム化すればもっとコンパクト
804 名前:デフォルトの名無しさん mailto:sage [2010/11/16(火) 17:29:50 ] >>803 801は私だが ジグザグの意味がよくわかん 具体的に変換式を書いてください
805 名前:802 mailto:sage [2010/11/16(火) 21:30:35 ] すまん、802の間違い。変換式というか、アルゴリズムだな。 「ジグザグスキャン」はJpegの符号化でも使われてるこういうもの。 laputa.cs.shinshu-u.ac.jp/~yizawa/InfSys1/advanced/image_cod/fig3.jpg これを色空間の3次元データに拡張してみればいいんではないかというアイデア。 ヒストグラム化すればというのも、Jpegで周波数空間に置き換えるのに近い イメージかもと思った。
806 名前:デフォルトの名無しさん mailto:sage [2010/11/16(火) 21:38:04 ] でもまあ2次元のヒストグラムはOpenCVの関数一発で簡単に出せるんだよな。 opencv.jp/sample/histogram.html#hist_2d これをつかってヒストグラムマッチするだけでもShiftよりもいい結果が出せるかもよ。
807 名前:デフォルトの名無しさん mailto:sage [2010/11/16(火) 21:45:47 ] それに近いことやってる論文発見 「照度を考慮したMean-Shift によるカラートラッキング」 www.vision.cs.chubu.ac.jp/04/pdf/PIA03.pdf
808 名前:デフォルトの名無しさん mailto:sage [2010/11/17(水) 07:18:41 ] 色をベクトル量子化して近いもの同士を寄せたいならSOMはどうだ。
809 名前:デフォルトの名無しさん mailto:sage [2010/11/17(水) 08:49:37 ] >>793 から離れて、あさっての方向に向かっているな。伝言ゲームかw
810 名前:名無し募集中。。。 mailto:sage [2010/11/17(水) 21:45:46 ] 人間の認識として色が近い事を表現する色空間について ここあたりが参考にならないかな d.hatena.ne.jp/ultraist/20090520/1242782583 この中で参考にしているサイトが消えちゃっているんだけど プログラムが残っているのでわかるとおもう
811 名前:デフォルトの名無しさん [2010/11/17(水) 22:16:53 ] すいません、質問なんですが。 OSはウィンドウズでコンパイラはBCCデベロッパーです。 画像処理でパステル調にしたいんですができないんです
812 名前:デフォルトの名無しさん mailto:sage [2010/11/17(水) 22:22:07 ] あちこちで聞くな!最低だなおまえ!
813 名前:デフォルトの名無しさん mailto:sage [2010/11/17(水) 22:55:38 ] ああ、そこかぁ 久しぶりに見たらさくらたんばかりで和んだ audioswitchさんはむかし画像検索エンジン作っていたなぁ はてな, Blogger, FC2で先月までRSS着てたのにそういえば最近見てないなぁ
814 名前:デフォルトの名無しさん mailto:sage [2010/11/17(水) 23:03:19 ] >>811 パステル調といっても、いろいろあるぞ。 元画像と、それをパステル調に変換した画像のサンプルとかある?
815 名前:デフォルトの名無しさん mailto:sage [2010/11/17(水) 23:26:23 ] >>811 hibari.2ch.net/test/read.cgi/tech/1289049065/559 にコマンドラインプログラムでCのコードをあげときました。参考になればいいのですが。
816 名前:815 mailto:sage [2010/11/17(水) 23:27:40 ] 失礼、 hibari.2ch.net/test/read.cgi/tech/1289049065/560 です。
817 名前:デフォルトの名無しさん mailto:sage [2010/11/17(水) 23:28:35 ] 参考にしたら金とられるんだろ?こわいこわい
818 名前:デフォルトの名無しさん [2010/11/17(水) 23:44:01 ] >>811 これを使え opencv.jp/sample/misc.html#clustering
819 名前:デフォルトの名無しさん mailto:sage [2010/11/18(木) 01:32:06 ] マッチングをあかるさと色合いの組み合わせで考えるのは 知覚がどうこうじゃなくてカメラや照明の特性から来るものだとおもうんだけど >>793 >人間の認識的な意味での距離として これは人種によって違うんじゃなかったかなぁ? >>800 >でも錘体細胞が三種類あって、それぞれRGBの信号強度を脳に送っているんだから まさかRGBなんて知覚刺激があるとおもってるんじゃないよね? 画像処理やってるなら色は物理量じゃないって知ってるよね?
820 名前:デフォルトの名無しさん mailto:sage [2010/11/18(木) 05:54:28 ] L*a*b* とかでググれば ミドルウェアでソフトエウェアクロマキーを作った時の話だけど L*a*b* 色空間とは、人間が色を識別する状態の数値化空間 よって、その3次元値をベクトルとみなし、そのベクトルの差分(二つの色の差)の大きさ(スカラー値)を求めれば その大きさによって人間がどう感じるかの数値化が出されている(たしかD65とか規格がある) 突っ込んだ話になると、その基準となるD65とかのリアルな輝度の初期値とか難しくなるから割愛w それこそ、赤とか青とかは人間の言語の話で 例えば青っぽいのと緑っぽいとの差でも、近い色と感じる場合と、全然違うと感じる場合があるよ 因みにHSVとかは、ほとんどRGBの単なる変形だから 人間の認識的な処理をさせるのは難しいよ(つまりRGBも難しい)
821 名前:デフォルトの名無しさん mailto:sage [2010/11/18(木) 07:11:56 ] 同一対象(照明等の条件も同じ)でも周辺に配置されているものが異なれば人間の認識する色は異なる。 逆に波長が異なっても同じ色として認識する。肌色が顔ではなく顔が肌色。
822 名前:デフォルトの名無しさん mailto:sage [2010/11/18(木) 08:41:04 ] いやいや問題にしてるのはその方法だと 毎回ソースとターゲットの画素単位で色距離を計算しないといけないだろ 平方根のあるあの3次元の距離の公式だ それはプログラム的にものすごいコストだろ 色距離情報を24bit integerに集約できればかなり高速化出来るじゃないかって話をしてるんだ
823 名前:デフォルトの名無しさん mailto:sage [2010/11/18(木) 08:53:18 ] >>821 重要なのはグレースケールだと輝度だけだしな 肌色も糞もあったもんじゃないし エッジ検出がおかしくなってるのは目に見えてるだろ 今出回ってるアルゴリズムのほとんどがこの問題のせいで精度が落ちてるはず
824 名前:デフォルトの名無しさん [2010/11/18(木) 10:43:21 ] >>821 さんがいってるのはL*a*b*の均等色空間の色差を使ってですら十分じゃなくて、 周辺の色への順応とか対比とかで中心の色の知覚が変わっちゃうから手におえない ねってことでしょう? 顔は肌色をしてるもんだという観念的なものにも影響を受けると
825 名前:デフォルトの名無しさん mailto:sage [2010/11/18(木) 13:10:40 ] そうか?人間に認知出来ないものはどうやったって認知出来ないのは当たり前だけど 現状の人間の認知レベルにも達してないグレースケールが使われてるのは問題だって言ってるだけ 肌と同じ明るさの緑の服とかが見分けられないからな 色差を利用するだけでエッジ検出段階で得られる情報が格段に向上する 特徴点も増える、領域の境界もより厳密に分割されるようになる
826 名前:デフォルトの名無しさん [2010/11/19(金) 03:39:50 ] 輝度を利用するってのはコストパフォーマンス的には良いだろう 人間は輝度の変化には敏感だからアナログテレビなんかでは輝度情報は細かく 色情報は荒く圧縮してる ところで、グレースケール1次元をRGBの3次元にしたら情報量が増えて認識率が アップするのは分かるんだけど、じゃあRGBの3次元をL*a*b*とかのの3次元に したところでなにか利点はあるんだろうか?
827 名前:デフォルトの名無しさん mailto:sage [2010/11/19(金) 09:38:43 ] 同じ色彩のまま暗くしたいときに HSVだとVだけ下げればいいけど RGBだと全ての要素を下げるだろ。 同じ色が少し影になったときにRGBは変化が大きい。 人間には同じ色に見えるのに。
828 名前:デフォルトの名無しさん mailto:sage [2010/11/20(土) 15:57:30 ] RGBって液晶画面等の3原色を表示する為の値 L*a*b*は色差を出す色空間に変換された値 例えばプリクラとかで、写真のグリーンバックが抜けるだろ あれはL*a*b*空間に変換しなければ、RGBやHSVとかの情報じゃ絶対に出来ない グリーンバックの濃淡部分なのか、 フラッシュ光がグリーンの壁に反射して人物や服に映りこんでいるのかは RGBやHSVじゃ調べる計算式がない L*a*b*なら差分ベクトルの大きさを出せばその数値で比較するだけ 論より証拠、WEBでグリーンバックの画像を拾って、 自分でグリーン以外の対象を抜き出してみるとわかる *ブルーバック等でも同じ意味
829 名前:デフォルトの名無しさん mailto:sage [2010/11/20(土) 20:01:28 ] >>828 HSVでもできるんじゃないか? 「HSV」の色立体 upload.wikimedia.org/wikipedia/commons/8/8f/HSV_cylinder.jpg 「L*a*b*」の色立体 www.sikiken.co.jp/colors/fig-c/fig_lab_01.jpg
830 名前:デフォルトの名無しさん [2010/11/20(土) 21:14:35 ] 数値的な意味を理解すれば、そんな見た目で判断する事はないんだけど… HSVは、色相、彩度、明度の値 これを3次元ベクトルの値にしてもまったく意味をなさない L*a*b*はベクトル値の差が、色差となる空間になっている やってみると良い、と言ってるでしょ 結果の制度がまったく違う
831 名前:デフォルトの名無しさん mailto:sage [2010/11/20(土) 22:08:36 ] 制度ねぇ
832 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 04:53:48 ] >色距離情報を24bit integerに集約できればかなり高速化出来るじゃないかって話をしてるんだ 簡単だよ、でも事前の作業やメモリ使用量は半端なく大きくなる L*a*b*でも何でも良いが、その色距離情報とやらの各要素値の取り得る最大値を定義する それを要素の最大値としたベクトルを想定し、 そのベクトルの要素の値の組み合わせを整数値で良いから全パターンテーブル化 今度は、そのベクトルテーブルが指す一つ一つのベクトルと、他の全テーブルのベクトルの組み合わせ (このベクトル同士の組み合わせを色差とみなす)をテーブル化すれば、 そのテーブルのインデックスがお望みの色距離情報を24bit integerに集約だろ 24bitで数が足りるかは知らんがw
833 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 08:44:50 ] 3次元ベクトルの数値的な意味は見た目で分かるだろ。 図で分かるようにHSVは色相が角度だから2つの色の類似度や距離が計算しにくい。 CIELABは色空間でのユーグリット距離が人間の感じる色の近さに対応しているから扱いやすい。
834 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 08:49:24 ] ユークリッド >>832 1要素8bitの3次元だったらそのままで24bitだろ。 何もする必要がない。
835 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 10:27:39 ] >>832 黒からの距離を24bitに当てはめると赤も青も同じ数値になるんじゃないか? そういう意味じゃなく? たとえば赤を基本とした灰色と青を基本とした灰色は人間から見ると同じ灰色だよな だからこの2つは同じような数字に変換されたほしいが 濃い赤と青はまったく違った数値に変換されてほしいわけだ
836 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 10:33:37 ] いったん24bit個を全組み合わせのユークリッド距離を計算して 全部ソートしたものを作り出して そこから逆説的に変換式を導き出すしかないのかな
837 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 10:38:36 ] そうだなソートの仕方は 隣接する色とのユークリッド距離をエネルギーとして エネルギーが最小になる並びになるまで繰り返す 谷にはまる可能性があるから、最終的には目視で調整が必要かも 誰かお願いしますw
838 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 10:53:16 ] 要は、どこまで手間隙かけるかの落としどころだね。
839 名前:名無し募集中。。。 mailto:sage [2010/11/21(日) 11:06:48 ] 距離を比較するだけなら√する必要がないから 適切な色空間を選べば良いんじゃないの
840 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 17:25:02 ] 24bit x 8byte(32bit)で だいたい100MBくらいのDBを作れば出来るな RGB順にインデックスを取ったとしても隣接距離は既に近いから 単純に横を比較するのではなく、ランダムに選抜した2つとその前後を比較して入れ替えをしていくと 1週間も繰り返してれば安定してくるかもしれない
841 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 17:55:27 ] 32bitは4byteだと思うが… それに値に応じたインデックス作るなら、 クイックソートかなんか使って完全に値順のテーブル化をするべきでしょ ランダムで入れ替えて作ったテーブルなんて どんなに時間を回しても信用ならないだろ …なんかファジーな子だねw
842 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 18:20:07 ] >>841 勘違いしてるようだな 青と赤の隣接距離と青と緑の隣接距離は同じなんだぞ 単純に並べ替えるだけだと同じ場所に来てしまう これは普通のソートとは意味が違う 青から見て赤と緑は距離は同じだけど どちらかが遠い場所にソートされないといけないわけ 問題が既にファジーなの
843 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 18:23:51 ] ここは3次元のピタゴラスの定理がまだ発見されていない世界なのか
844 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 23:58:58 ] >>842 君はデジタルの作業や思考が無理なんだね >青から見て赤と緑は距離は同じだけど >どちらかが遠い場所にソートされないといけないわけ 普通にソート後に、同じ隣接距離値内で RGB値元にソートしなおせば良いだけ 元になるテーブル値を作ろうって時に、さらにどう並べたいかも決まってるのに ランダムとかで作業するって、無いわ…
845 名前:デフォルトの名無しさん mailto:sage [2010/11/22(月) 00:05:49 ] テーブルにランダム要素が必要では無いと絶対に言い切れるし ランダムで行おうとしている内容を定義して、漏れなく行えば良いだけ 結局はプログラム的な思考が出来てないだけ
846 名前:デフォルトの名無しさん mailto:sage [2010/11/22(月) 02:24:27 ] 高次元での位置関係を保持したまま低次元に落とすのには Self Organizing MapsやGenerative Topographic Mapでやってただろ 視覚化の分野では
847 名前:デフォルトの名無しさん [2010/11/27(土) 14:03:08 ] >>790 Caltecが画像認識処理のサンプルデータを配布している。 www.vision.caltech.edu/html-files/archive.html
848 名前:デフォルトの名無しさん [2010/11/30(火) 11:38:55 ] SIFT特徴量を抽出するいいLinuxのコマンドラインプログラムない?
849 名前:デフォルトの名無しさん mailto:sage [2010/12/01(水) 01:16:40 ] VLFeat
850 名前:デフォルトの名無しさん mailto:sage [2010/12/02(木) 11:37:06 ] ガウシアンフィルタについてですが σ=s1のフィルタをかけてからさらにσ=s2のフィルタをかけること は σ=s1*s2のフィルタをかけること と同じことでしょうか?
851 名前:デフォルトの名無しさん mailto:sage [2010/12/02(木) 12:54:31 ] >>850 両者は全然違う。 試しに、a[0] 〜 a[4] の5要素1次元データに幅3のフィルタをかけて、 結果(a[2])の値を比べてみればいい。 あるいは、フィルタの計算式を立てることでもすぐに分かる(式を立てる途中で気づくはず)。
852 名前:851 mailto:sage [2010/12/02(木) 13:22:58 ] もっと簡単に言えば、 σ=1 で考えてみればいい。 二度フィルタリングするのと同じか。
853 名前:850 mailto:sage [2010/12/02(木) 13:28:16 ] やりたいことは σの大きなガウシアンフィルタをかけたいが カーネルサイズも相応に大きいために計算時間がかかる ↓ σの小さいフィルタ群(=カーネルサイズも小さい) を複数回かけることで同等の結果を得たい 使用する小さいフィルタのσの値と回数を求めたい といったことです 任意の2か所の画素位置A,Bについて,輝度値をL(A)と表すとすると 大きいフィルタを1回だけかけたときの 原画L(A)の結果画像L(B)への寄与率 と 小さいフィルタを複数回かけたときの 原画L(A)の最終結果画像L(B)への寄与率 が 等しくなればいいと思うのですが 式を考えようとしても フィルタをかける毎に画素の輝度値が周辺に拡散して それにさらにフィルタをかけるから……?? と混乱してしまい…
854 名前:デフォルトの名無しさん mailto:sage [2010/12/02(木) 16:12:25 ] 普通は小さいフィルタ複数回かけるより、大きいフィルタ1回のほうが早いと思うが・・・ ボカすのが目的だろうから、ガウシアンじゃなくもっと軽いフィルタを検討するとか
855 名前:デフォルトの名無しさん mailto:sage [2010/12/02(木) 18:05:56 ] >>85 σの大きさが処理速度に関係するのか? ガウシアンフィルタって次のヤツだろ f(x,y) = 1/(2 * π * σ^2) * exp (-(x^2 + y^2) / (2 * σ^2))
856 名前:デフォルトの名無しさん mailto:sage [2010/12/02(木) 18:08:03 ] ごめん、>>855 は無視して
857 名前:デフォルトの名無しさん mailto:sage [2010/12/02(木) 21:08:20 ] まず初めに1次元ガウシアンフィルタを横方向にかけておき、 その結果に対して同じ1次元ガウシアンフィルタを縦方向にかける、 という処理にすれば、もしかしたらメモリキャッシュなんかの効率が良くなり、 もしかしたら SIMD 系の CPU 命令を効率よく活用できるかもしれん。 (ただし、このように処理を分けると計算式内の乗算、加算の個数は単純に増える) あと、OpenCV のソースを見てみるのも手かもね。 既にやってた後ならごめん
858 名前:デフォルトの名無しさん [2010/12/02(木) 21:42:40 ] SIFT特徴量って、元画像のカラー情報は必要ないんだよね。 これは特徴量を算出するためには元画像をグレースケールに変換する必要があるってこと? それともカラー画像のままでもSIFT特徴量には変わりはないってこと?
859 名前:デフォルトの名無しさん mailto:sage [2010/12/03(金) 01:24:51 ] 縦と横でフィルタリングするのは、斜め方向の距離を無視することになるから 加工された画像に特徴的なノイズが乗る場合があるね。 いっそ、fftしてフィルタリングしてifftしたら?
860 名前:デフォルトの名無しさん mailto:sage [2010/12/03(金) 07:12:38 ] フィルタリンクの質ではなく、 おそらく畳み込みの処理速度を問題にしているのだと思うが
861 名前:デフォルトの名無しさん mailto:sage [2010/12/03(金) 15:22:40 ] >>858 1チャンネルの画像を対象にしたアルゴリズムだからグレースケールで処理する カラーごとに特徴点検出をすることもある(color SIFT)
862 名前:デフォルトの名無しさん [2010/12/03(金) 17:26:55 ] カラーヒストグラムを使った画像検索は簡単にできたので、SIFT特徴量を使った形状認識をさせたいんだけど、 静止画像から生成されたSIFTファイルを使った、他の画像とのマッチングアルゴリズムが良くわからない。 原理的に、動画で写っている特定の物体を動画のフレーム間で同一物体として認識させるような用途には使えそう なことは判るんだが、まったくことなる静止画像をSIFT特徴量で比較してもデータがマッチングする余地はないんじゃないかと思う。 SIFTファイルを使った類似画像検索技術について、いい参考資料はない?
863 名前:デフォルトの名無しさん mailto:sage [2010/12/03(金) 20:38:51 ] 画像のサムネイルを作りたいのですが。 800*600を1/8にして100*75のBMPにしたいです。 何か良いアルゴリズム又はサンプルソースありませんか?
864 名前:デフォルトの名無しさん [2010/12/03(金) 22:19:28 ] そんなのImageMagickで1行だよ。
865 名前:デフォルトの名無しさん mailto:sage [2010/12/03(金) 22:22:38 ] 今見ましたが、プログラムの中に組込みたいんです。 言語はC++です。他の言語でもアルゴリズムかサンプルがあれば、 参考にしたいです。
866 名前:デフォルトの名無しさん [2010/12/03(金) 22:23:55 ] こんな感じで一括変換が可能 ls -1|awk -F. '{print "convert -geometory 100x75 "$1".jpg "$1".bmp"}'|sh
867 名前:デフォルトの名無しさん [2010/12/03(金) 22:25:45 ] だったらOpenCV
868 名前:デフォルトの名無しさん mailto:sage [2010/12/03(金) 22:30:14 ] 8x8ピクセルを平均して1ピクセルにすればいいんだよ
869 名前:デフォルトの名無しさん mailto:sage [2010/12/03(金) 22:48:19 ] >>867 OpenCV 見ました。とても面白そうだけど、組込むには大きすぎるような… ライセンスを見つけられなかったし… OpenCVって商用可能なフリーなんですかね? >>868 一度それでやってみます。
870 名前:デフォルトの名無しさん [2010/12/03(金) 23:34:06 ] >>869 ImageMagickはライブラリがあるからプログラムに組み込めます。 もっとぐぐってください。
871 名前:デフォルトの名無しさん [2010/12/04(土) 04:36:06 ] >>869 OpenCVは商用可能なフリー(BSD)だよ
872 名前:デフォルトの名無しさん [2010/12/04(土) 13:12:22 ] cの中で内部実装するにしても別にライブラリ呼び出す必要性なんかないんじゃないかと思うよ そのままsytem関数で外部コマンドを実行させればいいわけだし。
873 名前:デフォルトの名無しさん mailto:sage [2010/12/04(土) 16:49:09 ] 画像うpろだ作りたいんだけど、これだけはやっとけってことは何? 必須機能な
874 名前:デフォルトの名無しさん mailto:sage [2010/12/04(土) 17:02:03 ] >>873 先ずは板違いを認識することだな。
875 名前:デフォルトの名無しさん mailto:sage [2010/12/04(土) 21:16:46 ] >>869 OpenCVのサンプルソースだ。お好みで画像の彩度を上げたりもできるだろうよ。 blogs.wankuma.com/aomushigou/archive/2009/01/13/166290.aspx ちなみに表示させる必要はないからcvShowImage()はいらなくて、 代わりに、保存させるcvSaveImage(ファイル名)だな。 ファイル名を変えながらforで回せば出来上がり。
876 名前:デフォルトの名無しさん mailto:sage [2010/12/04(土) 21:29:55 ] >>870 ,871,875 情報ありがとうございます。 >>875 のサンプルは短いですね〜、ちょっとやってみます。
877 名前:デフォルトの名無しさん mailto:sage [2010/12/05(日) 11:12:15 ] >>862 キーポイントの集合をbag of features(bag of keypoints、 bag of visual wordsとも) として検索すれば似たシーンなどは検索できる 精度はあまりよくない 同一物体を検索したいなら大規模なキーポイントのデータベースを作って 近似最近傍探索等で探す
878 名前:デフォルトの名無しさん mailto:sage [2010/12/06(月) 19:28:51 ] OpenCVよりもpython-fuのが便利だ
879 名前:デフォルトの名無しさん [2010/12/06(月) 21:18:13 ] だれかぼくのSIFT特徴量使った類似画像検索の質問答えて、お願い
880 名前:デフォルトの名無しさん mailto:sage [2010/12/07(火) 10:25:31 ] >>862 比べる2枚の画像からそれぞれSHIFT特徴量のベクトルを出しておくだろ? それらの特徴のスケールが大きいもん同士を比較すればいいんだから、 細かいところが違ってても一致するんだよ。 「特徴がスケール大きい」ってのは、濃淡の変化の仕方がなだらかって感じで 要するに細かいテクスチャなんかは無視して大きな変化を見てるってこと。 Jpegとかの低空間周波数成分をイメージするといいかもしれないな。
881 名前:デフォルトの名無しさん mailto:sage [2010/12/07(火) 10:31:35 ] 「いい参考資料はない?」って質問してんだけど
882 名前:デフォルトの名無しさん mailto:sage [2010/12/07(火) 18:38:33 ] >>881 あるよ
883 名前:デフォルトの名無しさん mailto:sage [2010/12/07(火) 21:27:07 ] bag of featrues でググって引用が多い5件
884 名前:デフォルトの名無しさん mailto:sage [2010/12/08(水) 02:17:14 ] >>879 szeliski.org/Book/ Chapter 14
885 名前:デフォルトの名無しさん [2010/12/08(水) 21:30:19 ] >>884 このよさそうじゃん。 ちょっとじっくり読んでみる
886 名前:デフォルトの名無しさん [2010/12/10(金) 14:17:05 ] SIFT特徴量の実装例、いくつかみてまわったんだけど、アプリケーションはMATLABで書いてるのが多い。 MATLABのホームページにいっても価格は要問い合わせとかになっていて公開されてないし。 なんか高そうなんですけど、実行系はGNU Octaveにかえてもだいじょうぶなのでしょうか? そもそもなんでMATLABとか特殊なソフトが登場してくるわけ?
887 名前:デフォルトの名無しさん mailto:sage [2010/12/10(金) 16:17:38 ] >>881 コンピュータビジョン最先端ガイド 3 にBag of featuresの解説が2章ほどあった。
888 名前:デフォルトの名無しさん mailto:sage [2010/12/10(金) 17:10:48 ] >>886 特殊ではなく、多くの研究者が使っているよ。論文のデモはMATLABばかりだし。 ほとんどはoctaveでも動く。 学生なら大学がライセンス持ってると思う。
889 名前:デフォルトの名無しさん [2010/12/11(土) 00:00:42 ] 一通り読んでみたけど、SIFT特徴量でググる際の一番いい検索ワードは「bag-of-featrues」だった。 これは単純にググってもでてこないわ。 局所特徴量をヒストグラム化してクラスタリングで分類というところまでは理解した。 後半部はカラーヒストグラムによる類似画像検索と同じなどので、前半の実装ができればすぐに作れそう。
890 名前:デフォルトの名無しさん mailto:sage [2010/12/11(土) 04:40:23 ] >>886 OpenCVでもSIFT使えるのは知ってるのか?
891 名前:デフォルトの名無しさん mailto:sage [2010/12/11(土) 04:55:27 ] >>886 本末転倒だな。OctaveはMATLABクローンだぞ。つまり、MATLABがあって初めてOctaveがある。 派生物よりオリジナル用に書いてあるのも当然じゃないか。
892 名前:デフォルトの名無しさん mailto:sage [2010/12/11(土) 11:02:25 ] >>887 3・・・だと・・・
893 名前:デフォルトの名無しさん mailto:sage [2010/12/11(土) 15:07:27 ] >>892 12月8日発行とあった。 密林では、まだ扱っていないようだ。
894 名前:デフォルトの名無しさん [2010/12/11(土) 18:00:29 ] でもMATLABって普通のとこじゃ売ってないじゃん。 大体、一般ライセンスはいくらすんのさ?
895 名前:デフォルトの名無しさん mailto:sage [2010/12/11(土) 20:36:09 ] >>894 1ライセンス40万くらいだったと思う。 コンピュータビジョンの研究なんて普通の人はしないからな。 他人のコードを動かすだけならOctaveで困らないし 読めれば動かすこともないと思うよ。 どうせアプリケーションはCだろうし。
896 名前:デフォルトの名無しさん mailto:sage [2010/12/14(火) 16:20:54 ] CまたはC++で動くDCT高速アルゴリズムのソース探してます。 ブロックサイズを変化させて実行したいので、ブロックサイズを任意に指定できるものがほしいです。 どなたかご存じのでしたら教えてください。 よろしくお願いします。
897 名前:デフォルトの名無しさん mailto:sage [2010/12/17(金) 23:23:30 ] ImageMagickで複数のpng画像からpsdファイルを作ろうとしましたが できたpsdファイルを見るとレイヤーの透明部分がロックされてしまいます。 ロックされないで合成する方法かあるいは出来たpsdファイルのロックを プロンプトの命令で外す方法がありますか? ↓作ったコマンド convert -geometry 896x704! 00000.png 00000.png convert -geometry 896x704! zzz.png zzz.png composite -compose Over -gravity northwest background_tile.png zzz.png background_tile.png composite -compose Over -gravity northwest layer000.png zzz.png layer000.png convert -roll +0+0 layer000.png layer000.png convert 00000.png background.png layer000.png henkan.psd
898 名前:デフォルトの名無しさん mailto:sage [2010/12/17(金) 23:48:14 ] 板違い
899 名前:デフォルトの名無しさん mailto:sage [2010/12/17(金) 23:56:12 ] >>898 うわ、すいません どこに行けばいいですか???
900 名前:897 mailto:sage [2010/12/18(土) 02:02:04 ] すいません、透明部分のあるpng画像をpsdに変換しただけで 透明部分がロックされたPSDが出来てしまう 事が分かりました。 どうしていいかまったく分からないです なんかアドヴァイスお願いしますOTL
901 名前:デフォルトの名無しさん mailto:sage [2010/12/18(土) 02:58:22 ] だからスレ違いだと言ってるだろすっとこどっこい そんなの画像処理でもなんでもない
902 名前:デフォルトの名無しさん mailto:sage [2010/12/18(土) 14:19:32 ] フォトショスレに行けば?
903 名前:897 mailto:sage [2010/12/18(土) 15:00:26 ] バイナリエディタで手動で変えるところまで出来たので とりあえずどこかへ移動します
904 名前:名無し募集中。。。 mailto:sage [2010/12/20(月) 14:27:27 ] ここは画像認識系の画像処理スレだから 画像加工系の画像処理はフォトショップ系のスレに移動してねっていう意味
905 名前:デフォルトの名無しさん mailto:sage [2010/12/20(月) 14:40:08 ] それ以前に、特定ソフトの操作方法(しかもファイル操作)の話は画像処理プログラミングとは全く関係無いだろうと 画像加工でもアルゴリズムの分析や最適化とかなら良いだろうし
906 名前:デフォルトの名無しさん mailto:sage [2010/12/20(月) 18:49:57 ] 誰か突っ込めよ
907 名前:デフォルトの名無しさん [2010/12/20(月) 19:18:13 ] なんでやねん!
908 名前:デフォルトの名無しさん [2010/12/20(月) 20:54:34 ] 組み込みじゃない画像認識ってハルコンとか使うの?
909 名前:デフォルトの名無しさん mailto:sage [2010/12/22(水) 02:37:00 ] >>905 ソフトじゃなくてバイナリデータの内容の話ならいいですか?? psdからだいぶデータを取得したけど 検索したサイト見てもよく分からない部分がありまして・・・
910 名前:デフォルトの名無しさん mailto:sage [2010/12/22(水) 03:27:20 ] www.youtube.com/watch?v=0mEHKFibv0g
911 名前:デフォルトの名無しさん mailto:sage [2010/12/22(水) 13:24:02 ] >>910 あああ、画像処理ってこういう高レベルの事でしたか・・・ どうもすいませんでした。 あとすいません自己解決もしました。 お騒がせしました
912 名前:デフォルトの名無しさん mailto:sage [2010/12/22(水) 19:16:43 ] >>911 20年前のFM-TOWNSでこうしたアイデアは先取りされていたけどね 画面にリアルタイムに映った自分の手でCGのボールを操作するゲームがあった
913 名前:デフォルトの名無しさん mailto:sage [2010/12/22(水) 19:18:03 ] www.youtube.com/watch?v=JQvLt7DQhaI www.youtube.com/watch?v=MZHEzDmXO2w
914 名前:片山博文MZ [2011/01/01(土) 13:28:49 ] パスの単純化の方法がわかりません。 困っています。教えてください。お願いします。
915 名前:デフォルトの名無しさん mailto:sage [2011/01/01(土) 15:00:49 ] potraceのソース嫁 本だったら「画像認識の基礎T」
916 名前:デフォルトの名無しさん [2011/01/01(土) 15:23:58 ] 画像処理関係はVC++やVC#より、Gimpの作成元のGtk+とかの方が優れているんでしょうか? 作るソフトはそう難しい処理をするわけでもないんですが、Gtk+の方が簡単な処理にも画像処理の点において 便利な関数とかあるなら、そっちを使いたいです。VC#でやってみたんですが、jpegなどにUI上で任意の図形を描画して 保存するのも結構手間がかかります。
917 名前:デフォルトの名無しさん mailto:sage [2011/01/01(土) 16:52:26 ] 関係ない
918 名前:デフォルトの名無しさん mailto:sage [2011/01/02(日) 01:47:23 ] www.youtube.com/watch?v=x32TGROYbdU&feature=related これと同じことをやりたいです。 背景差分→blob抽出→meanshift→オブジェクト同士が衝突するときKLTで推測? なんですかね さっぱりわかりません。 どなたか天才の方教えてください。
919 名前:デフォルトの名無しさん mailto:sage [2011/01/02(日) 01:55:27 ] 天才はここにはいないよ 他をあたってくれ
920 名前:デフォルトの名無しさん mailto:sage [2011/01/02(日) 03:25:18 ] とりあえず、同じような処理を作って試してみれば良いんでね?
921 名前:片山博文MZ [2011/01/02(日) 13:44:44 ] >>915 thanx