5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

画像処理 その11

1 :デフォルトの名無しさん:2008/09/28(日) 18:26:18
画像処理プログラミングについて質問、議論を行うスレッドです
・画像処理について素人同士で大激論
・初学者の質問に対してやさしく(的を外れた)解答を与える
・その道の玄人も大歓迎

前スレ
画像処理 その10
http://pc11.2ch.net/test/read.cgi/tech/1197759782/

2 :デフォルトの名無しさん:2008/09/29(月) 00:25:00
類似画像検索をつくりたいですが、いい参考ページはありますか?

3 :デフォルトの名無しさん:2008/09/29(月) 00:47:25
このスレの過去ログ

4 :デフォルトの名無しさん:2008/09/29(月) 11:22:49
細線化した2値画像がどれくらい類似しているかを
計算するにあたって
特徴量をもちいたいと思っています。

題材は立方体や直方体のようなある程度整ったものではなく、
蛇のようなうねうねした形のような
方向が一意に定まらない複雑なものなのですが、
これに対しては
どんな量を用いるのがいいのでしょうか。

線の長さや
最小二乗法か何かで特徴を表す直線を計算するとか
色々あるとは思うのですが…

5 :デフォルトの名無しさん:2008/09/29(月) 23:33:28
>>4
特徴に求められている条件が不明

回転・伸縮に対して不変な特徴ががいるの?
他の図形要素と混在(重複)していてもパターンマッチする必要があるの?

6 :デフォルトの名無しさん:2008/09/29(月) 23:49:21
標準の20ピクセルくらいの小さいビットマップ画像がありまして、
その画像より青っぽいとか赤っぽいとかを検出したいです。
そのビットマップの大部分(全部ではないことが多い)に
フォトショみたいなので青や赤の半透明フィルターをかけたような画像なんです。
どういうアプローチをするのがふつうですか?

7 :デフォルトの名無しさん:2008/09/30(火) 00:59:54
そんなの聞かないのが普通

8 :デフォルトの名無しさん:2008/09/30(火) 01:06:38
画像ごとの全画素のRGB平均をHSVに変換してHで比較すれば?

9 :デフォルトの名無しさん:2008/10/01(水) 20:41:20
>>8
   ,,v‐v-/l_  (⌒)プンプン
  _「/ ̄  く   /
  lYノノ/_ノl_ヽ))    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  <イ( l l )l> < えっちなのはいけないと思います!
 <|)'|l、"(フノ|l    \______________
  ,(ヨリ<>o<>リ、
  |ト‐!、・ ) ・).|
  ヽ_ノv    l |
.  ノ[//  , ./_/
 (  /~'、--‐ソ_)
  ,-i  ヽ/'´ヽ
 └-\.  \  )
     ヽ、__,ノ`

10 :デフォルトの名無しさん:2008/10/01(水) 23:34:46
懐かしいなw

11 :デフォルトの名無しさん:2008/10/01(水) 23:43:33
気持ち悪いよ
こんなの貼る神経がわからん

12 :デフォルトの名無しさん:2008/10/02(木) 14:42:40
PSDファイルを読み書きできる
ライブラリってありますか?

13 :12:2008/10/02(木) 14:49:58
C/C++でお願いします。

14 :デフォルトの名無しさん:2008/10/03(金) 00:48:49
>>12
つ[ImageMagick]

15 :デフォルトの名無しさん:2008/10/05(日) 11:17:48
2次元の直線検出ならハフ変換でいいと思うんだけど、
3次元の場合ってどうなるんだろう?

16 :デフォルトの名無しさん:2008/10/05(日) 11:24:55
>>15
それは「三次元」の意味によるかな.(x,y,z) を並べたデータなのか、視差によるステレオを行うための二次元画像ペアなの
か、それともそれ以外の形式か...

17 :デフォルトの名無しさん:2008/10/05(日) 11:39:54
CTスキャンみたいなボクセル形式

18 :デフォルトの名無しさん:2008/10/10(金) 07:26:18
教えていただきたいんですが、C言語で画像処理をする上で、
アセンブラ記述ができると良い点というのはどんなことでしょうか?
処理によっては高速になるのでしょうか?
よろしくお願いします。

19 :デフォルトの名無しさん:2008/10/10(金) 07:39:23
アセンブラは低メモリで高速だろ

20 :18:2008/10/10(金) 07:48:28
>>19
早速のレス、ありがとうございます。
メモリがふんだんに使える環境では使う意義は少ないのですね。

ありがとうございました。

21 :デフォルトの名無しさん:2008/10/10(金) 08:03:00
>>20
いいえ、スレ違いです。

22 :デフォルトの名無しさん:2008/10/10(金) 11:56:53
>>18 CPUの特殊な命令を使える(MMXとか)

23 :デフォルトの名無しさん:2008/10/10(金) 12:28:51
それわよいてんでわありません

24 :デフォルトの名無しさん:2008/10/10(金) 13:18:57
どうよいてんでわないのかくはしく

25 :デフォルトの名無しさん:2008/10/10(金) 13:33:01
書ける必要はないけれど、読めるのは大変良いよ。
ライブラリを使うときだって、理論や基盤が分かっていないと精度が悪かったり遅くなったりするように
プログラムを組む上で無駄が省ける(≠トリッキー)ようになる。

C言語に詳しい人だって、意図せずに浮動小数点数と整数の変換が行われていて
遅くなったり精度が落ちたりするミスがたまにある。
ちょくちょくアセンブリ出力を見る癖を付けておくとそういうミスに気づきやすい。

C++だと代入時のコンストラクタやら演算operator、キャストoperatorが頻繁に起こっていて
気づかないところがボトルネックになっていたりするし。

26 :デフォルトの名無しさん:2008/10/10(金) 13:49:19
つまりC及びC++という言語の設計が悪いと。

27 :25:2008/10/10(金) 14:36:26
それはそうだけれど、型に厳格な言語だから他の言語よりマシ。
整数と浮動小数点数間の演算さえ明示的にキャストしなきゃいけない言語があってもいいかもしれないけど。

28 :デフォルトの名無しさん:2008/10/10(金) 20:03:47
Ocamlですね

29 :デフォルトの名無しさん:2008/10/10(金) 22:20:03
それは論外

30 :18:2008/10/11(土) 00:37:01
>>22
SSE2とか早そうですね。

>>25
なるほど〜。
その考え方は納得です。
今までWindowsプログラムをwin32apiでシコシコ組んでたんですけど、MFCを使うときに
内部のある程度具体的な処理内容をイメージできそうなので良かったと思っていますし。

動画などのリアルタイムに更新される画像に対して画像処理を行うソフトを作る場合、
今現在は主に以下のような方法があると思うのですが、それぞれの特徴について
間違っているところ、他にもこんな特徴があるよ、といった点を教えていただきたいです。

・GDI ・・・ ハードウェアを直接的に動かさないので遅い
・OpenCV ・・・ 画像処理を行う上で便利な関数をカバーする(処理速度的にはどうなんだろう?)
・DirectShow ・・・ ハードウェアを直接動かすので、高速なビデオ映像処理を行える
・DirectX ・・・ グラフィックス処理に特化したGPU(シェーダ)を利用するので非常に高速
         シェーダプログラムにより柔軟性も向上している
・CUDA ・・・ GPUのグラフィック処理性能にC言語プログラミングの柔軟性が加わった

CUDAが処理速度、組み易さともに一番良さそうに思うのですが、どうでしょうか??

31 :25:2008/10/11(土) 01:18:15
知らないで勝手な事言うけど、認識はおおむね正しいと思う。識者に譲る。

ただレイヤーが違うものが若干混じってると思う。
OpenCVは計算しか行わないと思うので、表示はその他と組み合わせる必要がある。

それとDirectXやCUDAといったGPUは、超が付くほど並列性が高く、尚かつ
メモリアクセスを伴わない演算量が多いときに効果を発揮するので
最終的にはやはり適材適所でCPUの演算と組み合わせる必要があるんじゃないかと。

ホント使った事ないで勝手な話してるから話半分に聞いて欲しいんだが、
例えば広域の移動平均なんてCPUでやると簡単に演算量減らせるアルゴリズムがあるけど
並列度が上がってくるとあんま効率よく無さそうな気がするんだ。

32 :デフォルトの名無しさん:2008/10/11(土) 01:21:03
あなたがどれほど速度が欲しいのか不明なので全く意味が分かりません。

基本的には、画像処理など最速のアルゴは既に完成されているので、それを呼び出すブリッジ(ライブラリ)を作るのがいいですよ。
その分呼び出しコストがありますが、その程度の処理上の誤差を気にするようじゃ、あなたは何も作れないでしょう。
数年後を見据えて、OpenGLか、DirectXをコールするクラス、javaやdotnet で開発するのがいいんじゃないですか?
やる気あるなら、rubyとかでも出来るんですけどねw
自作でどうしても必要な部分だけ、c使えばいいでしょう。
能書きだけで大した技能もないようだし、あなたにasm(sse)など早すぎますw

それはそうと、こういうキモオタ趣味は自分のブログでまとめてみてはどうですか?


33 :デフォルトの名無しさん:2008/10/11(土) 02:32:14
CUDAについての誤解とか、SSE2がどうだとか、かなり明後日の方向を向いているのは確か。
しかし、それらについて語るのはこのスレから見たらスレ違いでしかない罠。

34 :デフォルトの名無しさん:2008/10/11(土) 02:34:45
そんな頭だからお前はその程度なんだよ

35 :デフォルトの名無しさん:2008/10/11(土) 06:00:16
まあまあ入門者をいじめてやんなって。

36 :デフォルトの名無しさん:2008/10/11(土) 12:41:45
自分より弱そうな相手に強気になるスネオ体質は2chのデフォだからしかたない

37 :デフォルトの名無しさん:2008/10/11(土) 20:55:53
客観厨

38 :デフォルトの名無しさん:2008/10/12(日) 00:32:54
RGB<->HLS 変換に関して質問があります。
調べてみると、2種類の変換式が見つかったのですが、
どのような違いがあるのでしょうか?

http://opencv.jp/opencv/document/opencvref_cv_filters.html
http://www.weblio.jp/content/HLS%E8%89%B2%E7%A9%BA%E9%96%93

上のリンクの、Vmax, Vminを使う方法が一般的なようですが、
手持ちの書籍(ディジタル画像処理の基礎と応用)だと下リンクの
YCC色空間を介して変換する手法が出ています。
これじゃ等価にならない気がするんですが、詳しい方教えて下さい。
よろしくお願いします。

39 :デフォルトの名無しさん:2008/10/13(月) 20:05:45
ブロブ(粒子検出)の原理が知りたいんだけど参考になるサイトある?

40 :デフォルトの名無しさん:2008/10/14(火) 14:18:20
http://www.google.co.jp/

41 :デフォルトの名無しさん:2008/10/14(火) 22:45:09
波の回折をアニメーションさせたいのですが、今のところ配列で、
2次元平面状に波の強さ・高さ?を表現

それを元にHSVを求めてRGBに変換(波の強さに応じて青から赤に変化)

画像描画←で悩んでいます。

言語はC/C++です。お薦めのライブラリを教えてください。
実際には、GUIでウインドウを作成し、そこにアニメーションを表現したいので
javaのcanvasにsetPixelで埋めていくような処理が出来ると助かります。

42 :デフォルトの名無しさん:2008/10/14(火) 22:52:34
OpenGLとGLUTなら、あっという間に描画できると思うが。

43 :デフォルトの名無しさん:2008/10/14(火) 23:18:56
openGLはどうも3次元っていうイメージがあって、
2次元だったらopencvかなぁと思ってググってたんですけど。
ピクセルの取得はあっても、ピクセル情報から画像を作るってのが
なかなか見つからなかった。
openCVは、
>>41
のような作業には適してないのですか?

方向としては、opengl+glutで行こうと思います。

44 :デフォルトの名無しさん:2008/10/14(火) 23:46:02
>>43
NVIDIAの最近のGPUを持っているなら、CUDAのサンプルを見てごらん。
# いや、持ってなくてもエミュレーションで実行できると思うけど。

45 :18:2008/10/15(水) 00:19:56
ご意見、ありがとうございました。

46 :デフォルトの名無しさん:2008/10/15(水) 23:01:58
なんでわざわざ環境を選ぶCUDA?
OpenCVでも(というか、勝手にunsigned charの配列を作って)IplImageの構造体を作ればいいだけだと思うけど…
なんか、便利なライブラリがいろいろ出てきたことによって、いかにライブラリを使ってこねくりまわすかみたいなところに
主眼が当てられて、根本的な部分(画像データは実際は単なる配列)を学ぼうとしない人がおおすぎない?
もちろん環境依存するような部分(実際にウィンドウ開くとか、カメラから画像をとってくるとか)は
ライブラリに任せちゃってもいいとは思うけど。
「aからzまで並べた文字列を作りたいのですが、そういうライブラリはありますか?」みたいなのが
おおすぎると思うよ。
質問者に対して言いたいというよりは、どっちかというと回答者ね。
OpenCVなんか使わないほうがシンプルに(IplImageのこととか考えずに)できることにOpenCV勧めてみたりみたいなの。

47 :デフォルトの名無しさん:2008/10/16(木) 08:16:03
誰かCUDAを勧めたか?

48 :41:2008/10/16(木) 09:49:21
もとになるデータが配列だったので、openglのglDrawPixelsで一発でいけました。
openCVは解析用って感じなんですかね。

49 :デフォルトの名無しさん:2008/10/17(金) 08:54:18
FFTについての質問です。
FFT→IFFTと掛けてやった場合はちゃんと元のイメージが復元されるのですが、
FFT後にパワースペクトルの画像を出力してみると、スペクトルの幅が
あまりにも大きすぎて、中心数ピクセル以外真っ黒になってしまいます。
6回ほど平方根を取るとよくあるパワースペクトルの模様が出てくるのですが…

FFTのコードは
ttp://www.kurims.kyoto-u.ac.jp/~ooura/fftman/index.html
のリスト1.2.1-3のコードを元に、並べ替え部分をリスト1.2.5-4に変更、その他の部分を少し変形して
C#に書き換えた物(といってもsinをMath.Sinに書き換える程度)を使用しています。
FFT→IFFTでイメージがちゃんと復元できているのでどこかコードを書き間違えてるわけではないと
思いますが…

よろしくお願いします。

50 :デフォルトの名無しさん:2008/10/17(金) 18:16:19
>49
画像に寄る。ほとんどの画像は低周波付近が支配的ではないかな。
FFTルーチンの正当性を調べたいなら、Sin画像などで周期を変えればいいんでない?
スペクトルが見難いのなら、log取ればいいんでない?
で、質問は何?


51 :デフォルトの名無しさん:2008/10/17(金) 23:40:45
>>49
周波数空間像を絵としてみる場合は、>50の言うようにlogを取るのが一般的だね。
で、何を宜しくして欲しいのかな?

52 :デフォルトの名無しさん:2008/10/18(土) 03:56:37
OpenCVのC#用ラッパーでいいのありませんか?

53 :49:2008/10/18(土) 08:53:39
>>50,51
Logをとるとうまくスペクトルが表示されるようになりました。
質問はどうやったら真っ黒にならずにスペクトル画像ができるかだったのですが、
質問になってなかったですね。すいません orz

もう一つ質問させていただきたいのですが、FFTを使って畳み込みフィルタ処理をしたときなのですが、
イメージをrealとimage、フィルタをcrealとcimage、pを画素の位置(y * width + x)とすると、
それぞれFFTをかけてから全要素に対して

r = real[p] * creal[p] - image[p] * cimage[p];
i = real[p] * cimage[p] + image[p] * creal[p];
real[p] = r;
image[p] = i;

としたものなのですが、イメージを復元するとなぜか

.1 | 2
―┼―
.3 | 4

と並んでいたものが

.4 | 3
―┼―
.2 | 1

となってしまいます。これは普通で、畳み込み処理を行った後に並べ替える物なのでしょうか?

54 :デフォルトの名無しさん:2008/10/18(土) 11:06:55
画像処理を一通り勉強するのに最良の本を教えていただけないでしょうか。
使用言語はC++です。

55 :デフォルトの名無しさん:2008/10/18(土) 11:39:20
使用言語がC++ではなければ、よい本があるよ!

56 :54:2008/10/18(土) 12:18:31
>>55
その本はなにですか?

57 :デフォルトの名無しさん:2008/10/18(土) 14:00:22
>54
その前に、最良のレストランを教えてくれ。

本も色々あるのは目的や読む人のバックグラウンドによって最良が違うから。
Gonzales&Woodsはじっくり学ぶにはいいが、即戦力を求めると期待はずれ。
ディジタル画像処理は画像処理の種類や簡単なアルゴリズムを見られる。
OpenCV本は即使えるが、原理学ぶには向いていない。


58 :デフォルトの名無しさん:2008/10/19(日) 00:36:10
まずはフーリエ変換

59 :デフォルトの名無しさん:2008/10/19(日) 15:03:35
画像処理フリーソフトで一番よいものを教えて下さい!!!
たくさん機能がついているものがほしいです。

60 :デフォルトの名無しさん:2008/10/19(日) 15:37:49
GIMP

61 :デフォルトの名無しさん:2008/10/23(木) 04:16:58
画像合成の閾値の求め方をおしえって

62 :デフォルトの名無しさん:2008/10/23(木) 04:19:49
実験の考察って何書けばいいのでしょうか?

63 :デフォルトの名無しさん:2008/10/23(木) 05:03:01
実験の考察を書けばいいじゃない

64 :デフォルトの名無しさん:2008/10/27(月) 15:12:06
n個の領域を目立つ色(緑 <=> 赤 など)で分割したいのですが
そんなサブルーチンどこかにないでしょうか?
何かの色空間で最も離れるような色を選べばいいのでしょうか


65 :デフォルトの名無しさん:2008/10/27(月) 16:23:55
>>64
nの個数と分割する対象にも拠るけど、色相を0度から360度して適宜分割すればいいんじゃね。
何かの値を色にする場合は色相で赤から(黄を通って)青まで使うことが多いけど。

66 :デフォルトの名無しさん:2008/10/27(月) 17:44:46
>>64
ブラーかけて減色するってんじゃ駄目?

67 :デフォルトの名無しさん:2008/11/15(土) 20:50:34
k-meansでクラスタリング

68 :sottovoce:2008/11/17(月) 09:52:50
こんにちは・・・
どこに書き込んだらいいか、2ちゃんねる初心者なもので・・・
場違いだったら削除しても結構です。

【本題】
最近タクシーに乗ると車載カメラが取り付けてあるのはご存じてすか?
車内を撮るカメラと進行方向を撮るカメラがありますが、
いろいろな面でタクシー会社やドライバーには有意義な装置です。
特に事故やトラブル時に威力を発揮しますが、
困ったことに画像がいまいち鮮明でないために使い物にならないときがあります。
警察に画像を持ち込むと画像処理をしてくれますが、
車内で手軽に画像分析が出来る方法を探しています。
例えば、当て逃げされた車両のナンバーを正確に読みたい場合。
また、乗り逃げされた乗客の顔を鮮明にしたい・・・などです。
良いソフトをご存じでしたら是非お教え下さい。

また、場違いの掲載でしたら、
どこに書き込んだらいいかも教えて下さい。

宜しくお願い致します。



69 :デフォルトの名無しさん:2008/11/17(月) 10:05:05
>>68
> 当て逃げされた車両のナンバーを正確に読みたい

タクシーが当て逃げして逃げたってことか。自首しろよ。

70 :デフォルトの名無しさん:2008/11/17(月) 12:02:52
>>68
ここはソフトの作り方を話す板。ソフトウェア板かCG板できけ。
つーか、車内で手軽にやるって、全車にパソコンやらなんやら積み込む気か? コスト考えたら無理だろ。

71 :sottovoce:2008/11/17(月) 12:14:00
大変失礼しました。
大手4社(国際、日本交通、大和、帝都〜大日本帝国という)に既に全車に装備されています。
他に日の丸も全車、東都も大部分が装備、東京地区では他社も随時装備されつつあります。
車内を撮影することはプライバシー上難しい問題がありますが、
前方を撮るカメラは近いうちに東京では全車装備されるでしょう。
コストは一台分、数万円です。
問題は記録した画像の分析。
微かにしか写っていないナンバープレートを読むのは結構大変なんです。
そこで相談したんですが、
どうやら場違いのようで・・・

大変失礼致しました。
ごめんなさい。


72 :デフォルトの名無しさん:2008/11/17(月) 13:12:50
画像の分析なんて職人技だよ
ソフトで読み込んでボタン押して終わりじゃない


73 :デフォルトの名無しさん:2008/11/17(月) 14:36:32
自動で解析するわけじゃない
ナンバーまでほしかったら車載カメラの解像度を上げるほうが先だ
このあいだの大阪ひき逃げでも防犯カメラに車がうつってても、車種すらわからんかったじゃないか

74 :デフォルトの名無しさん:2008/11/17(月) 15:19:46
防犯カメラより車載カメラの方が解像度は高いけどね。

75 :デフォルトの名無しさん:2008/11/17(月) 22:03:04
動画なら超解像が有効なんじゃないか?
そろそろSpursEngineで実用的になる・・・かもしれない


まあ>>68氏のニーズに応えられる機能とコストを提供できるかどうかしらんが

76 :デフォルトの名無しさん:2008/11/17(月) 23:12:41
そりゃあんた、コストを提供されても困るよ。

77 :デフォルトの名無しさん:2008/11/18(火) 17:49:14
>>73
解像度上げても、素子の飽和電流下がると
高コントラストの画像は吹っ飛んで見えなくなるぞ。

78 :デフォルトの名無しさん:2008/11/18(火) 18:01:29
やっぱりCCDは画素数よりもサイズだよなあ

79 :デフォルトの名無しさん:2008/11/18(火) 18:31:11
ドライブレコーダって、撮影条件はめちゃくちゃ悪いよなあ。
その割に、チャチなレンズにチャチな素子しか付いてないけど。

80 :デフォルトの名無しさん:2008/11/19(水) 09:49:47
フレーム補間する前と後の動画があるところを教えて下さい
(モニタが60fpsまでなので、例えば30fps→60fpsに変換した動画など)

81 :デフォルトの名無しさん:2008/11/19(水) 10:48:41
最初から高画質で録画しるw

82 :デフォルトの名無しさん:2008/11/19(水) 11:14:59
>>80
http://www.cvalley.co.jp/ae_plugin/re_visioneffects/twixtor.html

まずググレ。

83 :デフォルトの名無しさん:2008/11/19(水) 12:05:28
>>82
ググれといいつつ探してくれるとは!
ありがとうございます

84 :デフォルトの名無しさん:2008/11/19(水) 15:17:12
動画なんだから超解像かければいいんじゃね>タクシー

85 :デフォルトの名無しさん:2008/11/19(水) 16:40:07
>>68
> 当て逃げされた車両のナンバー
> 乗り逃げされた乗客の顔

これって日本語が不自由な人?
それとも、「当て逃げなされた車両」「乗り逃げなされた乗客」?

86 :デフォルトの名無しさん:2008/11/19(水) 23:00:07
↑日本語が不自由な人

87 :デフォルトの名無しさん:2008/11/20(木) 18:00:10
http://www.okada.jp.org/RWiki/?R%20%A4%CE%B2%E8%C1%FC%BD%E8%CD%FD
こんなことできるんだね
知らなかった

88 :デフォルトの名無しさん:2008/11/21(金) 00:51:46
輪郭を認識して画像を抽出するアルゴリズムで
効率的ですばやい動作だと思えるものを使ってるらしきソフトを教えてください

89 :デフォルトの名無しさん:2008/11/21(金) 01:01:08
板違い

90 :デフォルトの名無しさん:2008/11/21(金) 01:27:08
>>88
効率的ですばやい動作で輪郭を認識して画像を抽出する
アルゴリズムだと主張している論文で使われているデモアプリ

91 :デフォルトの名無しさん:2008/11/22(土) 00:44:13
2次元のIIRてできるのん?

92 :デフォルトの名無しさん:2008/11/22(土) 17:57:12
>>89>>90
いきなり応用だと難しかったか

93 :デフォルトの名無しさん:2008/11/24(月) 00:06:15
segmentationは基本的に遅い
どっかにCUDAを使って高速化したソフトがあった希ガス

94 :デフォルトの名無しさん:2008/11/24(月) 04:29:04
画像処理というかFlashみたいな図形アニメーション?ああいうのってどんな仕組みなのかな。
オブジェクト保持して背面から描画していってるんだろうけど、高速に描画するためにクリッピング
やら最適化やらいろいろ工夫して描画していってるんだよね?
毎回全オブジェクトを描画とかしてたらすごく遅くなっちゃいそうだし・・うーん。

95 :デフォルトの名無しさん:2008/11/24(月) 06:18:32
「画像処理」って言葉は物凄く広義で捉えられることも多いけど、
このスレは狭義の画像処理だよね?

94みたいな質問は、ぶっちゃけスレ違いなんだ。
ではどこのスレがいいかと探してみたが…
ttp://pc11.2ch.net/test/read.cgi/gamedev/1007933882/l50
過疎ってた

96 :デフォルトの名無しさん:2008/11/24(月) 09:03:06
94はゲームしたこと無いだろ。
今の3Dゲームがどれほどのリアルタイム処理をしているか知らないのか。

97 :デフォルトの名無しさん:2008/11/24(月) 09:34:37
いや3Dじゃなくってさ、Flashとかは結構貧弱な環境(GDI)とかでアルファブレンディングなり、
ベジェ曲線のアニメーション描画とかやってるじゃない?結構大量のオブジェクトをぐちゃ
ぐちゃ動かしてるページもあるし。
たとえば自分でああいうのを作ったらすごく遅くなりそうだなと思って。だからああいうのは
何やらすごく効率的なアルゴリズムがあるのかなあと。

98 :デフォルトの名無しさん:2008/11/24(月) 12:19:38
>>97
Flash Playerの設定のディスプレイのタブを見ると、ハードウェアアクセラレーションを有効にする
っていう設定があるから、DirectDrawとかは使ってるんでない?

99 :デフォルトの名無しさん:2008/11/24(月) 13:13:37
ベジェだって重くないしエッジだけだから
昔のスキャンラインアルゴリズムでも速度出るんでないか?
高解像度ウィンドウだとそれなりにCPU食ってるし。
アルファブレンドも最低でもMMX使えりゃ負荷はさほどないし。

100 :デフォルトの名無しさん:2008/11/24(月) 15:49:01
複数のjpg画像のボケ具合?を比較するにはどうすればよいでしょうか。
また、理想としては解像度が異なる画像でも比較できればと考えています。
使用言語はC++もしくはCです。

よろしくお願いいたします。

101 :デフォルトの名無しさん:2008/11/24(月) 15:52:05
ヒストグラムの分布幅でいけそうだが

102 :デフォルトの名無しさん:2008/11/24(月) 16:22:45
>>101
即レスありがとうございます。
早速試してみたいと思います。

質問内容の補足ですが、対象とする画像の被写体は様々です。
画像全体としてのボケ具合というか、どの程度ピントがあっているか、
を比較できればと考えております。
引き続きよろしくお願いいたします。

103 :デフォルトの名無しさん:2008/11/24(月) 16:44:33
普通はFFTとかじゃね?

104 :デフォルトの名無しさん:2008/11/24(月) 16:53:52
>>102
それだとヒストグラムだときつそうだね。
ヒストグラムは同じ被写体が写ってないと出来なそう

105 :デフォルトの名無しさん:2008/11/24(月) 17:57:15
2次元画像のパターンマッチングについて質問したいのですが、

ターゲットの画像と同じ大きさ、同じ図形のものを原画像から抜き出すことはできるのですが
違う大きさの似たような図形を抜き出すことが出来ません。

そのために画像を1ピクセルごとに読み込み、同じピクセルの系列を読み込めるようにして、
似たような画像も検出できるようにしたいのですが、数式ではどのように表すことができるのでしょうか?

またプログラム(java)上ではどのように書くことができるのでしょうか?


明日までに仕上げないといけないのでどなたかお願いします。

106 :デフォルトの名無しさん:2008/11/25(火) 01:04:26
あきらめる

107 :デフォルトの名無しさん:2008/11/25(火) 12:10:38
もう半日しかないしね。

108 :デフォルトの名無しさん:2008/11/25(火) 15:29:45
あはははっは

109 :デフォルトの名無しさん:2008/11/25(火) 18:25:05
親子の顔画像がそろったデータベースってないでしょうか?
親子関係の証明を顔画像認識でできるか試してみたいのです

具体的にはこの問題への適用を考えています

【国籍法改正】法務省「親子関係の確認を厳格化して、できる限りの偽装認知防止策をとる」★2
http://mamono.2ch.net/test/read.cgi/newsplus/1227603058/

基本のブースティングは改造しないで
Haar特徴の部分だけ 顔画像比較用 特徴
みたいなものに改造したとして

うまくいく可能性はどのくらいでしょうか

110 :デフォルトの名無しさん:2008/11/25(火) 18:35:23
人間に出来ない事を機械が出来るとは思わないが

111 :デフォルトの名無しさん:2008/11/25(火) 18:47:29
親子の顔はなんとなく似てるはずです
boostingがそんな特徴を自動抽出してくれるのに期待しています

112 :デフォルトの名無しさん:2008/11/25(火) 19:25:12
DNA検査のほうがまだ正確
整形がある時代に顔が似てるというだけで国籍を与えるクソソフトを作るつもりか?
馬鹿な事に時間と金をかけるな

113 :デフォルトの名無しさん:2008/11/25(火) 23:20:03
日本人ならあんな法律を促進するようなソフトをつくろうとも思わないよな・・・
在日は国へ帰ればいいのに。

114 :デフォルトの名無しさん:2008/11/25(火) 23:27:33
法律なんか関係ねーよ
学問的な意味があるんだよ馬鹿が

115 :デフォルトの名無しさん:2008/11/25(火) 23:29:23
国へ帰れ在日野郎。

116 :デフォルトの名無しさん:2008/11/25(火) 23:30:56
日本国のためになる研究すればいいのにな

117 :デフォルトの名無しさん:2008/11/25(火) 23:34:01
どうせならタバコの自動販売機の顔で年齢判断する研究でもしてほしい
売国装置よりよっぽどマシだ

118 :デフォルトの名無しさん:2008/11/25(火) 23:48:37
それでは・・・
親子の顔画像がそろったデータベースってないでしょうか?
親子関係不存在の証明を顔画像認識でできるか試してみたいのです

具体的にはこの問題への適用を考えています

【国籍法改正】法務省「親子関係の確認を厳格化して、できる限りの偽装認知防止策をとる」★2
http://mamono.2ch.net/test/read.cgi/newsplus/1227603058/

基本のブースティングは改造しないで
Haar特徴の部分だけ 顔画像比較用 特徴
みたいなものに改造したとして

うまくいく可能性はどのくらいでしょうか

119 :デフォルトの名無しさん:2008/11/25(火) 23:51:27
DNA鑑定をしろ。

120 :デフォルトの名無しさん:2008/11/25(火) 23:56:44
まあDNA鑑定と同等以上の事が顔認証で可能とは思えない
ましてや国籍法レベルで誰もが納得するようなソフトなんて無理だ

121 :デフォルトの名無しさん:2008/11/26(水) 04:01:03
如何だろ
特徴点抽出の精度上げれば可能じゃないかな


122 :デフォルトの名無しさん:2008/11/26(水) 04:08:39
頬骨が突き出ているかどうか見れば、チョンかどうかわかるな

123 :デフォルトの名無しさん:2008/11/26(水) 09:01:07
貴花田なんて自分でも輪島の子だと思ってるだろ

124 :デフォルトの名無しさん:2008/11/26(水) 10:11:42
政治的理由でDNA鑑定は導入されないと思うので
誰でも親子関係をチェックできるソフトを配って
にせ親子情報を募集するサイトを作ります


125 :デフォルトの名無しさん:2008/11/27(木) 02:26:25
>>118
Haar-likeみたいな大まかな特徴で顔の部品類似度まで比較するのは無理

126 :デフォルトの名無しさん:2008/11/27(木) 02:30:01
予想だけど少なくとも75%は当たりそうな気がする

127 :デフォルトの名無しさん:2008/11/27(木) 02:40:51
マイケルとその子供を画像で親子と認識できるんだろうな

128 :デフォルトの名無しさん:2008/11/27(木) 02:47:22
判定結果:宇宙人と、アブダクションされた子供達

129 :デフォルトの名無しさん:2008/11/27(木) 04:47:17
taspoの顔年齢認証でさえあの精度だぞ

130 :デフォルトの名無しさん:2008/11/27(木) 12:17:45
>>129
中身はオムロン?

131 :デフォルトの名無しさん:2008/11/27(木) 13:15:27
>>125
他にいい特徴だとどんなのがありますか?

132 :デフォルトの名無しさん:2008/11/27(木) 16:41:07
まあ照会用のテンプレート構成するデータベースが粗末だといかんけど
あまりにも細かすぎてもいけないだろうね
ファジイのメンバーシップも重ねすぎると全部が全部該当になってしまう事もあるし
全く該当無しなんて結果も出うる

微妙な違いだと人間でも難しいからなあ
そこの部分で新しいアルゴリズムがいるかもね
たとえば一様な精度を用いるのではなく局所的に精度を細かくするとかね


133 :デフォルトの名無しさん:2008/11/27(木) 19:27:37
文字の認識なんかで人間より精度が高かったなんていう例もあるから
特徴量の抽出法次第だろうな


134 :デフォルトの名無しさん:2008/11/27(木) 23:01:57
>>133
ソースよろ。タイピングの精度のことじゃないよね

135 :デフォルトの名無しさん:2008/11/28(金) 00:25:31
はいどうぞ
http://research.microsoft.com/~kumarc/pubs/chellapilla_ceas05.pdf

136 :デフォルトの名無しさん:2008/11/28(金) 00:55:12
>>135
thx
顔画像でも人間の不得意なところを補完できるかもね

137 :デフォルトの名無しさん:2008/11/28(金) 01:54:03
画像の中の物体の傾きを求めるプログラムを作りたいんだけどうまく傾きが出てくれない
だれか詳しい神いないかな

138 :デフォルトの名無しさん:2008/11/28(金) 02:09:08
基準になる原器の問題とその点のとり方の問題じゃね

139 :デフォルトの名無しさん:2008/11/28(金) 10:21:07
>>131
http://www.cs.berkeley.edu/~aberg/papers/journal_berg.pdf

140 :デフォルトの名無しさん:2008/11/28(金) 10:43:45
>>137
ハフ変換?

141 :137:2008/11/28(金) 18:22:56
画像中の求めたい物体の面積数えて重心の座標出して、その物体傾き(慣性主軸?)を求めてその軸を描く
重心までは出せてるんですが軸の傾きがうまく出てくれない

@画像をラスタ走査していく
注目画素(x,y)が求めたい物体の画素ならば
(x方向の分散) += (x - x方向の重心)*(x - x方向の重心);
(y方向の分散) += (y - y方向の重心)*(y - y方向の重心);
(xyの共分散) += (x - x方向の重心)*(y - y方向の重心);
A走査し終えたら
物体の傾きθ=atan2((xyの共分散),(x方向の分散)-(y方向の分散));

という感じでやっているんですが
式とかやり方が間違っているでしょうか
本とか調べても物理系ばかりで理解できず、そもそもなぜこれで傾きが出るのか理解できないので
式がおかしいのかも分からずも困ってます

142 :デフォルトの名無しさん:2008/11/28(金) 19:51:30
>>141
Aが分からないんだけどPCAでやるなら
Aの前に固有値を求めて最大固有値の固有ベクトルの方向が傾きじゃないの。
http://chihara.naist.jp/opencv/?%BC%E7%C0%AE%CA%AC%CA%AC%C0%CF
こういうの。

143 :デフォルトの名無しさん:2008/11/30(日) 11:07:35
CMYKの画像ってどうやってモニタに表示させてるのでしょうか?
思うに、CMYK値→CMYKのプロファイル→RGBプロファイル→RGB値→モニタに表示
という流れになると思うのですが。

144 :デフォルトの名無しさん:2008/11/30(日) 14:39:12
ある画像のサイズを縦横2倍にしたいのですが、
ペイントなどで処理してもうまくいきません。
また、JTrimというツールも使ってみたのですが、
画像がぼやけるのを治せませんでした。
(本来ならできるのかもしれませんが、うまくできませんでした。)

画像をリサイズしても、ぼやけないようにするにはどうしたらいいのか。
教えてください。お願いします。

145 :デフォルトの名無しさん:2008/11/30(日) 15:07:35
>>144
MugenViewer
http://www.noids.net/mugen/

146 :デフォルトの名無しさん:2008/11/30(日) 16:03:37
>>145
ありがとうございます。
試してみます。

147 :デフォルトの名無しさん:2008/12/01(月) 15:25:54
>>145
ここで言うのも場違いな気がするが、指示通り Java を入れてダウンロード
できたけど、元の jpeg 画像が読み込めない。drag&drop もだめ、ファイル
メニューからファイル選択ダイアログは出てこない、フルパスを打ち込んで
も反応なし。Vista は非対応かな。期待したのに残念。

148 :デフォルトの名無しさん:2008/12/03(水) 11:32:49
色境界のきっちりしてるイラストなら
ベクタ画像を作ってから伸ばせばきれいに拡大できる。

149 :デフォルトの名無しさん:2008/12/04(木) 05:49:55
>>147
GIMP2使ってみ
画像の拡大・縮小で補間方法を補間しないに設定

画像サイズの右側にピクセルってあるやつをパーセントに変えれば2倍とかやりやすい

150 :デフォルトの名無しさん:2008/12/04(木) 06:15:45
>>144
Jtrimで「再サンプリングを行う」を外せばぼけない筈だが

151 :147:2008/12/04(木) 09:03:17
>>149 アドバイス有難う。
Java 入れてから、毎日 update 許可依頼が来てウザイ。こんなに頻繁に update
しているとも思えないんで、Java のスレに聞いて全部アンインストールした。
Vista だめなら Xp 機で試そうかと思ったが、気持ち悪いんでやめた。

今、自前ソフトではここで教わった Lanczos3 でやっているけど、2倍以上に
なるとちょっと気になり、いい方法があるなら取りこみたいところ。

152 :デフォルトの名無しさん:2008/12/04(木) 09:09:04
是非GDI+のHRバイキュービックを実装してみてくれ。

153 :デフォルトの名無しさん:2008/12/05(金) 20:54:55
>>152
悩んでるところにちょうど発見ので質問です。
.NETからGraphicsクラスを使用してGDI+で適当に拡大縮小アニメーションさせているのですが、
HighQuality〜という補間方法を指定すると、カクカクとなめらかにアニメーションしてくれないのですが、
なぜでしょう?

Graphics g;
Matrix matrix
for (int i = 0; i < 1000; i++)
{
    matrix.Reset();
    matrix.Translate(-image.Width / 2.0F, -image.Height / 2.0F, MatrixOrder.Append);
    matrix.Scale(i * 0.001, i * 0.00,1MatrixOrder.Append);
    matrix.Translate(image.Width / 2.0F, image.Height / 2.0F, MatrixOrder.Append);


としているだけなのですが、HRが付いていない物と比べるとものすごい勢いでカクカクしてしまいます。

154 :デフォルトの名無しさん:2008/12/05(金) 21:12:09
そら、高品質な補間方法のほうが処理が重いからだろう。
まあ、前ベンチ取ったらBiCubucだとHighQualityのほうが高速だったけどな。
単純な拡大縮小なら自分で補間ルーチン書いて最適化すればGDI+よりは速いのが作れる。
が、アニメーション効果でそこまで高品質な補間が必要かは疑問だな。
どうせ一瞬しかみえんだろ。

155 :デフォルトの名無しさん:2008/12/05(金) 22:49:46
今頃>152でHQではなくHRと書き間違えていることに気付いたw

>>153
静止画の品質は比べ物にならないけどねぇ。

156 :153:2008/12/05(金) 23:23:15
>>154,155
すいません、書き方が悪かったです。

カクカクと言うのは、処理落ちではなく座標がずれるといういみです。
外にでているためにサンプルプログラムは出せませんが、153のような感じで単純な拡大縮小のアニメーションを
させるとカクカクしているのがわかります。

>>HR
orz

157 :デフォルトの名無しさん:2008/12/06(土) 11:34:51
ViEW2008って行った奴いる?

158 :デフォルトの名無しさん:2008/12/12(金) 01:21:01
一つ質問なのですがそもそもなぜ空間周波数領域に変換するのですか?

159 :デフォルトの名無しさん:2008/12/12(金) 02:00:56
マトリックスの演算コストが周波数空間像なら激減するから。

160 :デフォルトの名無しさん:2008/12/12(金) 06:24:54
newA = 256 - ((256-B2)*(256-B1))/256
newR = ( (srcR*srcA + destR*(256-srcA)*destA/256) / (newA/256) ) / 256

α値を持つ画像同士の合成を上記のような計算でやってるのですが、
式をもっと簡単にする方法はないでしょうか。

161 :デフォルトの名無しさん:2008/12/12(金) 06:49:03
newA = 256 - ((256-srcA)*(256-destA))/256

すみません、newAの式を間違ってました。

162 :デフォルトの名無しさん:2008/12/12(金) 11:08:53
あれ、角度の平均値ってどうとるんだっけ?
358 と -2 の平均値が 180 じゃおかしーよな。



ぐぐるか。

163 :デフォルトの名無しさん:2008/12/12(金) 12:01:30
角速度の平均ならそれでいいよね

164 :デフォルトの名無しさん:2008/12/12(金) 12:42:15
いいえ

165 :デフォルトの名無しさん:2008/12/13(土) 00:14:14
358度と-2度の平均なら、-2度だろ。JK
0-360に正規化するなら358度だが。

166 :デフォルトの名無しさん:2008/12/13(土) 00:43:28
お、すまそ。358 と 2 ですた。( 2 + 358 ) / 2 = 180
なんか書き間違えた。
cos/sin で平均とるみたいね。

167 :デフォルトの名無しさん:2008/12/13(土) 15:07:49
では問題です。角度の分散はどうやってどるのでしょう?

168 :デフォルトの名無しさん:2008/12/13(土) 17:39:29
よくしrんが、360足したり引いたりして一番近いの選んじゃ駄目かな??

169 :デフォルトの名無しさん:2008/12/13(土) 23:35:05
小学生かよ

170 :デフォルトの名無しさん:2008/12/14(日) 00:11:19
358と2度の平均が180度がおかしいってのは直感的にはそう感じるだけで、
0度と180度の平均が90度と270度両方になりそうなことを考えれば、自ずと答えはわかるだろ?
2つの角度を足して2で割った結果と、それに180足した結果で、元の角度からの差が小さいものを選ぶとかしたら?

171 :デフォルトの名無しさん:2008/12/14(日) 12:22:52
なんでdegreeなんだよ

172 :デフォルトの名無しさん:2008/12/14(日) 13:22:18
ラジアンじゃないと何かダメか?

173 :デフォルトの名無しさん:2008/12/15(月) 01:54:59
RGB画像をGIMPでCMYK画像として変換すると、確かにCMYK値が出力されているようなのですが、
PhotoshopでRGB画像をCMYK画像で出力すると、色空間はYCCK?のようです。
YCCKからCMYKの色に変換するにはどうしたらいいのでしょうかorz

174 :デフォルトの名無しさん:2008/12/15(月) 04:33:51
皆使ってんだからそれでええんちゃうんかい?

175 :デフォルトの名無しさん:2008/12/15(月) 16:01:20
皆使ってるのは別に良いんだけど
改良の余地はかなりあるように思うが

176 :デフォルトの名無しさん:2008/12/15(月) 17:50:30
知るかよ、何で俺らが尻拭いせにゃならんの?

177 :デフォルトの名無しさん:2008/12/15(月) 19:07:40
尻拭いでも何でもねえだろ
単に改良する能力すらないだけ

178 :デフォルトの名無しさん:2008/12/15(月) 20:41:44
誰に言ってんの?

179 :デフォルトの名無しさん:2008/12/15(月) 22:35:49
Marshal.Copyメソッドつかって、24Bitのビットマップを8Bitにしたいんだけど、
Widthが4で割り切れない画像のときに、結果がずれてしまってうまくいきません。
色深度の変更でなんかいい方法あったらアドバイスお願いします。

180 :デフォルトの名無しさん:2008/12/15(月) 23:37:53
普通にパディングしろよ

181 :デフォルトの名無しさん:2008/12/16(火) 18:05:37
おれも>>179みたいなことがしたい
だれかサンプルない?

182 :デフォルトの名無しさん:2008/12/16(火) 21:28:25
ビットマップはWidthが32Bitの倍数になるような仕様
Width=10で24Bitなら240Bitで256Bitになり、ダミーが16Bit付く

183 :デフォルトの名無しさん:2008/12/16(火) 22:41:45
>>179
水平解像度 * 3(RGBの3つ分)の値を4で割った余りの分だけ
0のデータが付加される。すなわち、水平解像度が5だったら+1(5*3=15 , 15%4=1)、
6だったら+2(6*3=18 , 18%4=2)、7だったら+3(3*7=21 , 21%4=3)バイト分、各行に付加。

184 :デフォルトの名無しさん:2008/12/16(火) 22:43:05
バイト数で換算したが、水平解像度の4の剰余という解釈もあり。

185 :デフォルトの名無しさん:2008/12/16(火) 22:56:22
>>183訂正
4で割り切れる値になるように付加。5の場合、16との差の1、
6は20との差、7は24との差の1で、逆だった、すまそ。

186 :デフォルトの名無しさん:2008/12/16(火) 22:57:44
うわ、またやってもうた、度々すまそ orz
6は20との差で2、7は24との差で3、まぁ、
解像度を4で割った余りの分を付加と言った方が楽か。

187 :デフォルトの名無しさん:2008/12/16(火) 23:01:03
うぜえこいつ

188 :デフォルトの名無しさん:2008/12/16(火) 23:03:30
32ビット境界に揃えるには
3 足して 3 と & とればいいだけだ

189 :デフォルトの名無しさん:2008/12/16(火) 23:04:03
>>187
はいはい、理解力の無いバカは引っ込んでろよw

190 :デフォルトの名無しさん:2008/12/16(火) 23:08:18
知的に問題のあるガキの発言↓
187 名前:デフォルトの名無しさん 投稿日:2008/12/16(火) 23:01:03
うぜえこいつ

誰もお前個人に向かって話しかけていないから、自意識過剰なのか
目の前の見えない敵に噛み付く修正のある奴は、ちょっと知能に
問題があるんでしょうね。今後の人生もそうやって生きていくなんて、
可哀想・・・

191 :デフォルトの名無しさん:2008/12/16(火) 23:11:14
>>188
ANDとったらいかんだろw
しかし知らんかった ビット演算ってすげーわ

192 :デフォルトの名無しさん:2008/12/16(火) 23:14:47
ああ間違えた。~3 と & とるのね

193 :デフォルトの名無しさん:2008/12/16(火) 23:16:35
>>182では説明不足だよ。
>>188 面倒なことし過ぎ。

194 :デフォルトの名無しさん:2008/12/16(火) 23:17:13
>>189-190
そんなに悔しかったのかい

195 :デフォルトの名無しさん:2008/12/16(火) 23:24:53
まさかネットでもウザいと言われると思ってなかったんだろう。

196 :デフォルトの名無しさん:2008/12/16(火) 23:28:30
>>193
32ビット境界に合わせるのに (x+3)&~3 以上に簡単な方法はないだろ・・・。

197 :デフォルトの名無しさん:2008/12/16(火) 23:32:06
Processing使うと簡単にブラウザ上でOpenGL動かせて良いなあ。
Javaには興味なかったんだが、公開がしやすくて便利。

198 :デフォルトの名無しさん:2008/12/16(火) 23:56:31
32bit境界は分かるが、結局 RGB をそれぞれ1バイトずつ使っているわけで、
まぁ、結果は32/8= 4 が関与してくるが、その説明くらいしても良いだろ。
うざいは無いだろ。他人の言動にケチをつけなきゃいけないくらい、
日頃はまともに相手にされていないのかね?自分が説明不足だから
相手にされていないって気づけよ>こんな場所で苛立ちを露にしているお前

199 :デフォルトの名無しさん:2008/12/17(水) 00:17:58
皆にスルーされた>>180涙目wwww
勿論俺なんだが

200 :M:2008/12/17(水) 00:19:34
C++でのラベリングで下のような場合で、簡単なプログラムのやり方を教えてくれませんか?

11111111
11111
1111111111  
1111111     
11111111
1 1     2222
       2222
       222222

201 :デフォルトの名無しさん:2008/12/17(水) 00:54:21
>>199
くわしく説明しないからだよw

202 :デフォルトの名無しさん:2008/12/17(水) 04:48:21
>>200
>201

203 :デフォルトの名無しさん:2008/12/17(水) 05:04:42
最近はやりの compressive sensing で出てくる
L1 minimisation について誰か簡単に説明してくれっつって

204 :デフォルトの名無しさん:2008/12/21(日) 04:44:41
画像pdf→画像配列抽出→画像処理→画像pdf
を解説してるHPあったら教えてください

205 :デフォルトの名無しさん:2008/12/21(日) 10:54:29
>>204
画像配列って複合機とかのMRC圧縮されたPDFってこと?

206 :デフォルトの名無しさん:2008/12/21(日) 11:56:53
単に二次元配列のことでしょ

207 :デフォルトの名無しさん:2008/12/22(月) 06:45:57
原点が左上にある画像を中心が原点になるようにしてバイリニア補間で拡大・縮小する
ソースコードをお持ちの方いらっしゃいませんか?
ソースをupしてください
誰か助けてください・・・

208 :デフォルトの名無しさん:2008/12/22(月) 07:56:38
     (~ヽ
     |ヽJ       .あ
     |  (~ヽ     .け
   (~ヽー|ヽJ     ま
   |ヽJ  |  |   お .し
   |  ハ,,ハ  |   断 .て
  リ ( ゚ω゚ )彡   り
((⊂ミソミソ彡ミつ))  し
   》======《.   ま
   |_|_|_|_|_|_|_|   す
    `u-u´


209 :デフォルトの名無しさん:2008/12/22(月) 09:39:21
画像中心を原点にすることでなにが変わるって?

210 :デフォルトの名無しさん:2008/12/22(月) 09:51:40
>>207
使ったことないが、ググッたら
バイリニア補間のソースコードなんか山ほど落ちてるが、それではいかんのか??
それかOpenCVでも使ったら

211 :デフォルトの名無しさん:2008/12/22(月) 09:58:46
普通の実装でも原点が0,0と0.5,0.5の奴があるから結果違うし
倍率にもよるけど多少変わるだろ。

212 :デフォルトの名無しさん:2008/12/22(月) 11:31:52
>>211
それは各画素の中心の話か?
>>207は冒頭に「原点が左上にある画像」とあるから、
画像全体の原点のことを言っているように読めるが。

213 :デフォルトの名無しさん:2008/12/22(月) 11:40:03
原点を画素の左上と考えるか画素の中心と考えるかでも違うんだよな。
画像一番左上の画素の中心を原点に100倍に拡大したらどうなるかを考えてみるといい。

どうでも良い事のようで、API(Win/Mac/Library/etc)によってこの考え方が違ってハマることもままある。

214 :デフォルトの名無しさん:2008/12/22(月) 11:40:18
まだ相手してんだw

215 :デフォルトの名無しさん:2008/12/22(月) 12:47:21
>>212
だから中途半端な倍率の場合に全画素での中心位置を中心としたら
左上の原点は0もしくは0.5ではなくなるだろ。
ちゃんとそういうの考慮しないと一部だけ切り取って変換するときにずれる。
ソース位置が整数なGDIだと駄目で浮動小数点で指定できるGDI+だとずれにくいとかある。

216 :デフォルトの名無しさん:2008/12/22(月) 17:09:57
ワールド座標で悩んだ俺が通過する

217 :デフォルトの名無しさん:2008/12/22(月) 18:34:12
二チャンネルのレベル低下ははてなに人が移動してしまったことと関係あるかな。

218 :デフォルトの名無しさん:2008/12/22(月) 18:46:09
そのわりには はてなのレベルも低いまま変わってないぜ

219 :デフォルトの名無しさん:2008/12/22(月) 18:56:56
昔からレベルは低いよ

220 :207:2008/12/22(月) 22:56:57
いろいろありがとうございます。
matlabでコードしてます。
俺もググってみましたが原点中心の拡大縮小しているやつがなく、
奇数、偶数両方に対応しているかわからないので
参考にしつつ自分でコードを組んでいますができません・・・・。
0〜N点ある画像を中心を原点と仮定して−N/2〜N/2までの補間点を考え
それらに対応する整数インデックスを補間後の点にしています。
ソースは明日うpします。

221 :デフォルトの名無しさん:2008/12/22(月) 23:39:12
原始的に
-へ半分移動させる → 拡大縮小する → +へ半分移動させる

222 :デフォルトの名無しさん:2008/12/23(火) 00:56:11
位置合わせの話って小中学生だろw、死ね失せろ

223 :デフォルトの名無しさん:2008/12/23(火) 03:11:51
javaで画像処理してるやついる?

224 :デフォルトの名無しさん:2008/12/23(火) 04:07:09
い た ら な に ?

225 :デフォルトの名無しさん:2008/12/23(火) 10:39:16
座標の取り方と補間処理そのものは無関係ですよ。たんなる座標変換だから。

226 :207:2008/12/23(火) 12:25:15
こんな感じにしてみました。あってると思いますが・・・(1次元の場合)

% i_image = double( original_image ) / 255.0;
% prepare output buffer
i_size = size( i_image );
i_width = i_size( 2 );
i_height = i_size( 1 );
%floorで処理される
o_width = i_width * zoom_ratio;
o_height = i_height * zoom_ratio;
o_image = zeros( o_height, o_width );


227 :207:2008/12/23(火) 12:29:23
% linear interpolation
count_x = 0;
for x = -(o_width - 1)/2:(o_width - 1)/2
i_x = floor( count_x / zoom_ratio )
ratio_x = ( count_x - i_x * zoom_ratio ) / zoom_ratio
if x == -(o_width - 1)/2
i_x0 = 1
i_x1 = 1
end
if ((x > -(o_width - 1)/2) & (x < 0) || (x <= (o_width - 1)/2) & (x > 0))
i_x0 = count_x
i_x1 = i_x0 + 1
end
if x == (o_width - 1)/2
i_x0 = i_width
i_x1 = i_width
end

if (i_x0 > i_width)
i_x0 = i_width
end

if (i_x1 > i_width)
i_x1 = i_width
end

i00 = ( 1 - ratio_x ) * i_image( i_x0);
i11 = ratio_x * i_image(i_x1);

o_image(count_x + 1) = i00 + i11
count_x = count_x + 1
end

228 :JP:2008/12/23(火) 14:07:39
NVIDIAのCUDAというソフトを導入しようと思っていて
サンプルプログラムを動かそうと思いビルドしたところ

error LNK2019: 未解決の外部シンボル _cudaCalculateSlopeKernel が関数 "void __cdecl runCuda(void)" (?runCuda@@YAXXZ) で参照されました。
error LNK2019: 未解決の外部シンボル _cudaGenerateSpectrumKernel が関数 "void __cdecl runCuda(void)" (?runCuda@@YAXXZ) で参照されました。

というエラーが出ていまい,なかなか解決できません.

もし解決方法わかる方いらっしゃったら教えてください.

229 :デフォルトの名無しさん:2008/12/23(火) 14:18:24
リンクしろカス

230 :デフォルトの名無しさん:2008/12/23(火) 21:19:08
>>228
画像処理に殆ど関係がないので、CUDAスレにでもお帰りください。

231 :デフォルトの名無しさん:2008/12/23(火) 21:29:06
全くの無知から初めてピクチャマッピングの実装実験をしているんですが、結構奥が深いですね。
今のところ伝統的なスキャンラインの方法とか直線を使った初歩的な方法しかやってないのですが他にどういう方法があるのか知りたいです。
ウィキみても3Dのライブラリの紹介はあるんですが、2Dのマッピングについてのアルゴリズムの紹介とかがないので、多少興味があるのでお勧めのサイトはないでしょうか。

232 :デフォルトの名無しさん:2008/12/25(木) 10:26:08
反応がないのはすれが違うんでしょうか?それとも難しいからできる人がいなんでしょうか?

233 :デフォルトの名無しさん:2008/12/25(木) 11:37:40
質問文が難しいからだと思います

234 :デフォルトの名無しさん:2008/12/25(木) 12:08:33
色じゃなくてピクセル位置の変換なんで、やってることは画像処理といえば画像処理なんですけど・・・
たとえば2Dで、頂点A[0,0] B[3,-1] C[2,5] のとんがり三角形に矩形の画像をフィットさせる感じで、この場合結果は上が凸の三角形の顔をしたサンタになります。
3Dのライブラリ使えば当然ポリゴンとマッピングAPIがあるんで考えなくて済むんですけどそのAPIの自作のことです。

235 :デフォルトの名無しさん:2008/12/25(木) 12:13:53
君中学生?

236 :デフォルトの名無しさん:2008/12/25(木) 12:48:13
>>234
パースペクティブ変換でできる変換のサブセットにあたるんじゃないかな。
とにかく目的の形状にピクセル毎にマッチさせる変換行列を
数式的に表現しなちゃい。
もちろん座標に小数点がでてくるから、ピクセル値は、
できれば線形でもいいからなんらかの補完メソッドを使いたい所。
まぁそういうのはとりあえず後でいいか。

237 :デフォルトの名無しさん:2008/12/25(木) 12:51:18
ちなみに 3D でも、とりあえずやることは
変換行列 x [ x; y; z; 1 ]
でしょ?2D なら
変換行列 x [ x; y; 1 ]
になるって話

238 :デフォルトの名無しさん:2008/12/25(木) 14:33:14
高々R^2 => R^2なので射影などの3Dと2Dの変換ではからもっと簡単なアルゴリズムになると思ってたんですけどちがうんでしょうか。
画像をセピアに変換とかとおなじで、画像を自由形状の多角形に(フィットさせる)変換も画像処理だと思ったんですけど、
この様子だと全くすれ違いのようですね。

それと、WEBで処理のサンプルを見ると、forとint[]で手計算してるのが多いんですけど、
現代でもDirectXやOpenGLとかのベクトル計算専用ハードを使わないで画像処理するのがトレンドなんですか?



239 :デフォルトの名無しさん:2008/12/25(木) 14:41:22
>とにかく目的の形状にピクセル毎にマッチさせる変換行列を 数式的に表現しなちゃい。
>できれば線形でもいいからなんらかの補完メソッドを使いたい所。

いろいろと大事なことを数行で書いてますね。そのあたりの普通に思い浮かぶ方法の実装は終わって
この方法では大体めどがついたので、他にあるかなってことです。
普通に画像を回転(pi/2とか)させるとモアレみたくなるんで補間は必須だと思うんですけど。

240 :デフォルトの名無しさん:2008/12/25(木) 15:15:30
たんに日本語の書き方が下手すぎて読まれてないだけかと。
俺は最初の1行半だけ見て読むのをやめたから、質問だとは思わなかった。

241 :デフォルトの名無しさん:2008/12/25(木) 15:15:43
>>238
まぁもちろん画像処理なんだけど、画像処理ってのは、
コンピュータビジョンなどの画像解析と、
コンピュータグラフィックスなどの画像合成の二つに分けることができて、
大抵は画像合成はCGスレに行くから、
画像処理スレは画像解析の人が集まると思う。
結構 2D == 画像処理スレ、3D == CGスレって勘違いしている人がいるんだけど、
ほんとはその分け方はあまりよくないんだよね。
2D だってコンピュータグラフィックスはコンピュータグラフィックスだし。

ってわけで、3D CG 畑の人なら、3D CG の時の処理を参照して、
z を無視した 2D CG の計算式になおせばおkなんじゃないかね。
もちろんそのまま 3D のを使ってもいいんだけど、処理を速くしたいみたいだから。

>forとint[]で手計算してるのが多いんですけど
それはアルゴリズムの解説をしているサイトなんでしょ?
ライブラリで、ほい、とか言われたら解説にならないじゃん。
>現代でもDirectXやOpenGLとかのベクトル計算専用ハードを使わないで
ハード?ライブラリ?ライブラリは一杯あるよ。
前はテンプレにリストされてたと思うんだけど・・・

242 :デフォルトの名無しさん:2008/12/25(木) 15:17:41
俺はウィキペディアのことをウィキというなあんちくしょーと思ったので、
スルーしてしまった。

243 :デフォルトの名無しさん:2008/12/25(木) 16:11:28
といって強がってるけど、みんな気になってたんだよねw

244 :デフォルトの名無しさん:2008/12/25(木) 16:24:36
>>237
普通にアフィン変換するだけだとフィットできないんですよ。
アフィン変換は線型性を保持するだけなんで、普通にやると例えば平行四辺形は三角形に変換できないからどうしようかなって。

245 :デフォルトの名無しさん:2008/12/25(木) 16:28:23
>>244
だからパースペクティブっていった。

246 :デフォルトの名無しさん:2008/12/25(木) 16:41:49
パースペクティブ変換て射影変換?

247 :デフォルトの名無しさん:2008/12/25(木) 16:42:04
CG版ってのがあったんですね。そっちいってみます。
このすれは画像上のパターンのマッチングとか、動きを追跡とか、低解像度からいかに鮮明にするか、とかですか。
今興味あるのは構造とかベクトル画像とかで純粋なラスタの処理ではないからそのあたりが畑が違うって感じるんでしょうかね。
ウィキでアルゴ調べてもなかったときは、このすれも覗いてみます。

248 :デフォルトの名無しさん:2008/12/25(木) 16:45:22
アルゴてなんだアルゴて

ウィキペディアもそうだけど不用意に妙な略語使うな

249 :デフォルトの名無しさん:2008/12/25(木) 16:51:57
>このすれは画像上のパターンのマッチングとか、動きを追跡とか、低解像度からいかに鮮明にするか、とかですか。
で、あることを期待しているんだけど、photoshop で・・・ とか質問くるからうぜぇ。
前に「画像処理アルゴリズム」スレに名前変えようとか言ってたのになぁ

250 :デフォルトの名無しさん:2008/12/25(木) 17:44:36
あの・・・・前から疑問に思ってたんですけど、

>このすれは画像上のパターンのマッチングとか、動きを追跡とか、低解像度からいかに鮮明にするか、とかですか。

こういう画像処理とか、セピア色にするとかの普通の加工とかも、やっぱり1ピクセル毎にint[]とかforとかで1ピクセルとその周辺を確認しながらやるんですか?
もうすぐ現実的になると思うんですけど、極端に言えば、0xffff * 0xffff サイズの画像とか2^32回ほどループになるとおもんですけど・・・それでもやっぱ手計算なんですか?

251 :デフォルトの名無しさん:2008/12/25(木) 17:51:50
変な略語を使われるとイラッとくるのは何故だろう。

252 :デフォルトの名無しさん:2008/12/25(木) 18:02:15
>>251
頭が固くなってきた証拠ですよw

253 :デフォルトの名無しさん:2008/12/25(木) 18:59:23
>>251
頭が固くなると脳細胞の硬直化現象がおきやすいので病院で脳のCTスキャンしてもらった方がいいですよ。

254 :デフォルトの名無しさん:2008/12/25(木) 20:39:33
>>250
コンピュータ使ってる時点で手計算じゃないよ


255 :デフォルトの名無しさん:2008/12/26(金) 01:13:22
>>250
x と y だけループで、width = 1, height = 1 じゃあ明らかにたりんぽ。
x, y, width, height、もしくはそれに rotation も加え、さらには 3D での
回転を考えるなら、2D での回転方向である roll に加え、yaw, pitch もいれて
ループさせて、それでたくさんサブイメージ群を作る。
どう考えても画像全体に対してこれをやると、時間がたりないからテクニックが必要。
動きの追跡なら、kalman filter だとか particle filter だとかあとは mean shift とか、
簡単に言えば動きの予測をしてその周辺箇所だけをさぐる、みたいな。
で、後はサブイメージと目的モデル(顔とか)との比較をする。
目的モデルは機械学習を使って、モデルパラメータをトレーニングしておく。
こういうのはパターン認識と呼ばれる一大分野の技術です。

>それでもやっぱ手計算なんですか?
なにを言っているのかわからない。中学生?

256 :デフォルトの名無しさん:2008/12/26(金) 01:36:40
んー。

なんかこう、画像処理を、ピクセルのかたまりに対してどばっとやる方法があるのか、
でかい画像でもちまちまやるしかないのか、という質問なのだと思うが。

処理による。例えばフーリエ変換してフィルタ通して逆フーリエ変換、という
処理なら、ドットごとちまちま、という感じではない。

64K×64Kドットってどれくらいだ、1Kdpiで64インチ四方、2畳弱?

257 :デフォルトの名無しさん:2008/12/26(金) 02:07:06
>例えばフーリエ変換してフィルタ通して逆フーリエ変換
このフィルタの部分は周波数ドメインでドット毎ちまちまっちゃちまちまだろ。

>ピクセルのかたまりに対してどばっとやる
結局は行列演算だろ。行列の掛け算だって、中身は for ループだ。

もちろん、特徴ベクトルの次元圧縮は重要な手法だ。
だが、その次元圧縮だって、行列演算を通すわけで、
それは for ループのドットちまちま処理となんか違うのか、
といわれたら、根本的には同じ、としか言えないだろう?

258 :デフォルトの名無しさん:2008/12/26(金) 03:53:46
やったことのない技術に根拠のない希望をもつのは初心者にはよくあることだよ。

259 :デフォルトの名無しさん:2008/12/26(金) 04:54:14
ノイマン型コンピュータってのは、どこまでいっても
バイト単位でちまちま処理するしか能がないからなー

260 :デフォルトの名無しさん:2008/12/26(金) 10:48:40
SIMD命令にうまくはまればある程度はまとめて処理できるか。

261 :デフォルトの名無しさん:2008/12/26(金) 13:00:22
>簡単に言えば動きの予測をしてその周辺箇所だけをさぐる、みたいな。
>目的モデルは機械学習を使って、モデルパラメータをトレーニングしておく

今はそっちの分野は全く手をつけてないので専門的ではないですが、自然に発想するそのアルゴでは、実装は出来なくはないですがものすごく大変だと思います。
ほとんどランダムを予測するようなものなので設計も難しく、ある意味職人技かと思うので、私なら全く別のアプローチをとります。
例えば、反射光によってその動きターゲットの色パターンが突然変化したとか、結局 if で分岐するアプローチを取るなら
確かにその時間フレームを考慮外などとすれば実装できなくもないんですが、それはもはやアルゴリズムではなくて手計算のままじゃないですか?
手計算とはcpu,fpuとループでスカラー演算する感じの意味で、sseとかgpuでやらせるのは難しいアルゴのことです(つまりifに依存してる)。



262 :デフォルトの名無しさん:2008/12/26(金) 13:18:36
例えば写真2000枚についてphotoshopみたく同じ画像に連続にフィルター適用した場合や
1枚の画像に何度もフィルターを施すときも結局ループの総回数は2^32以上回数になるわけで、ベクトルユニットが普及してる現代ではあまり現実な処理じゃないと思います。
フーリエとかエントロピーとかの世界に変化して、ガバッとやって、ガバッと返すのアプローチかと思います。
photoshop, gimpでフィルター適用するといつも2,3秒待たされるけど、その程度の画像サイズならガバッとアルゴリズムとベクトル演算で一瞬で終わるんじゃないでしょうか。

0xffff*0xffffは単に32ビットでの処理で収まる限界だからです。


263 :デフォルトの名無しさん:2008/12/26(金) 13:24:50
おまえ誰だよ

264 :デフォルトの名無しさん:2008/12/26(金) 13:46:32
大学で勉強してない奴にフーリエとかエントロピーを要求するのは無理だなぁ

265 :デフォルトの名無しさん:2008/12/26(金) 14:19:41
>>261
長文で答えてきた >>236 >>237 >>241 >>250 >>257
の人間だけど、いいかげんに >>240
>たんに日本語の書き方が下手すぎて読まれてないだけかと。
に賛同して、返事を書くのをやめます。

266 :デフォルトの名無しさん:2008/12/26(金) 14:21:13
>>250 じゃねー >>255 。いや、どうでもいいや。

267 :デフォルトの名無しさん:2008/12/26(金) 14:41:35
気になってたのだが、やっと見つけた。
ttp://game.goo.ne.jp/retro/title/RGMEGGEKUR0001/

268 :デフォルトの名無しさん:2008/12/26(金) 15:06:27
アルゴで画像検索したら、ゲイビデオの制作元だったらしく、とんでもないことに。

269 :デフォルトの名無しさん:2008/12/26(金) 16:24:56
necの88かよw
あんた一体いくつだよw


270 :デフォルトの名無しさん:2008/12/26(金) 22:13:20
で、65535*65535なんて中途半端なサイズの画像のどこが現実的なんだ?
# 現在未来を問わず。

どうやら何かで聞き齧った情報を元に随分と反復処理と条件分岐を目の仇にしているようだが、
それらによる基本を抑えずに一体どんなアルゴリズムを作れると思っているのだろう。

>>256
そう言えば、手元に24000x24000の画像があるが、こいつは解像度が1/4[nm]なので高高6μm四方だ。

271 :デフォルトの名無しさん:2008/12/26(金) 22:38:49
そのぐらいの大きさなら、そのうちGPUがHDから直接読み込めるようになるよ

272 :デフォルトの名無しさん:2008/12/26(金) 22:45:55
機械学習アルゴリズムやオプティカルフローは並列化できるが
やったことないのになんでできないって決め付けてるの。

273 :デフォルトの名無しさん:2008/12/26(金) 22:55:35
いるよねー、雑誌とかに載ってる新技術紹介(GPGPUとか量子コンピューター)とか読んで
理解した気になって勝手に俺俺妄想炸裂させて珍説を説明しだす奴。
まず実装なりちゃんとした勉強なりしてから持論を展開しろってんだ。
妄想の上に妄想重ねてもなんにもならない。

274 :デフォルトの名無しさん:2008/12/26(金) 23:50:57
>>273
それはおまえのことじゃないの?w

275 :デフォルトの名無しさん:2008/12/27(土) 00:23:40
>>273
それで、当然おまえは実装なりをしてるんだろうな?

276 :デフォルトの名無しさん:2008/12/27(土) 14:53:42
>>267
なんだこれw
オッサンはそろそろ引退した方がいいんじゃないの?

277 :デフォルトの名無しさん:2008/12/27(土) 16:20:46
呉ソフトウェア工房か。
ちまちまと頑張って続いてるのがすごいよな、呉氏。

278 :デフォルトの名無しさん:2008/12/29(月) 07:59:24
SIFT (Scale Invariant Feature Transform) って特許あるけど、
PCA-SIFT って特許あるん?

279 :デフォルトの名無しさん:2008/12/29(月) 10:10:44
それより、
>>273
はるな愛に感染。

はるな愛はその辺の子よりカワユイとは思うが。もうミソジがなんとも。

280 :デフォルトの名無しさん:2009/01/01(木) 02:46:45
とりあえずナンバープレートの枠を連続取り込みしてみれば?
そして一定サイズに変換して累積データを総合すると・・・
ナンバープレート一枚を一回の撮影でナンバー読み取り可能な条件はかなり厳しいようですね
http://bbs.kakaku.com/bbs/-/SortID=8820887/ImageID=182560/

限界値なので、実際には倍以上の画素数が必要とか

[8820887] 【車載カメラ・ドラレコ】ナンバー読み取りについて
http://bbs.kakaku.com/bbs/-/SortID=8820887/?Reload=%8C%9F%8D%F5&SearchWord=%8E%D4%8D%DA%83J%83%81%83%89

[8860007] 車載での車窓動画の夜間撮影時における最適な設定について
http://bbs.kakaku.com/bbs/20204310373/SortID=8860007/?Reload=%8C%9F%8D%F5&SearchWord=%8E%D4%8D%DA%83J%83%81%83%89

281 :デフォルトの名無しさん:2009/01/02(金) 03:32:32
http://www.uploda.org/uporg1901676.jpg

http://www.vipper.org/vip1049913.jpg
みたいに処理するにはどんなツールのどんな機能使えばいいの?

282 :デフォルトの名無しさん:2009/01/02(金) 03:37:17
>>281
ソフトウェア板で聞け。

283 :デフォルトの名無しさん:2009/01/03(土) 07:49:28
OCRの結果を透明な文字として画像にうめこみたいのですが
それができるフォーマットはpdfぐらいなのでしょうか?
webに貼る画像でそれがしたいのです


284 :デフォルトの名無しさん:2009/01/03(土) 08:29:03
板違い

285 :デフォルトの名無しさん:2009/01/08(木) 19:12:02
最近、信号処理におけるFIRフィルタとIIRフィルタのことを知りました。
画像処理でよく見る、先鋭化処理やぼかし処理はFIRフィルタによるものと言えると思うのですが、
IIRフィルタを使った例って何かあるのでしょうか??

286 :デフォルトの名無しさん:2009/01/12(月) 01:54:33
逆光補正するのに有効な手段って何かありますかね?

287 :デフォルトの名無しさん:2009/01/12(月) 04:48:59
photoshop

288 :デフォルトの名無しさん:2009/01/13(火) 20:01:29
MeanShift法について詳しい人いませんか?

平滑化した色ヒストグラムを特徴量として
使うってことはなんとなくわかったんだけど、
カラー画像の場合ヒストグラムはRGBの3つできますよね。
とりあえず3つのヒストグラムについて計算すると
別々の位置に収束してしまいました。

この場合はそれぞれの結果の平均を追跡対象の位置にするのかな?
それとも初めから特徴量を1つにしぼったりするのかな?

あと平滑化で使うカーネル関数というのがよくわからないので
これについて解説している参考書ありませんか?

289 :デフォルトの名無しさん:2009/01/13(火) 21:14:52
SIFTで使われる4*4ブロックの方向ヒストグラム作成についての質問なのですが

特徴点とされた点(x0,y0)し、DOGにより求められたサイズをσとします。

3σの範囲をガウス窓で重みづけして
この特徴点を中心に4*4ブロックに分けたヒストグラムを作りたいんですが、
特徴点を通るx軸に平行なピクセル(x0-1.5σ,y0)〜(x0+1.5σ,y0)及び
特徴点を通るy軸に並行なピクセル(x0,y0-1.5σ)〜(x0,y0+1.5σ)
が邪魔で特徴点を中心とするブロック分けができません。
SIFTでは特徴点を中心とする十字の領域の勾配データを捨てていいのでしょうか?

SIFTについてご存じの方はご教授おねがいします。

290 :デフォルトの名無しさん:2009/01/13(火) 21:58:18
>>289
この時点で(x0,y0)は実数値座標で、4×4ブロックもあっちこっちの向きに回転していると思うのだが

291 :デフォルトの名無しさん:2009/01/13(火) 22:07:35
>>288
Bhattacharyya係数なんかどう?

292 :デフォルトの名無しさん:2009/01/13(火) 22:07:44
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ  まピョーん☆
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ


293 :289:2009/01/13(火) 22:22:44
>>290
コメントありがとうございます。
実座標系からの回転を考えなくていいように、最初に求める36方向
ヒストグラムのオリエンテーションは0度だったとさせてください。

その場合4*4ブロックに分けて各ブロック毎に8方向で計128次元のヒストグラム
を作成する場合特徴点を中心とする十字の領域の各勾配データはどのようにすればよいのでしょうか?
4*4のブロックの分け方を教えてください。


294 :デフォルトの名無しさん:2009/01/13(火) 22:38:41
>>291
ありがとうございます
今私がやっている方法はモデル画像(検出したい対象)の
RGB3つのヒストグラムを平滑化・正規化した後
それぞれについて探索画像内で
Bhattacharyya係数を最大化する領域を探すという具合に
計算しています。

そうするとRに関するヒストグラムは座標x1に収束
Gに関するヒストグラムは座標x2に収束、
Bに関するヒストグラムの座標x3に収束といった感じで
RGBそれぞれが微妙に違う位置を計算してしまうんです。

当然探索画像内に追跡対象は一つしか存在しないはずなんですが
(そういう動画像を撮影して実験しています。)、
3つの特徴量がそれぞれ別の領域を指しているというのが
納得できないんですよね。

特徴量が一つだけに絞られれば
こういうことはなくなると思うのですが。
RGBを変換して色相だけとか、
明るさだけとかでやっているのですかね?

実際MeanShift使っている人がいたら
何を特徴量にしているか教えて頂けないでしょうか?

295 :デフォルトの名無しさん:2009/01/13(火) 23:31:31
>>293
藤吉先生のSIFT Tutorialは参考にしてる?

296 :289:2009/01/14(水) 13:17:35
>>295
藤吉先生のSIFTを読んで、中心ピクセルをどう分割すれば良いのか疑問に思い投票しました。
これは補完により局所的な拡大処理を行って、分割できる形にすれば良いのでしょうか?
引き続きご指導をお願いします。

297 :デフォルトの名無しさん:2009/01/14(水) 13:28:14
lispで画像処理してる人います?

298 :デフォルトの名無しさん:2009/01/14(水) 15:47:57
DWT変換が詳しい人いますか?
質問:DWTで静止画像を分解したときに違うレベルで同じ方向の
ウェーブレット係数が強い相関関係があると聞いたんですが、それ
どういうふうに関係あるでしょうか?

299 :デフォルトの名無しさん:2009/01/14(水) 16:47:51
全然プログラミングと関係ないな

300 :デフォルトの名無しさん:2009/01/15(木) 15:22:52
>>298
DWT変換を1回したLL1は原画を1/2したような画像になる。
原画とLL1は強い相関関係にある。
同様にHL1とHL2なども強い相関関係になることがあるよ。


301 :デフォルトの名無しさん:2009/01/16(金) 12:31:29
金属の亀裂の長さを計測するのに細線化して中心線を計測したいのですが
ひげが出てうまくいきません。ひげを取るにはどのような方法が考えられるでしょうか?
よろしくおねがいします。

302 :デフォルトの名無しさん:2009/01/16(金) 14:54:01
「ひげ」?


303 :デフォルトの名無しさん:2009/01/16(金) 16:11:00
>>301
芯線を線切片近似して、ひげ(端点から交点までの総延長が短い線分集合)を除く。
完璧に改善できるが工数が大きいのが欠点

あるいは、細線化前に輪郭をスムージングすればわずかな工数で多少は改善できる。
平滑化、膨張+収縮など

304 :デフォルトの名無しさん:2009/01/16(金) 16:36:06
うまくいかない画像を提示した方が良いアドバイスが得られると思うけど
出せないのかね。

305 :デフォルトの名無しさん:2009/01/16(金) 17:48:38
ひげ取っちゃうと、狭いところが通れなくなるのでは?

306 :デフォルトの名無しさん:2009/01/16(金) 19:36:14
>>305
やはりそうですよね。
ひげを取るのはやめにします。

307 :デフォルトの名無しさん:2009/01/16(金) 20:15:08
洞毛ですか

308 :デフォルトの名無しさん:2009/01/16(金) 21:10:26
>>301
亀裂の長さじゃなくて面積(画素数)を求めるのじゃいかんの?

309 :デフォルトの名無しさん:2009/01/16(金) 21:29:19
そんなこと(簡単に)できるのか?

310 :デフォルトの名無しさん:2009/01/17(土) 00:17:59
楕円にフィットさせるとか

311 :デフォルトの名無しさん:2009/01/17(土) 01:22:50
紙に解答書くのとは違うんじゃね?

312 :デフォルトの名無しさん:2009/01/18(日) 14:21:01
画像を複数みないとなんともいえないよね

313 :デフォルトの名無しさん:2009/01/18(日) 16:20:02
質問があるんですけど、
http://en.wikipedia.org/wiki/Harris_affine_region_detector
ここに乗ってる、Harris-affineというのを実装しようとしています。
ここで、分散Σの値を各画素から求める必要があるんですけど、ここでは、「Σは各画素の共分散行列を取る」としか書かれていないんですよね。
どなたか、ここでΣを求めるアルゴリズムについて理解のある方はいませんか?

314 :デフォルトの名無しさん:2009/01/18(日) 16:37:27
共分散を求める式自体はここにある。
ttp://www8.uploader.jp/dl/vipprog/vipprog_uljp00662.pdf.html
pass:cova

315 :デフォルトの名無しさん:2009/01/19(月) 09:49:08
分散Σ

316 :301:2009/01/19(月) 12:26:37
返信遅くなりすみません
>>303
ありがとうございます。とても参考になりました。
自分も最初始点から追跡して交点から短い線分を除去していこうとしたのですが、
自分には無理でした。
なのでメディアンフィルタを使ったノイズ処理でひげ除去を行うことにしました。
完全には取れていませんが何とかなりそうです。

>>308
ありがとうございます。
自分は亀裂の長さを細線化後の輪郭線追跡で求めています。
なので画素数を求める方法でやっているのと変わらないと思います。

そのほかレスくれた方ありがとうございました。


317 :デフォルトの名無しさん:2009/01/19(月) 17:14:03
>>316
画像うpって欲しい

318 :デフォルトの名無しさん:2009/01/19(月) 17:34:55
>>317
お前は麻呂か

319 :デフォルトの名無しさん:2009/01/20(火) 04:19:15
http://ja.wikipedia.org/wiki/%E5%88%86%E6%95%A3%E5%85%B1%E5%88%86%E6%95%A3%E8%A1%8C%E5%88%97

320 :デフォルトの名無しさん:2009/01/22(木) 22:49:38
JPEGファイルをfopenするとRGB色 8ビット x 3 の並びで読み込み可能ですか?

321 :デフォルトの名無しさん:2009/01/22(木) 23:11:37
>>320
マルチ死ね

322 :デフォルトの名無しさん:2009/01/23(金) 15:45:10
C++とOpenCVを用いて入力画像にガウシアンフィルタ,ラプラシアンフィルタをかけるとこまできてます.
このあとゼロクロスを求めてエッジを抽出したいんですが,どうプログラムを組めばいいかわかりません.

具体的にどう組めばいいか教えてもらえませんか.

//ガウシアンフィルタでノイズ除去
cvSmooth( cvimageR1, imageR2, CV_GAUSSIAN, 7, 0, 0);
cvSmooth( cvimageLa, imageL2, CV_GAUSSIAN, 7, 0, 0);
cvSmooth( imageR2, imageR3, CV_GAUSSIAN, 7, 0, 0);
cvSmooth( imageL2, imageL3, CV_GAUSSIAN, 7, 0, 0);

//ラプラシアンフィルタ
cvLaplace( imageR3, edgeXR, 3 );
cvLaplace( imageL3, edgeXL, 3 );



// この部分にゼロクロス検出を入れたいです


//画像に出力するために値の範囲を[0,255]に変換する.+100は勝手に決めた
for ( int i=0 ; i<imageR3->height*imageR3->width ; i++ ){
matchXR->imageData[i] = (unsigned char)( (((short*)edgeXR->imageData)[i])/2+100 );
}
for ( int i=0 ; i<imageL3->height*imageL3->width ; i++ ){
matchXL->imageData[i] = (unsigned char)( (((short*)edgeXL->imageData)[i])/2+100 );

323 :デフォルトの名無しさん:2009/01/24(土) 03:26:29
>>320
無理です。JPEGのフォーマット調べて
>>322
俺が書くよりこれ見た方がいいかな
http://www.cfme.chiba-u.jp/~haneishi/class/5_jitsukuukan.pdf

324 :デフォルトの名無しさん:2009/01/24(土) 18:02:14
>>323
なんで無理なんだよ?
どうやったらJPEGフォーマットのファイルを処理できるんだよ?あ?
教えろよ。

325 :デフォルトの名無しさん:2009/01/24(土) 18:07:31
http://www.ijg.org/

326 :デフォルトの名無しさん:2009/01/24(土) 18:23:54
>>324
jpgのファイルをプログラムでメモリに読み込むだけですよ?
いちどコンピュータとメモリの仕組みから勉強しなおしたらどうですか。

327 :デフォルトの名無しさん:2009/01/24(土) 18:33:07
>>326
お前が勉強しなおせよ、このタコ

328 :デフォルトの名無しさん:2009/01/24(土) 18:45:37
そうですよね。
正常にファイルを読みこめたかどうかいちいちエラーチェックしなければなりません。
それにそのJPEGファイルがメモリからあふれないという保障もないので、メモリ確保のときのチェックも必要になります。
メモリは大切な資源ですし無限にあるわけじゃありませんからね。

329 :デフォルトの名無しさん:2009/01/24(土) 18:49:19
>>328
ぼくちゃん、そんなにすごいんなら >>327 の為にソースコード載せてあげたら?w

330 :デフォルトの名無しさん:2009/01/24(土) 18:52:50
つjpegデコーダ

331 :デフォルトの名無しさん:2009/01/24(土) 19:50:23
>>324
君は態度悪いね。これ欲しいのか?
http://www.vector.co.jp/soft/win95/art/se148046.html

332 :デフォルトの名無しさん:2009/01/24(土) 19:59:52
>>331
自分でプログラミングしたいんだよ。
そんなツール紹介すんなカスが。
そういうのをスクリプトキッズって言うんだよ。氏ね。

333 :デフォルトの名無しさん:2009/01/24(土) 20:04:40
この上げてるキティちゃんは何がしたいの?
荒らしたいだけ?

334 :デフォルトの名無しさん:2009/01/24(土) 20:06:39
>>332
int ReadJpegFile(const char *path, char *mem, size_t *mem_size);

335 :デフォルトの名無しさん:2009/01/24(土) 20:08:53
>>332
だからJPGファイルをメモリへ読み込むんですよ。
そういうこと分かってますか?

336 :デフォルトの名無しさん:2009/01/24(土) 20:10:45
>>335
おまえホントウゼーな。日本語勉強してからこいよ。氏ねよカス

337 :デフォルトの名無しさん:2009/01/24(土) 20:31:13
>>332
おまえ アホだろ
ttp://www.vector.co.jp/soft/win95/art/se148046.html
はDLLのソースだよ。DLLも理解してないようだから、これでイジルの終わりにします。



338 :デフォルトの名無しさん:2009/01/24(土) 23:42:35
>>336
ほれ、http://www.w3.org/Graphics/JPEG/

339 :デフォルトの名無しさん:2009/01/25(日) 00:03:39
>>337
それを気がついていたからJPG君に2度もコンピュータとメモリの話からレスしてあるんじゃん。おまえもアホなやつだな。

340 :デフォルトの名無しさん:2009/01/25(日) 00:19:35
>>339
だから、おまえは能書きたれてねーで、さっさとソースコード載せろやタコ氏ね

341 :デフォルトの名無しさん:2009/01/25(日) 00:32:37
age棒うせろ
はやく死ね

342 :デフォルトの名無しさん:2009/01/25(日) 00:35:08
おまえが死ねマジでUZEEEEEEEEEEEEEEEEEEEEEEEEEEEんだよ

343 :デフォルトの名無しさん:2009/01/25(日) 00:49:52
>>320
OpenCVのRGBアクセス関連サンプル
(昔別のサイトでもっといいサンプル見たんだけど見つけらんなかった)
ttp://rest-term.com/archives/tag/cvim/page/2/

JPEGフォーマット
ttp://siisise.net/jpeg.html

fopen()で開いてどうこうって言うのは質問自体にも問題があると思うよ。
fopne()でファイルは開ける、ただしJPEGファイルフォーマットを
知らなきゃ直接RGBにアクセスなんてとてもとてもできない。
(上記サイト見て自分でその解析処理作れそうか考えてみ)。

そういうフォーマットルールとかの難しい部分を緩和する為に
OpenCVの共通ライブラリ群があるわけで・・・

344 :デフォルトの名無しさん:2009/01/25(日) 00:56:12
>>343
丁寧に教えててるつもりだろうがおまえが一番ウザイ。早く死ね。


345 :デフォルトの名無しさん:2009/01/25(日) 00:58:52
そもそもフォーマットを知っててもjpegの場合rgb値にアクセスすることはできないけどねぇ。
単純にrgb値が(なんらかの圧縮などの操作を受けて)格納されているpngなどとは訳が違う。

346 :デフォルトの名無しさん:2009/01/25(日) 01:00:12
>>320
あった
ttp://wiki.livedoor.jp/mikk_ni3_92/d/%B2%C4%BB%EB%C6%A9%A4%AB%A4%B7

347 :デフォルトの名無しさん:2009/01/25(日) 01:01:28
>>344
ともに逝こう

348 :デフォルトの名無しさん:2009/01/25(日) 01:18:04
画像処理を簡単に勉強する方法を教えてください

349 :デフォルトの名無しさん:2009/01/25(日) 01:31:03
勉強をあきらめる

350 :デフォルトの名無しさん:2009/01/25(日) 01:32:46
>>348
ネットに載ってるサンプルコードをとにかく実践しまくって
感覚をつかむ、とか

351 :デフォルトの名無しさん:2009/01/25(日) 01:35:09
>>349
いるんだよね、こういう蛆虫みたいな奴。
ホントきもいよなぁ。

352 :デフォルトの名無しさん:2009/01/25(日) 01:42:22
なんでsageたりageたりするの?

353 :デフォルトの名無しさん:2009/01/25(日) 01:44:11
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス
おまえらホントUZEEEE氏ねカス

354 :デフォルトの名無しさん:2009/01/25(日) 01:50:12
あばれるなよ。それともあれか、FF11で引導渡された口か? だったら社会復帰なんて無理なんだから諦めろ。

355 :デフォルトの名無しさん:2009/01/25(日) 02:02:32
>>353
児童ポルノ画像もってますね。
警視庁に通報しました。

356 :デフォルトの名無しさん:2009/01/25(日) 03:32:44
東京都在住ではないようです

357 :デフォルトの名無しさん:2009/01/25(日) 07:49:48
>>332
痛い子発見

358 :デフォルトの名無しさん:2009/01/25(日) 07:59:06
>>332
芸能プロダクションにいる怖いおにーさんによって山奥に連れていかれちゃいますよ。

359 :デフォルトの名無しさん:2009/01/25(日) 10:56:41
>>325 で答えが出てるんだが

360 :デフォルトの名無しさん:2009/01/25(日) 11:16:40
と思ったが、なんかサイトが変になってるな。
ttp://en.wikipedia.org/wiki/Libjpeg とか、
ttp://web.archive.org/web/*/www.jig.org/ あたりを参考に。

361 :デフォルトの名無しさん:2009/01/25(日) 11:21:18
ミスった
ttp://web.archive.org/web/*/www.ijg.org/

362 :デフォルトの名無しさん:2009/01/25(日) 13:40:28
http://www.geocities.jp/katayama_hirofumi_mz/

363 :デフォルトの名無しさん:2009/01/27(火) 16:03:33
>>348
古いけど、↓なんか一通りの話が出てくる。
h ttp://homepage2.nifty.com/tsugu/sotuken/ronbun/


364 :デフォルトの名無しさん:2009/01/28(水) 14:07:20
次の縮小処理をもっと高速にする方法はありませんか。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8761.txt
MMXは使えません。

365 :デフォルトの名無しさん:2009/01/28(水) 14:30:26
縮小でBi-Linearいるんだっけ?

366 :デフォルトの名無しさん:2009/01/28(水) 16:26:55
>>364
ざっと見だが
・exはyに関わらず一定なのでループ外でまとめて計算しておく
 x0,x1も同様に。
・exやeyでfloatを使うのをやめて固定小数点処理にする
・DWORDで読み込んでシフト&マスクするより普通にBYTEで読んだほうが速くね?

367 :デフォルトの名無しさん:2009/01/28(水) 16:31:21
>>364
1/2未満のサイズにする場合も、それで処理するの?

とりあえず気になったのは

SetDIBitsは必要ない。
c00〜c11を参照にする意味がない。const DWORDの方がいい。
ex,eyは0〜256の整数で十分。
rとbは同時に計算できる。

DWORD rb0 = ((((c00 & 0xFF00FF) * ex0) + ((c10 & 0xFF00FF) * ex1)) >> 8) & 0xFF00FF;
こんな感じ。


368 :デフォルトの名無しさん:2009/01/28(水) 16:49:01
>>364
コードの高速化に関して書けば
1)x0,x1,ex0,ex1をループの外へ出す。x0[ix]のようする。
2)b0 = ((c00 & 0xFF) * ex0) + ((c10 & 0xFF) * ex1);
これはコンパイラーが
b0 = (BYTE)((float)(c00 & 0xFF) * ex0) + ((float)(c10 & 0xFF) * ex1);
コンパイルしてると思われ、b0などfloat宣言にする。
float b0 = ((float)(c00 & 0xFF) * ex0) + ((float)(c10 & 0xFF) * ex1);
3)シフトが多いので減らす。
g0 = (((c00 >> 8) & 0xFF) * ex0) + (((c10 >> 8) & 0xFF) * ex1);
→ g0 = ((c00 & 0xFF00) * ex0) + ((c10 & 0xFF00) * ex1);
それで((LPDWORD)pbNewLine)[ix] =(DWORD)b|(DWORD)g|(DWORD)r;
になればいいな。
4)目的にもよるがfloatは使わず、DWORD iex0=ex0*256をバイアスする。(フロー注意)
こんな感じかな

369 :368:2009/01/28(水) 16:51:01
あ、ゆっくり買いたら、書き込みいっぱいあった。ごめん。

370 :デフォルトの名無しさん:2009/01/28(水) 18:24:20
Win32APIスレから移動して来たんだけど
アドバイスより実際のコードを欲しがってるだけだよ。

371 :デフォルトの名無しさん:2009/01/29(木) 10:16:31
>>366-368
ありがとうございます。参考になりました。

372 :デフォルトの名無しさん:2009/01/31(土) 18:11:38
平行ステレオの対応点探索精度を上げるのってどうしたらいい?
単純にRGBのSSDブロックマッチングじゃ輪郭がぼけるし遅いしいまいち。
HSVにしてHとVの比重を大きくしてみたけど大して良くならなかった。

373 :デフォルトの名無しさん:2009/02/03(火) 21:54:50
>>372
平行ステレオのSSDブロックマッチングの限界では?
適応的にブロックサイズを変えたりすれば精度上がるかもしれんが、
そもそも違う画像をマッチングしてるのだからね

374 :デフォルトの名無しさん:2009/02/04(水) 20:49:58
輪郭がぼけるってことは、画像を合成しようとしてるのかな?
単に探索精度の問題だったら、ブロックを小さくしたり、
小数点補間したりすればいいだろうけど、
373さんの言うように、視差のある別物の画像の合成なんで、
輪郭はぼけてしまうと思うよ。
仮に撮影対象が全面に平面であれば、視差は生じないだろうけど、
その場合でも、合成には射影変換が必須となると思う。

375 :374:2009/02/04(水) 21:06:11
>>374

> 仮に撮影対象が全面に平面であれば、視差は生じないだろうけど、

視差と言う言葉は適切でなかったかな。
ここでは、視点の違いによって、見えたり見えなかったりすることを言ってます。

376 :デフォルトの名無しさん:2009/02/06(金) 21:50:06
対応点が多数求まってたらF行列ってかなり正確に出せるもんなの?

377 :デフォルトの名無しさん:2009/02/07(土) 15:15:36
int file_jpeg_load_from_memory(unsigned char *src, unsigned int len, unsigned char **data, unsigned int *width, unsigned int *height){
struct jpeg_decompress_struct cinfo;
struct my_error_mgr jerr;

cinfo.err = jpeg_std_error(&jerr.pub);
jerr.pub.error_exit = my_error_exit;
if (setjmp(jerr.setjmp_buffer)) {
jpeg_destroy_decompress(&cinfo);
return 0;
}

jpeg_create_decompress(&cinfo);
jpeg_memory_src(&cinfo, src, len);

int err = file_jpeg_load(&cinfo, data, width, height);

jpeg_destroy_decompress(&cinfo);
return err;
}

378 :デフォルトの名無しさん:2009/02/07(土) 18:31:30
>>376
=372?
何をしようとしてるの?


379 :デフォルトの名無しさん:2009/02/08(日) 03:00:54
376だけど372じゃないよ
8点アルゴリズムとかがどの程度正確なのか知ってるひといたら教えてもらいたいと思って。
あんま正確じゃないと分かってたらやる気わかないから。

380 :デフォルトの名無しさん:2009/02/08(日) 05:17:18
>>379
対応を見る対象が良く分からないので、何ともいえないけど、
所詮、F行列自体近似だから、余り情熱を傾ける話じゃないと思うよ。
追跡失敗を統計的にはじくためには、
ある程度の点数は必要だけれども



381 :デフォルトの名無しさん:2009/02/08(日) 11:14:24
ど素人の質問ですみません。
エッジ処理の説明には、以下のような微分の話がでますが、
なんでこうなるのかわかりません、、、微分なら傾きなわけだから、
1次微分は凸のように上げ下げではなく、上げだけだと思うのですが、、、

【原信号】
         +-------
        /
       /
      /
-------+


【1次微分】
         +
        + +
---------+  +-------------








382 :デフォルトの名無しさん:2009/02/08(日) 11:42:37
>微分なら傾き
傾きじゃなくて変化量とか変化の度合いと考えた方がいいと思う。

>1次微分は凸のように上げ下げではなく、上げだけだと思うのですが、、、
自分で微分のグラフを描いてみてはどうだろう。

383 :デフォルトの名無しさん:2009/02/08(日) 12:00:20
>>382さん
早速レスありがとうございます。
傾きを接線として考えてたから混乱しました。
1次微分を3箇所に分けると、
@上向き部分→これは変化量をして増えてるのでわかります。f(x+Δx)-f(x)がプラス
A変曲点
Bここが下向きになるのがわかりません、、、

単純に、原信号の終わり側の変化がない部分にさしかかるから、
変化量が少なくなるから下向きということなんでしょうか。





384 :デフォルトの名無しさん:2009/02/08(日) 12:05:44
どんなグラフになると思ってるんだ?

385 :デフォルトの名無しさん:2009/02/08(日) 12:12:22
とりあえず一次微分で直線になってる部分は 0 なんだから、それ以外の部分は全部 + だってのはいい?
そーいう意味では「上げだけ」なわけだが。
原信号が三直線でできてるのなら一次微分は 0 → 正の一定値 → 0 になるけど実際の信号は鈍るので、
0 から増加して最大値になり減少してまた 0 に戻る。

386 :デフォルトの名無しさん:2009/02/08(日) 14:56:31
>>383

> 単純に、原信号の終わり側の変化がない部分にさしかかるから、
> 変化量が少なくなるから下向きということなんでしょうか。

YES

で、3箇所って何を言おうとしてるんだ?と小一時間考えたよ。
一度質問を完成させた後に、頭が白紙の相手の立場に立って、
読み直してみるように心がけた方が良いよ。
漏れの場合、質問するために状況整理していると、自分の中の理解も整理されてきて、
自分で問題に気づくことがよくある



387 :デフォルトの名無しさん:2009/02/08(日) 15:30:19
Windowsで一番簡単なディザ処理を行うにはどうすればいいですか?

388 :デフォルトの名無しさん:2009/02/08(日) 16:12:42
MISTってOpenCVと違って話題にならないね
なんでだろ
まぁ俺もOpenCV使ってるけど

389 :デフォルトの名無しさん:2009/02/08(日) 20:12:37
テンプレート使いこなせる人間が少ないのかも
Boost::GILも同様
今OpenCV使ってる人は乗り換えるメリットも無さそうだし

学生さんはとりあえず、自分でゴリ書きするかOpenCV使って勉強するだろうし
なかなか広まらないだろうね

ちなみにおいらは製造業向けの画像検査装置開発やってるけど、
画像処理部はインテルのIPP(+OpenCV)やらHALCONやら使って開発することが多い

個人的にはMISTの開発がんばってほしいけどね

390 :デフォルトの名無しさん:2009/02/08(日) 20:47:07
IPPもHALCONも使い放題かぁうらやましい
うちは最初OpenCVで組んで最終的には全部自前で組み直し
おかげで画像処理やプログラミングの知識はつくけど効率悪いすぎ

391 :デフォルトの名無しさん:2009/02/08(日) 22:05:19
検査装置系の画像処理の開発会社に入ろうと思った場合、最低限出来ないと
いけないのって何なんでしょう?OpenCVを一通りこなせれば良いんでしょうか?

392 :デフォルトの名無しさん:2009/02/08(日) 22:08:56
検査会社がOpenCVなんて使うか?
画像ライブラリについて知ってることは有利だとしても・・・

393 :デフォルトの名無しさん:2009/02/08(日) 22:22:01
検査装置のGUIを作ることもあるから知ってて損はないよ。
検査装置って言ったって、ある程度以上複雑なものは大抵PC使っているからね。

394 :デフォルトの名無しさん:2009/02/08(日) 22:50:46
http://www.keyence.co.jp/gazo/index.jsp
個人的にはキーエンスおすすめだけど

395 :389:2009/02/08(日) 22:51:38
>>390
IPPはランタイムフリーだから使い放題
HALCONは・・・(´-ω-`)

>>391
知らなくて も いいと思う。
”ソフト開発者”として入社しても画像処理用の
FPGA回路設計とかになるかもしれんし

オレの場合、処理をどうするかよりもカメラでどんな画像を取るか
ってところの方が重要だよ
カメラやレンズ、照明の知識がある新人がほしいけど
そんな学生たぶんいないだろうとも思う

396 :デフォルトの名無しさん:2009/02/08(日) 23:22:49
そういうのはカメラ業界(写真とかTVカメラとかも)の方に行くでそ。
どうせ微分とか知らないんだろうし。

397 :デフォルトの名無しさん:2009/02/09(月) 01:10:31
うちはGPUプログラミングできる人ほしい

398 :デフォルトの名無しさん:2009/02/09(月) 01:18:27
>>397
呼んだ?

399 :デフォルトの名無しさん:2009/02/09(月) 01:21:03
寧ろGPUプログラミングの仕事が欲しい。

400 :デフォルトの名無しさん:2009/02/09(月) 01:29:53
opencvよりpython PILの方が簡単じゃない?

401 :デフォルトの名無しさん:2009/02/09(月) 09:37:09
微分なんてもう忘れたがエッジ検出の原理は分かるな

402 :デフォルトの名無しさん:2009/02/09(月) 09:42:13
微分ってのはあれでしょ
2次元グラフでみたら波うった線があるけど
線が重要なんじゃなくてそれの面が重要なんでしょ
各ポイントにある公式fを適用してもその面積が一定に保たれるものを微分と言うのでしょ?

403 :デフォルトの名無しさん:2009/02/09(月) 09:45:22
2次微分になると面が今度は体積になるのでしょ?

404 :デフォルトの名無しさん:2009/02/09(月) 10:00:36
GPUプログラミングって微妙にスレ違いじゃね?

405 :デフォルトの名無しさん:2009/02/09(月) 10:03:56
頂点と谷を固定したぼかしフィルタがいわゆるFFTっていう微分でしょ?

406 :デフォルトの名無しさん:2009/02/09(月) 21:27:31
GPUプログラミングは今後画像処理で必須になるでしょ
それを見越した新しいアルゴリズムも出てくるだろうし関係あるんじゃん?

407 :デフォルトの名無しさん:2009/02/09(月) 22:24:58
>>402>>403
き、きみ、、

408 :デフォルトの名無しさん:2009/02/09(月) 22:46:19
>>405
参りましたm(_ _)m


409 :デフォルトの名無しさん:2009/02/10(火) 00:19:34
FASTコーナー検出について解説お願いします。
日本語の解説がまったく見当たらないもので。

410 :デフォルトの名無しさん:2009/02/10(火) 00:42:46
http://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%BC%E3%83%8A%E3%83%BC%E6%A4%9C%E5%87%BA%E6%B3%95

411 :デフォルトの名無しさん:2009/02/10(火) 00:43:30
あ、すまん。FASTはわからん

412 :デフォルトの名無しさん:2009/02/10(火) 00:46:59
180度回転がうまくできない bmpのです
一次元配列でメモリとってやってます
アルゴリズムはわかるけどプログラミングがうまくいかない…

413 :デフォルトの名無しさん:2009/02/10(火) 01:04:08
アルゴリズム(笑)

414 :デフォルトの名無しさん:2009/02/10(火) 01:07:12
アルゴリズムって言うほどのもんか?w

415 :デフォルトの名無しさん:2009/02/10(火) 01:12:54
>>412
まず、上下反転か左右反転の簡単と思う方をやってみたら?

416 :デフォルトの名無しさん:2009/02/10(火) 05:04:04
プロジェクタで投影したときにレンズの光収差だと思うんですが結構歪むんで、出力前に補正を掛けて投影したいと思うんですが、この場合どういうアプローチが良いですか?
カメラで写した物の補正なら入力画像をたくさん用意してOpenCV(Zhangの手法)でレンズパラメータとか推定できるんですが、プロジェクタで投影しちゃった物の補正っていうかパラメータ推定?で困ってます。
なんか道筋的な物でもご存じの方いませんか?

417 :デフォルトの名無しさん:2009/02/10(火) 05:29:21
プロジェクタで投影したものを撮影してみればいいじゃない。

418 :デフォルトの名無しさん:2009/02/10(火) 06:21:21
そしたらカメラのレンズ歪みも入らない???

419 :デフォルトの名無しさん:2009/02/10(火) 06:55:06
撮像系の歪みはチャートでも撮影すれば得られるじゃない。
どうせ光が拡散しない領域でしょ? 難しい話じゃないよ。

420 :デフォルトの名無しさん:2009/02/10(火) 07:36:07
>>409
中央の色と周辺の色の差分を取る
差分が0のポイントが周囲の1/4に近い場合それはコーナーです

421 :デフォルトの名無しさん:2009/02/10(火) 10:12:53
http://www.geocities.jp/katayama_hirofumi_mz/win32/gfill.htm

Bayer型ディザ行列でディザ処理はできるようになりました。
でも、画質が劣っているので何とかなりませんか。

422 :デフォルトの名無しさん:2009/02/10(火) 12:38:00
>>421
1 組織的ディザやめて誤差拡散法にする(数倍程度遅くなるけど綺麗になる)
2 組織的ディザにこだわるならブルーノイズ行列を使う(高速なまま綺麗になる)

423 :デフォルトの名無しさん:2009/02/11(水) 22:33:29
>>420
409じゃないですが私もFASTに興味があります。
周囲の1/4 をもう少し詳しく教えていただきたいです

424 :デフォルトの名無しさん:2009/02/12(木) 00:09:25
>>420
機械学習をどういう風に使っているのか教えてください

425 :デフォルトの名無しさん:2009/02/12(木) 00:36:05
学生なんですが、標本化するときに起こる画像劣化の理由の模範解答をしていただける方はいませんか?


426 :デフォルトの名無しさん:2009/02/12(木) 00:45:41
量子化誤差が起るから。以上。

427 :デフォルトの名無しさん:2009/02/12(木) 01:06:50
>>409
日本語の解説がないなら英語の解説を読めばいいじゃない。
ヒンディー語とかじゃないだけまだましじゃないか。

428 :デフォルトの名無しさん:2009/02/12(木) 09:26:27
英語の解説はどこに?

429 :デフォルトの名無しさん:2009/02/12(木) 13:22:37
>>428
ググれや
http://svr-www.eng.cam.ac.uk/~er258/work/fast.html

430 :デフォルトの名無しさん:2009/02/12(木) 20:14:24
そこの論文がよくわからないんですけど。。。

431 :デフォルトの名無しさん:2009/02/13(金) 10:30:17
gif_libがいつも読み込みエラーになって使えない。
どうすればいい?

432 :デフォルトの名無しさん:2009/02/13(金) 10:56:35
使っているバージョンはgiflib-4.1.6で、開発環境はMinGWです。
よろしくお願いします。

433 :デフォルトの名無しさん:2009/02/13(金) 11:00:56
自己解決しました

434 :デフォルトの名無しさん:2009/02/13(金) 11:07:30
してません。

435 :デフォルトの名無しさん:2009/02/13(金) 17:41:18
画像を3D的に扱って、それぞれの軸に対応させた回転をするには以下の様な計算式で出来たのですが、
全ての軸回転を一括して計算してやるにはどうすれば良いのでしょうか?

//X軸周りに回転する行列変換
vx = x;
vy = y*cos(RagX) - z*sin(RagX);
vz = y*sin(RagX) + z*cos(RagX);

//Y軸周りに回転する行列変換
vx = x*cos(RagY) + z*sin(RagY);
vy = y;
vz = z*cos(RagY) - x*sin(RagY);

//Z軸周りに回転する行列変換
vx = x*cos(RagZ) - y*sin(RagZ);
vy = x*sin(RagZ) + y*cos(RagZ);
vz = z;

436 :デフォルトの名無しさん:2009/02/13(金) 17:46:30
クォータニオン使えば良い

437 :デフォルトの名無しさん:2009/02/13(金) 20:07:59
世の中には4次元数とか頭で考えるだけで分かる人とか居るんだろうか
おいらはコピペすることしか出来ねーwww

438 :デフォルトの名無しさん:2009/02/13(金) 20:25:54
>>435
2つの行列を掛けると、2つの変換を合成した行列になる。
しかし、行列のかける順番は可換ではないから、X*YとY*Xは違う変換に
なるので注意が必要。

439 :デフォルトの名無しさん:2009/02/13(金) 20:27:47
正規化されたベクトルx,y,zに回転時間tを加えたものがクオータニオンで
中心座標から目標点の座標のベクトルx1,y1,z1があるとすると
角度のクオータニオンにこの目標ベクトルを乗じて
その結果にさらに-角度のクオータニオンを乗じる
これが移動方向のベクトルになるので目標点にこれを加えると最終的な座標が求まる

書いてて分からんwww

440 :デフォルトの名無しさん:2009/02/14(土) 03:06:01
視覚神経モデルを使ったアルゴリズムって無いのかな

441 :デフォルトの名無しさん:2009/02/14(土) 15:21:47
>>432
libkohn_gifを使うことにしました。

442 :赤西仁:2009/02/14(土) 16:32:34
2年間悩んでます。お力をお貸しください。

PSのアークザラッドUというタイトルのゲームの、ゲーム画像(歩行画像など)を抽出したいのですが、
かれこれ1年ほど経ちますが、なかなかうまくいきません。
*もちろん抽出した画像は個人範囲内で利用するつもりです。

◆試してダメだったこと

 ネット上からダウンロードできる、ありとあらゆる抽出系ツールを試した。
 (ちなみに他のゲームはほとんど抽出可能)

◆教わったこと

 ・アークザラッドUは独自の画像形式を使っているから抽出できない。
 ・PS上で表示されてるということは絶対に摘出はできるはず。
 ・ttp://www.gradius2.com/index.php?UID=1174775153

◆抽出は不可能ではないということを知ったとき

 2ちゃんねるで質問したところ、
 ある方が実際にキャラクターの歩行画像を抽出して
 私が立てたスレにアップしてくださいました。

スクリーンショットじゃダメなんです。どうか皆さん、お力をお貸しください。お礼は絶対にします。

443 :デフォルトの名無しさん:2009/02/14(土) 16:33:35
コピペ君って馬鹿だな、まで読んだ。

444 :デフォルトの名無しさん:2009/02/14(土) 20:18:53
>>442
もしそれが抽出できたとしても、たぶんその考え方じゃ君はプログラムとか応用とかの分野に向いてないよ。
面倒なことしないで素直な消費者(事務員)として生きていくことをお勧めする。

445 :デフォルトの名無しさん:2009/02/15(日) 20:59:18
質問です。動画ファイルから任意のフレームを取得する方法について探しています。
拡張子がaviのファイルはavi for windowsでできました。
しかしmpegファイルはDirect showでできるとの話を聞きましたが、再生しながらの取得しかできません。
他に方法はないのでしょうか?

446 :デフォルトの名無しさん:2009/02/15(日) 23:38:58
スレ違いかも知れないですが・・・
調べても手がかりが全く無いので
画像関係に詳しそうな方のいるこちらで質問します。

フォルダ内のjpg画像を特大表示等で表示する際
処理が間に合わない際の、一瞬の小さな画像の時
画像にかかっているぼかしが消えて表示されますが、
特大表示になるとぼかしが復活します。
これはぼかしのかかっている画像にぼかし無しのデータも有る
という事ですよね?ぼかし無しの画像をオリジナルサイズで
見ることは出来なのでしょうか?



447 :デフォルトの名無しさん:2009/02/15(日) 23:46:03
プログレッシブ云々じゃねえの?

448 :デフォルトの名無しさん:2009/02/16(月) 05:55:06
>>445

IMediaControl::Pause()で一時停止して
IMediaSeeking::SetPositions()でシークすればいいよ。

449 :デフォルトの名無しさん:2009/02/23(月) 20:38:02
ハートレイの手法で単眼カメラの軌跡を出そうとしているのですが、
n-1とnフレーム目、nとn+1フレーム目、それぞれ||t||=1に正規化された並進ベクトルになるため、n-1→n→n+1と絶対座標の動きが解りません。
nフレーム目をワールドの基準として連続フレームの軌跡を絶対座標で算出するにはどうしたらいいですか?
ちなみに非リアルタイムで構いません。(早いに越したことはないですが)

450 :デフォルトの名無しさん:2009/03/06(金) 23:06:58
たまにこういう真面目な質問が来ると10日以上もスレが止まってしまうのか

451 :デフォルトの名無しさん:2009/03/07(土) 14:06:39
誰も答えられないんだからしゃーない

452 :デフォルトの名無しさん:2009/03/07(土) 15:52:18
つまり誰かがPTAMを1から詳細に解説してくれたらいいってことだ
俺はわからん

453 :デフォルトの名無しさん:2009/03/08(日) 05:03:03
そんなすでに論文として詳細に解説してあるものを、
日本語訳するような作業はつまらない。

454 :デフォルトの名無しさん:2009/03/10(火) 23:56:14
2000×2000 の300×300dpiの画像を
「解像度600×600」に変換。するアルゴリズムを教えて下さい。

私は、
1.画像の高さと幅をそれぞれ2倍に拡大
2.ヘッダファイルの解像度情報を600×600に変更
だと思っているのですが これであっていますか?

455 :デフォルトの名無しさん:2009/03/11(水) 00:03:30
画像フォーマットが判らんとdpi情報の扱いは判らんが。
それはさて、一番の問題は
>1.画像の高さと幅をそれぞれ2倍に拡大
の中身だと思う。

456 :デフォルトの名無しさん:2009/03/11(水) 17:02:47
モーフィングってまだ研究するようなネタある?

457 :デフォルトの名無しさん:2009/03/13(金) 01:30:12
モーふぃん具って画像処理に入るのかな?
どっちかというとCGのような。まぁ(どうでも)いいや。

458 :デフォルトの名無しさん:2009/03/13(金) 03:42:57
類似画像を見つける方法を書いておく。
画像全体を2値に変換し、0と1の出現確率がほぼ等しくなるようにする。(輝度がある程度以上など) 
適当な大きさ(100*100など)にリサイズする。
それを1万次元ベクトル空間と見なして、2つの画像のcos値を計算する。(and演算とビットの個数を数えるだけで計算は速い)
1に近いほど一致度が高い。

459 :デフォルトの名無しさん:2009/03/13(金) 08:11:23
>>458
なんでわざわざcosを取るんだ? 引き算するのとどう違うんだ?

460 :デフォルトの名無しさん:2009/03/13(金) 08:17:23
たとえばベクトル空間法でググってくれ

461 :デフォルトの名無しさん:2009/03/13(金) 08:25:15
http://mikilab.doshisha.ac.jp/dia/research/report/2008/1110/002/report20081110002.html

類似度計算
ベクトル空間法とは, 文書を多次元空間上のベクトルとして表現し, 2つのベクトルを比較することにより類似度を調べるものである.
つまり, ベクトルの方向は文書の特徴であるので, 2つのベクトルのなす角が小さいほど似ているということである.
ベクトルDとベクトルEの類似度の計算は以下の式で実現できる.
http://mikilab.doshisha.ac.jp/dia/research/report/2008/1110/002/img/7.jpg

462 :デフォルトの名無しさん:2009/03/13(金) 08:32:19
>>459
2値に変換してリサイズしている為、今回のケースでは一致した個数を数えるのと大差は無いかもしれない。

463 :462:2009/03/13(金) 08:39:37
0と1の分布がほぼ等しいという条件を満たすことが難しい場合、自分のノルムで割って補正するという点は利点があるな。
たとえば、1の分布が多い同士だと一致する確率が高く、数値が大きくなる傾向がある。
ベクトル空間法では、それをそれぞれのノルムで割ることで補正できる。

464 :デフォルトの名無しさん:2009/03/13(金) 16:39:06
単なる積和計算か

465 :459:2009/03/13(金) 22:54:48
>>461
いや、俺が言いたかったのは、各成分上のサイズ違いのない比較でcosを取る意味があるのか、ってこと。
もしかして、cosを取った方が計算が速いのか?

466 :458:2009/03/13(金) 23:05:35
グレースケールの縮小画像を作ってcos計れば精度が高そうと思った。
2値にしたかったのは、0と1の頻度が調整しやすい為だけど、
色が濃かったり薄かったりすれば、自身のノルムで割ることで補正される。
これならベクトル空間として処理する意味も出てくる。

467 :デフォルトの名無しさん:2009/03/13(金) 23:10:43
グレースケール → 縮小 、縮小 → グレースケール
を比べると、前者の処理は 1/3 程度で済む。
類似画像を見つけるには処理は速いほうがいいから、前者で処理すれば十分だろうか。

468 :デフォルトの名無しさん:2009/03/14(土) 07:57:16
で、実際に実装するどんな感じで動くん?

469 :デフォルトの名無しさん:2009/03/14(土) 10:13:34
背景が全く違っていても前景のオブジェクトで類似していると判定できるような
アルゴリズムでないとフリーソフトにも勝てない

470 :デフォルトの名無しさん:2009/03/14(土) 14:00:32
画像処理系のライブラリ

OpenCV ttp://sourceforge.net/projects/opencvlibrary/
Gimp ttp://www.gimp.org
Vigra ttp://kogs-www.informatik.uni-hamburg.de/~koethe/vigra/
Vips ttp://www.vips.ecs.soton.ac.uk/
VXL ttp://vxl.sourceforge.net/
CImg ttp://cimg.sourceforge.net/
Gegl ttp://www.gegl.org/ ttp://pippin.gimp.org/gegl/
ImageMagick/GraphicsMagick ttp://imagemagick.org/ ttp://www.graphicsmagick.org/
GIL ttp://opensource.adobe.com/gil/
CxImage ttp://www.codeproject.com/bitmap/cximage.asp
FreeImage ttp://freeimage.sourceforge.net/
ITK ttp://www.itk.org
GD ttp://libgd.org/Main_Page
Imlib2 ttp://www.enlightenment.org/Libraries/Imlib2/
MIST ttp://mist.suenaga.cse.nagoya-u.ac.jp/trac/

471 :466:2009/03/14(土) 14:07:39
黒が重要なので、 1/(1+x)や255-xと変換して内積を計算すると良いと思います

472 :デフォルトの名無しさん:2009/03/14(土) 17:54:21
>>465
個数を数えて、ノルムで割るなどの補正をすると、
それが既にcos値となっているのだ。

473 :デフォルトの名無しさん:2009/03/15(日) 09:50:01
画像を2値化して類似を取るって時点でダメだろ…
いつの時代だよ

474 :デフォルトの名無しさん:2009/03/15(日) 11:53:17


475 :デフォルトの名無しさん:2009/03/15(日) 20:02:21
ここって、僕が考えたすごいあるごりずむを晒すスレ?

476 :デフォルトの名無しさん:2009/03/15(日) 21:58:40
おしえてくださーい。
魚群探知機?や、お腹の赤ちゃんの超音波映像みたいな元画像から、
影が濃い場所を、探して、その座標を知りたいです。
グレースケール画像の中から、明るい点が長方形やちょっと幅のある線
っぽく、集中している場所を特定したいんだけれども、
どんなアルゴリズム使ったらよいですか?
○○検出、とか、のキーワードでもよいので教えてください。


477 :デフォルトの名無しさん:2009/03/15(日) 22:17:16
人力検出

478 :デフォルトの名無しさん:2009/03/15(日) 22:58:56
2値化
微分フィルタ

479 :デフォルトの名無しさん:2009/03/16(月) 04:19:18
>>475
画像解析関係なら答えてくれる人がいるかもしれないけど、画像関係じゃないなら他のスレで。

480 :デフォルトの名無しさん:2009/03/16(月) 05:51:05
ハフ変換でもいけるかも

481 :デフォルトの名無しさん:2009/03/16(月) 10:33:22
>>476
行列作ってコンボリューション。

482 :476:2009/03/16(月) 10:52:45
>>478
>>481
画像全体を走査して、エッジを際立たせたり、ノイズを除去したりは
できるんですけど、、、、。で、結果は、変換された画像ではなく、
座標値として、得たいんです。
>>480
そうですねハフ変換ですと、直線や円の座標値として検出して、よい感じ
なのですが、今回もうちょっともやっとした集合、集まりのようなものが
対象なので、ハフ変換ではうまく検出できなかったんですよね。

今、
適当な大きさの窓つくって、窓を画像中で走査して、窓内での画像の面積と
重心を求めながら、窓の大きさちょっとかえてあげる。ってのをひたすら
繰り返しているのですが、重くて重くて。。


483 :デフォルトの名無しさん:2009/03/16(月) 11:35:02
それを汎用で軽く計算できたらかなり凄いんだけどな。

レベルセット法を使うとか、まぁ文献探すだけで一週間は遊べる世界だからねぇ。

484 :デフォルトの名無しさん:2009/03/16(月) 11:39:42
>>476
特徴点の集合を抽出した上で、
主成分分析はどうでしょう。
ttp://home.a02.itscom.net/coffee/tako04.html

485 :デフォルトの名無しさん:2009/03/16(月) 11:49:23
>>482
ガウスフィルタかけて、その結果の画像をもとに輝度の極大値の座標を求めれば
良いのでは。ガウス窓の大きさと、σは適当に変えて。

すでに登録した極大値との距離がしきい値より近い場合は、値の大きい方だけを
登録するようにする。

486 :デフォルトの名無しさん:2009/03/16(月) 11:57:08
>>482
実際の画像を上げてみて

487 :476:2009/03/16(月) 12:33:24
ぜんぜん汎用じゃなくてよいので、最後はがりがりカスタマイズするとして、
とっかかりもよくわからないんですよね。
レベルセット法、主成分分析、調べてみます。

ttp://nanasi.ddo.jp/up/download/1237174083.png
pass[gyo]
画面下のほうにはノイズがいっぱいあるので無視するとして、
上半分まであたりには、はっきり線ぽく、人間には見えます。
条件が悪いと、この線の幅がY方向に広がります。
赤で書いたような線分が検出できればゴールなんですが。


488 :476:2009/03/16(月) 13:45:37
おや、Upした画像だと、Hough変換でなかなかよい結果になりますね。
これももうちょっと調べてみます。

489 :デフォルトの名無しさん:2009/03/16(月) 16:43:23
>>487
その画像なら、レベル調整したあと、孤立してるドットをノイズとして除去するだけで大丈夫だろ。
おおまかな形でいいなら、画像縮小→レベル調整(低い部分をカット、高い部分を持ち上げる)だけでOK。

490 :476:2009/03/16(月) 19:24:49
>>489
孤立しているドットをノイズとして除去
っていう、前処理的なものをやったとして、その後、
それの“座標値”を得る方法を知りたいです。

たとえば、
ぼかし(ガウシアンetc)→2値化とすると、
検出したい点の集団が、島のようになりますよね。
ttp://nanasi.ddo.jp/up/download/1237198578.png
pass[hyo]

で、これを近似するような線分または、これをほどよく囲む
矩形の、座標値を知りたいのです。


491 :デフォルトの名無しさん:2009/03/16(月) 23:41:57
スネークどうでしょ

492 :デフォルトの名無しさん:2009/03/17(火) 00:38:15
>>490
各島を矩形で囲みたいってこと?
汎用で簡単ってことになると、面積も狭いことだし塗りつぶせばいいんじゃない?

左上を原点としてY座標下方が正の座標系で、まず1ピクセルを32ビット化して、
黒を0、白を0xFFFFFF とかに置換する。
1.いわゆるペイントアルゴリズムで(0,0)を1で塗りつぶす。
2.次に0または0xFFFFFFになっている点をみつけ2で塗りつぶす。
3.同様に塗りつぶす色を増やしつつ画面から0または0xFFFFFFFFがなくなるまで繰り返す。

終了時点の塗りつぶし色が、分割した空間の個数になってるし、同一領域は完全に同じ色に
なっているから、何をするのも簡単でしょ?

493 :デフォルトの名無しさん:2009/03/17(火) 04:04:54
( ´,_ゝ`)プッ

494 :デフォルトの名無しさん:2009/03/17(火) 11:07:03
たとえば15.2KBの画像を5KBに収縮するフリーの画像ソフト
教えてください。

495 :デフォルトの名無しさん:2009/03/17(火) 11:09:42
>>494
鼬害

496 :494ですが・・:2009/03/17(火) 12:00:24
>>495

すみません、おっしゃっている意味が分からないのですが・・

497 :デフォルトの名無しさん:2009/03/17(火) 12:10:31
板違い。そういう質問はソフトウェア板あたりでどうぞ。

498 :デフォルトの名無しさん:2009/03/17(火) 12:15:37
あ!板が間違っていたのですか・・
すみません。

499 :476:2009/03/17(火) 19:12:23
>>491
スネーク。なるほど。使えそうです。
あと、2値化のあと、8近傍みて輪郭追跡しても囲えそう。

で、直線や、矩形を得る場合は、囲った後にその領域の重心や
主成分分析で軸の方向を見つけたりしなければいけないのかな。
あと、スネークの開始の位置と半径とかって、やっぱり総当り?
最初から矩形に拘束したスネークってできるのかな。

いろいろやってみます。。

>>492
ん。ラベリング?


500 :デフォルトの名無しさん:2009/03/17(火) 23:40:38
二値化までできてラベリングも理解しているならあとはエイヤで書くだけでは…。
正直何を悩んでいるのか理解に苦しむ…。

ところで細線化はどうでしょう。
ttp://codezine.jp/article/detail/98?p=1

501 :476:2009/03/18(水) 18:52:59
>>500
お、細線化、面白いですね。

> 正直何を悩んでいるのか理解に苦しむ…。

ごめんなさい、わかってないの私だけですか?(TT

前処理的なものや輪郭ので囲むまでは、いろいろ教えていただいて
理解しました。最後の、線分をあらわす“座標”を得るためには、
主成分分析か、ハフ変換を使うのが正解ってことでよいですか?

今のところ、主成分分析は、L字みたいな領域ができてしまったときに
難しいことがわかりました。
ハフ変換は、ちょっと重いので、軽くする方法さがしています。あと、線分なのか
矩形なのかの判断がまったくつきません。

どちらの方法でも、2値化の閾値が大きく結果に影響してしまうのも困ってます。。


502 :デフォルトの名無しさん:2009/03/18(水) 19:39:25
ハフ変換とか知ってるのに細線化を知らないとか、
知識に偏りがあり過ぎるんじゃないか?
画像処理、画像認識系の本を読んだ方がいいかと。

知識は広く浅く持っておいて、必要なときに必要なところだけ
深く調べるのが効率的。

503 :デフォルトの名無しさん:2009/03/18(水) 20:12:43
画像処理は数学の分野ってわけでもないですし、こういう時って具体的にはどういう本がいいんですか?

504 :デフォルトの名無しさん:2009/03/18(水) 20:19:39
>>501

>正解ってことでよいですか?
正解だと断言することはできないが、方針としてそんなに外してないとは思う。
外野の立場ではそこまでしか言えない…。

なので後は自分で実験するか指導教官/上司/クライアントの指示を仰いで下さいおながいします。

505 :デフォルトの名無しさん:2009/03/18(水) 21:46:52
>>487
この感じなら大きめガボールフィルタをかければ
濃い領域が結合できると思う
http://ja.wikipedia.org/wiki/%E3%82%AC%E3%83%9C%E3%83%BC%E3%83%AB%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF

506 :デフォルトの名無しさん:2009/03/18(水) 22:28:00
>>503
入門書としては、
「デジタル画像処理」がオヌヌメね
http://www.cgarts.or.jp/book/img_engineer/index.html

507 :506:2009/03/18(水) 22:33:16
>>506
細線化の話が書いてあるかどうかは、定かでないが、
カラーの図がふんだんにあって、広く浅く分かりやすく書いてあるよ


508 :506:2009/03/18(水) 23:29:42
>>507
度々失礼。
Webにある目次のページを見たら、細線化の項目があったね。


509 :デフォルトの名無しさん:2009/03/19(木) 00:58:21
>>501
L字をlと_に分離したいなら、今のアプローチでいいのでは?
2値化して細線化したところでL字の分離には弱いと思う。

510 :デフォルトの名無しさん:2009/03/19(木) 03:48:58
画像処理を勉強し始めようと思って、手始めにwikipediaみてDFTから実装してみたんですが、
同じルーチン(2D DFT)を2回通すと元画像になります。これってどういうことでしょうか。

ちなみに実装した式は
F(x,v) = 1/sqrt(N) Σ_y=0 ^N-1 f(x,y) e^-2πi(vy/N) v = 0,1,...,N-1
F(u,v) = 1/sqrt(M) Σ_x=0 ^M-1 F(x,v) e^-2πi(ux/M) u = 0,1,...,M-1
です。

元に戻るということはIDFTになってるということだと思うのですが、
IDFTは e^-2πi...でなくて e^2πi...と各所で説明されていて、この通り実装したものをDFTのあとに通すと元画像にはなりませんでした。

511 :デフォルトの名無しさん:2009/03/19(木) 12:33:16
係数が掛かっている所為じゃない?
適当にnか√nか1/nか掛けてみたら?

512 :デフォルトの名無しさん:2009/03/19(木) 17:34:32
DFTの段階で1/√nかけてあればIDFTのときに1/nでなくて1/√nが使えてルーチンの再利用が楽になるから使ったんですけど・・・

一応論点にしたいのはIDFTはe^2πi...なのかe^-2πi...なのか・・・ってとこなんです。
DFTを紹介してるいろいろなサイトだとeの指数部がDFTとIDFTで正負逆になってるのでどちらが正しいのかと・・・

513 :デフォルトの名無しさん:2009/03/19(木) 23:31:54
Twiddle Factor:W=exp(-j2π/N)
DFT:  F(u) = 1/√N 農x=0^N-1 f(x) W^(xk)
IDFT:  f(x) = 1/√N 農u=0^N-1 F(u) W^(-uk)
です。IDFTの複素共役をとったら
  f*(x) = 1/√N 農u=0^N-1 F*(u) W^(uk)
逆変換が「F*(u)をDFTして複素共役をとる」になる。

結局IDFTはDFTを使って表せるから eの指数部の符号は気にしなくてもいいんじゃないか

514 :デフォルトの名無しさん:2009/03/19(木) 23:35:51
fは実数だからf(x)もf*(x)も同じだし、
F(u) = F*(N-u)とかの関係を使えば説明できるかな。良くわからん

515 :デフォルトの名無しさん:2009/03/20(金) 01:30:56
ウィキペディアみたら正規化係数やらeの指数部やらは習慣的なものだからとか書いてあるからあんまり気にしないことにします。

へんなこと聞いてすいませんでした。

516 :デフォルトの名無しさん:2009/03/21(土) 09:52:12
このスレの80%くらいは低レベルな質問だな

517 :デフォルトの名無しさん:2009/03/21(土) 09:55:02
まあ、画像処理は低いレイヤーの話だからね。

518 :デフォルトの名無しさん:2009/03/21(土) 13:02:07
ウィットに富んだジョーク!

519 :デフォルトの名無しさん:2009/03/21(土) 14:42:28
bmp形式ファイルで「1bpp」にした画像を見たいのですが
うまく、見れません。
bmfhsize=sizeof(bmfh);
bmihsize=sizeof(bmih);
filesize=bmfhsize+bmihsize+((width/8)+1)*height;
::ZeroMemory(&bmfh, bmfhsize);
::ZeroMemory(&bmih, bmihsize);

bmfh.bfType=0x4d42;
bmfh.bfSize=filesize;
bmfh.bfReserved1=0;
bmfh.bfReserved2=0;
bmfh.bfOffBits=bmfhsize+bmihsize;

bmih.biSize=bmihsize;
bmih.biWidth=(width/8)+1;
bmih.biHeight=height;
bmih.biPlanes=1;
bmih.biBitCount=1;
bmih.biClrUsed=8;
bmih.biCompression=BI_RGB;//無圧縮形式
bmih.biSizeImage=0;//
bmih.biXPelsPerMeter=0;
bmih.biYPelsPerMeter=0;
bmih.biClrImportant=0;

どのようにヘッダファイルを定義したらいいですか?
width=100,height=100の画像を1bppに変換しようとしています。

520 :デフォルトの名無しさん:2009/03/21(土) 21:45:37
1bpp なら bmih.biClrUsed=2; じゃない?

521 :デフォルトの名無しさん:2009/03/21(土) 22:06:58
bmih.biWidth=width;
だろ。あと各行のデータは4バイトバウンダリ

あとで、画像が上下さかさまだとか泣きついてきそうだな

522 :デフォルトの名無しさん:2009/03/22(日) 09:42:20
低レベルだw

523 :デフォルトの名無しさん:2009/03/23(月) 11:26:08
>>519
パレットいらないっけ?

524 :デフォルトの名無しさん:2009/03/23(月) 12:30:53
パレットいる、2つ分

525 :デフォルトの名無しさん:2009/03/23(月) 12:34:25
ネタがないからいいけど、どう見てもAPIスレ向けだろう……
つーか、二値画像を見たいだけなら自分で書かなくてもツールで事が足りるだろうに。

526 :デフォルトの名無しさん:2009/03/23(月) 12:48:16
自分で作ったBMPファイルがツールで見られない、という話じゃないのか

527 :デフォルトの名無しさん:2009/03/23(月) 13:11:56
まさかとは思うが、ヘッダを書くだけで2値化できると思ってないだろうな。

528 :デフォルトの名無しさん:2009/03/23(月) 17:37:30
>>519
>>bmp形式ファイルで「1bpp」にした画像を見たいのですが
と書かれれている一方、
>>width=100,height=100の画像を1bppに変換しようとしています。
と書かれていて、趣旨がのみ込めません。

1bpp の bmp header(BITMAPFILEHEADER, BITMAPINFO)の内容の記述が
分からないのであるなら、Windows アクセサリの「ペイント」で適当は
画像ファイルを読み込んで、白黒 bmp で保存してみればいいのではない
でしょうか。
尚、bmp ファイルの読み込み・表示は「猫でも分かる・・・」の160
章、170章に出ています。

529 :528:2009/03/23(月) 17:39:42
×適当は画像ファイル
○適当な画像ファイル
失礼しました。

530 :デフォルトの名無しさん:2009/03/23(月) 20:23:52
>>523
パレットは必須ではなかったと思う。
パレット無しのモノクロBMPをAPIで読み込ませると、TextColorとBkColorに
勝手にマップしてくれた希ガス。

531 :デフォルトの名無しさん:2009/03/24(火) 07:06:52
はなじでた

532 :デフォルトの名無しさん:2009/03/24(火) 07:44:04
何の話じをしでたの

533 :デフォルトの名無しさん:2009/03/24(火) 11:12:17
DBIがAPIで読めるようになったのは後から追加された機能だから
使ってないツールも多いけどな。

534 :デフォルトの名無しさん:2009/03/24(火) 11:13:42
DBIって何だ、、orz DIBね

535 :デフォルトの名無しさん:2009/03/26(木) 00:27:31
「プレーン画像」の定義を教えて下さい。
ぐぐってもよい説明が見つかりません。


536 :デフォルトの名無しさん:2009/03/26(木) 10:27:35
>>535
元が○○プレーン画像とかになってないか?
プレーン画像だけなら単に平面画像。
画像処理なら、特殊な座標系を作って、そこで取りだされた平面、ぐらいのことしか言えない。

537 :デフォルトの名無しさん:2009/03/26(木) 11:01:35
プレーン方式とパックドピクセル方式、という用語ならあるが...

538 :デフォルトの名無しさん:2009/03/26(木) 12:09:35
懐かしいなおい

539 :デフォルトの名無しさん:2009/03/26(木) 20:02:06
>>536
普通、たんにプレーン○○と言ったらplaneじゃなくてplainのことだと思うが。

540 :デフォルトの名無しさん:2009/03/27(金) 10:23:05
plane imageだったら飛行機の画像。
plain imageだったらアニメや動画じゃない単なる画像。

画像処理ででてきそうなのはfocal plane image(焦平面画像)みたいな○○平面画像。

541 :デフォルトの名無しさん:2009/03/28(土) 17:54:37
GIMPの雲模様を違う風に作りたいんだけど
どういうプログラムにすればいい?
グラデーションとかならわかるんだけど
ランダム関数とかは絶対必要だよね?その程度しか思いつかないんだけど
なにか次に進めそうなアドバイスお願い

542 :デフォルトの名無しさん:2009/03/28(土) 18:09:51
>>541
GIMPは知らんので、一般的な雲の話になるが普通はフラクタルノイズを使う。
フラクタルノイズ(ピンクノイズ)、中点変位法、Perlinノイズあたりを調べれば良いかと。

543 :デフォルトの名無しさん:2009/03/28(土) 18:34:15
ありがとう!

544 :デフォルトの名無しさん:2009/03/31(火) 01:29:50
高速に誤差拡散するアルゴリズム教えて下さい

545 :デフォルトの名無しさん:2009/03/31(火) 01:31:39
あなたは何を調べて何を試したんですか?

546 :デフォルトの名無しさん:2009/03/31(火) 10:31:23
何も調べてないからここで聞いているんじゃないですか。そんなことも判らないんですか?

547 :デフォルトの名無しさん:2009/03/31(火) 11:14:49
つ ぐぐる

548 :デフォルトの名無しさん:2009/03/31(火) 11:16:30
失せろゴミ

549 :デフォルトの名無しさん:2009/03/31(火) 11:21:16
そーだよな。
ある程度自分で調べられない教えて君は、向上する見込みが無いからね。

つうわけで、次の質問どうぞ。↓

550 :デフォルトの名無しさん:2009/03/31(火) 12:38:21
高速に誤差拡散するアルゴリズム教えて下さい

551 :デフォルトの名無しさん:2009/03/31(火) 12:44:06
スルー。www 次の質問どうぞ。↓

552 :デフォルトの名無しさん:2009/03/31(火) 12:46:45
誤差拡散って何か教えて下さい

553 :デフォルトの名無しさん:2009/03/31(火) 12:48:45
http://ja.wikipedia.org/wiki/%E3%83%87%E3%82%A3%E3%82%B6

554 :デフォルトの名無しさん:2009/03/31(火) 14:09:08
ティーザー処理というのはどうだろう。

555 :デフォルトの名無しさん:2009/04/01(水) 19:23:13
YUV形式の画像上に直接文字をスタンプする方法ってあるんでしょうか?

556 :デフォルトの名無しさん:2009/04/01(水) 19:41:13
420?422?444? あと、どういうデータ形式??www

557 :デフォルトの名無しさん:2009/04/01(水) 20:08:52
色々すいません。

JPEG(YUV422)をRGB化することなく、
画像にタイムスタンプする方法があるのかな?と思いまして。。。

558 :デフォルトの名無しさん:2009/04/01(水) 20:46:11
RGBだとスタンプで来て、YUVだとできないのは何故?

559 :デフォルトの名無しさん:2009/04/01(水) 20:56:18
画素・色の考え方と、データフォーマットの問題だろ。
めんどくさければ、Y成分にフォント変換した文字を埋め込めば読めないでもない。

商業用途で綺麗に埋め込みたければべつだがね。
仕事なら、きちんと理解できてそうな人に聞くべし。
説明を省きたいような同僚とかばかりなら、社風悪いので転職考えたほうがいいぞ。
(余計なお世話と思うが、そういう会社に思い当たりがあるのでな。)

560 :デフォルトの名無しさん:2009/04/01(水) 23:01:18
>>555
文字をラスタライズしてYUVに変換して合成するだけなんじゃ・・・
と思った俺はなにか勘違いしているのだろうか。

561 :デフォルトの名無しさん:2009/04/02(木) 01:48:12
仮に無謀と思われる道を選んだとしても
それが人生

562 :デフォルトの名無しさん:2009/04/02(木) 11:13:40
>>558-561
ありがとうございました。
転職の件も含め検討してみます。

563 :デフォルトの名無しさん:2009/04/05(日) 00:27:15
この時期転職はきついわな がんばれ

564 :デフォルトの名無しさん:2009/04/05(日) 13:51:33
キーエンスですねわかります

565 :デフォルトの名無しさん:2009/04/06(月) 07:46:42
ねーよw

566 :デフォルトの名無しさん:2009/04/06(月) 13:48:08
キーエンスは新卒至上主義

567 :デフォルトの名無しさん:2009/04/06(月) 23:52:27
16bppの定義を教えて
RGBを5bitずつ15(5×3)bitで表現した形式?
それとも、Bだけちょんぎっちゃうの?
5bitで表現したら、色がかなーり 劣化しちゃわない?


568 :デフォルトの名無しさん:2009/04/07(火) 08:12:01
R:G:B=5:5:5もあるし
R:G:B=5:6:5もあるよ

569 :デフォルトの名無しさん:2009/04/07(火) 09:21:15
>>567
PC-9801なんか12bppから16色しか使えなかったんだぉ (> <)

570 :デフォルトの名無しさん:2009/04/07(火) 21:03:38
MSX2のSCREEN8は8bpp(RGB 3-3-2)だったぜ

571 :デフォルトの名無しさん:2009/04/07(火) 22:51:07
たまに2bppとかあるけど、あれって、
1:2値化した白黒
1:何かのフラグ(たとえば透過しているとか)
って考えてOK?

572 :デフォルトの名無しさん:2009/04/07(火) 22:58:21
どこにある2bppだよ

573 :デフォルトの名無しさん:2009/04/07(火) 23:24:02
組み込み系では結構あるんじゃない?
3bppとかあるとおもうよ。

574 :デフォルトの名無しさん:2009/04/07(火) 23:43:09
>>573
それ単なるデジタル8色じゃね

575 :デフォルトの名無しさん:2009/04/07(火) 23:52:14
2bppは、単に奇数番目の画素と偶数番目の画素だったりすることもある。
一応、黒、緑、マゼンタ、白の積もりでNTSC出力しているんだけど、緑とマゼンタで位置が違うのよね。

576 :デフォルトの名無しさん:2009/04/08(水) 14:42:14
類似画像をみつける方法かんがえた2

エッジを検出して、線の太さ(重要)順に、その長さと、位置を記録しておく。
たとえば、3つの位置関係と長さがほぼ一致していれば同一と見なす。

これならば部分的な画像や、回転画像でも対応できる。

577 :デフォルトの名無しさん:2009/04/08(水) 15:07:48
前世紀の学部の教科書に、もっとましな方法が載っていますがな

578 :デフォルトの名無しさん:2009/04/08(水) 15:23:06
具体的に

579 :デフォルトの名無しさん:2009/04/08(水) 17:08:14
低級なものでは、rgbでヒストグラムを作って比較

580 :デフォルトの名無しさん:2009/04/08(水) 17:25:07
>>578
一般化ハフ変換や幾何学的ハッシュ法だろ。20〜30年前の技術だけど。

581 :デフォルトの名無しさん:2009/04/08(水) 22:02:41
最近考えてる pとn について 考えてる
pが灰色 pppp で 灰色灰色灰色灰色 つまり 灰色+++
モノクロ 画面構造だと
pp pppp ppp pp ppn pnp ppppn
ppp pnp ppnp pnp pppn pp pp
ppp npn pnpp pp pnp pppn ppn
n は 最近考えてる 空想してる 
pは 2 つまり vマックス nは vロー
とか 住基ネットの リンク処理  ppp nppp pnp ppn
加速装置 pppppppnpppppp
光まで加速すrには pを4千回
ppが1000円で pppnが4000円 ppppppが 5600円


582 :デフォルトの名無しさん:2009/04/08(水) 23:57:11
VB2005で画像処理のプログラム作ってるんだけど、8bitのビットマップを開いて、
256色カラーか、256階調のグレースケールかを判断するにはパレットの中身を
0〜255のでナメてみるしかないですか?
誰か他にスマートなアイデアや方法があったら、ご教示いただけるとうれしいです。

583 :デフォルトの名無しさん:2009/04/09(木) 00:02:53
たかが256回まわすくらいガタガタ言うな
ほかにやることあんだろ

584 :デフォルトの名無しさん:2009/04/09(木) 00:11:47
パレットに色がついてても、使われてない可能性があるから画像全部なめないと正確には無理か

585 :デフォルトの名無しさん:2009/04/09(木) 01:18:43
TIFFLIB使ってBMP24BPP読んでTIFにするサンプルきぼんぬ
うまくいかない


586 :デフォルトの名無しさん:2009/04/09(木) 02:41:31
TIFFLIB使ってBMP24BPPを読むの?

587 :デフォルトの名無しさん:2009/04/09(木) 08:39:01
>>584
使ってなくてもパレットに色がある時点でグレースケールではないんじゃ?

588 :デフォルトの名無しさん:2009/04/09(木) 09:32:48
>>587
パレットを使っている時点でグレースケール(フォーマット)ではないと判断する場合もある。
>582の場合はそれに該当しないのだから、実際の画素に当たる方が妥当だと思う。

589 :デフォルトの名無しさん:2009/04/09(木) 10:18:09
そもそもRGBの値だけじゃグレースケールとは判断できなかったような。
YCbCrを求めないとだめなんじゃない??

590 :デフォルトの名無しさん:2009/04/09(木) 12:38:25
>>589
それって要は、rgbがそれぞれ一致していればいいってことだからね。

591 :デフォルトの名無しさん:2009/04/09(木) 14:10:02
そんなに単純だといいですねw

592 :デフォルトの名無しさん:2009/04/09(木) 14:52:59
単純だよ

593 :デフォルトの名無しさん:2009/04/09(木) 15:05:19
R=G=B=n(0〜255)ではないパレットカラーを持ってたら非グレースケールでいいんじゃない?

ところで、nが重複した256未満の階調を持つものもグレースケールでいいのだろうか?

594 :デフォルトの名無しさん:2009/04/09(木) 15:12:40
>>593
いけない理由が思いつかないのでいいと思いますが。
>588の上の基準だとダメだけど。

いずれにしても、グレースケールの定義がはっきりしないから……

595 :デフォルトの名無しさん:2009/04/09(木) 20:20:36
>>588 >パレットを使っている時点でグレースケール(フォーマット)ではないと判断する場合もある。
どういうこと? kwsk

596 :デフォルトの名無しさん:2009/04/09(木) 23:25:29
そのまんまの意味だろ。画像フォーマットにはパレットを持たないものもあるわけだから。

597 :デフォルトの名無しさん:2009/04/09(木) 23:35:32
馬鹿かお前

598 :デフォルトの名無しさん:2009/04/10(金) 06:05:47
堕ちたねーここも

599 :デフォルトの名無しさん:2009/04/10(金) 10:25:09
画像処理を応用したwebアプリで有名なもの一覧みたいなのどこかにないでしょうか

like.com

ぐらいしか知らない


600 :デフォルトの名無しさん:2009/04/10(金) 13:33:17
>>599
ちゃんとしたURLはってもらっていい?

601 :デフォルトの名無しさん:2009/04/11(土) 18:43:27
ほしゅ

602 :デフォルトの名無しさん:2009/04/11(土) 23:50:24
画処理はたくさんやることあるな


603 :デフォルトの名無しさん:2009/04/12(日) 21:39:55
イメージプロセッシングとコンピュータビジョンとロボットビジョンの違いが分からない

604 :デフォルトの名無しさん:2009/04/12(日) 21:46:45
ググレカス

605 :デフォルトの名無しさん:2009/04/13(月) 18:05:28
Rは画像処理に使えますか?
matlabは高くて買えません

606 :デフォルトの名無しさん:2009/04/13(月) 19:41:28
画像を3次元処理するのもこのスレでいい?

607 :デフォルトの名無しさん:2009/04/14(火) 06:40:09
それも画像処理だし良いんじゃないの?

608 :taguti:2009/04/14(火) 16:14:45
6個のreal型変数x1、y1、x2、y2、x3、y3を定義しそれぞれに実数つを読み込んで、xy平面上の3点
(x1、y1)(x2、y2)(x3、y3)を頂点に持つ三角形の面積を計算して、その値を表示するプログラムを作成してください。
・公式:底辺x高さ÷2を使って計算してください。
お願いします!!

609 :デフォルトの名無しさん:2009/04/14(火) 16:15:27
マルチですか?

610 :デフォルトの名無しさん:2009/04/14(火) 17:12:43
はわわ〜 ひろゆきさんイジワルですぅ〜

611 :デフォルトの名無しさん:2009/04/14(火) 17:23:39
底辺x高さ÷2?
わざわざ汎用性のない難しい方法で解くのはなぜ?

612 :デフォルトの名無しさん:2009/04/14(火) 20:09:58
スレ違い

613 :デフォルトの名無しさん:2009/04/15(水) 00:33:35
場違いな質問かもしれませんが、
質問させて頂きます。

画像処理(テレビなど)における、
フォーマット変換とは具体的にどのような処理なのでしょうか?
わかる方がいらっしゃれば、
子供でもわかるような説明をいただけると有難いです。

614 :デフォルトの名無しさん:2009/04/15(水) 00:38:33
>>613
子供にゃ無理だ。
いや、ほんとに。

615 :デフォルトの名無しさん:2009/04/15(水) 06:01:20
知能は子供だけど
年齢は大人なので教えてください。

616 :デフォルトの名無しさん:2009/04/15(水) 10:59:53
>>615
よく麻酔針打たれている方ですか?^^

617 :迷えるアーティスト志望:2009/04/16(木) 13:28:40
みなさんに質問です。
(質問1)
フォルダに入った1000枚の画像の色を例えば、赤→青、黄→紫など思うがままに
1枚、1枚毎に変換させ、それらの変換処理した各画像ファイルを別のフォルダに記憶させる
ことができるソフトウエアはあるでしょうか?
なお、私はプログラムの知識はありません。
(質問2)
輪郭抽出、モザイクなど、ウインドウのペイントに付いている「変形」処理を
上記1000枚の各画像フェイルに行わせるソフトウエアはあるでしょうか?
1000枚の画像から1枚、1枚選択して、処理する手間を省きたいのです。
できれば、フリーソフトウエアでそのようなものがあればありがたいのですが。
よろしくお願いします。

618 :デフォルトの名無しさん:2009/04/16(木) 13:48:15
>>1にこう書いてあります。
>画像処理プログラミングについて質問、議論を行うスレッドです

ソフトウェア板等に移動されることをおすすめします。

619 :迷えるアーティスト志望:2009/04/16(木) 13:57:20
>618
コメントありがとうございます。他の板で聞いてみます。

620 :デフォルトの名無しさん:2009/04/16(木) 14:30:55
色域指定で選択領域のパスを得る方法が分かりません。教えてください。

621 :デフォルトの名無しさん:2009/04/16(木) 16:41:46
やっぱGrabcutだべ

622 :デフォルトの名無しさん:2009/04/17(金) 08:01:24
>476
ヒント 重心

623 :デフォルトの名無しさん:2009/04/18(土) 01:37:41
LIBJPEGを利用して
BMPをJPEGに変換はできたんですが
逆に JPEGをBMPにするにはどうしたらいいですか?


624 :デフォルトの名無しさん:2009/04/18(土) 13:59:48
>>623
http://www.geocities.jp/katayama_hirofumi_mz/win32/savejpeg.htm

625 :624:2009/04/18(土) 14:04:35
間違えた。
http://www.geocities.jp/katayama_hirofumi_mz/win32/loadjpeg.htm
http://www.geocities.jp/katayama_hirofumi_mz/win32/bitmap1.htm

626 :デフォルトの名無しさん:2009/04/18(土) 14:48:15
RGBの色は保持して、白に近づけたり、黒に近づけたりするには各色成分R、G、Bをどういう計算で変化させればいいんですか?
パレットで値を見ながら変化させて調べると各値が不規則に変化してるんみたいなんですが

627 :デフォルトの名無しさん:2009/04/18(土) 15:24:27
YIQとかHSVとか明るさが独立した軸になってる色空間にマップして操作して逆変換する。


628 :デフォルトの名無しさん:2009/04/18(土) 16:56:02
なるほど、明るさを分離後変更して戻したらできました。ありがとうございました

629 :デフォルトの名無しさん:2009/04/20(月) 09:36:10
単純に考えれば、RGBをそれぞれxyzとする空間で、特定のRGB値から白までをリニア補間すれば白に近づくRGB値の線が得られるね。
無彩色以外への変化の場合はRGB立体よりHSV立体の方がそれっぽくなることも多いけど。

630 :デフォルトの名無しさん:2009/04/20(月) 16:10:04
白黒でグラフカットを実装できたけど、
カラーに対応するにはどうしたらいいんだ?

631 :デフォルトの名無しさん:2009/04/20(月) 17:21:18
HSVに変換してVの値でやってみたりとか?

632 :デフォルトの名無しさん:2009/04/20(月) 21:58:23
CAPTCHA破りもこの分野ですか?

633 :デフォルトの名無しさん:2009/04/20(月) 21:59:38
CAPTCHA破りなんて中国人にでもやらせとけ

634 :デフォルトの名無しさん:2009/04/21(火) 00:35:58
RGB→YUV変換した画像に対して
YUV→RGB変換をかけても、もとの画像にもどらないんだけど
これはおかしいこと?式は
http://vision.kuee.kyoto-u.ac.jp/~hiroaki/firewire/yuv.html
のを使っています。オーバーフローアンダーフロー処理も行っています。

635 :デフォルトの名無しさん:2009/04/21(火) 00:38:47
式みたら境界条件くらいわかるだろ。
てか、式どれ?

636 :デフォルトの名無しさん:2009/04/21(火) 00:40:55
ソースとINとOUTの画像くらい出してもらわないと

637 :デフォルトの名無しさん:2009/04/21(火) 00:41:20
Y = 0.257R + 0.504G + 0.098B + 16
Cb = -0.148R - 0.291G + 0.439B + 128
Cr = 0.439R - 0.368G - 0.071B + 128

YCbCr to RGB


R = 1.164(Y-16) + 1.596(Cr-128)
G = 1.164(Y-16) - 0.391(Cb-128) - 0.813(Cr-128)
B = 1.164(Y-16) + 2.018(Cb-128)
です

638 :デフォルトの名無しさん:2009/04/21(火) 00:46:02
Rの式にYとCrの式を代入したら?

639 :デフォルトの名無しさん:2009/04/21(火) 22:43:51
PhotoShop CS2で、グレイスケール画像(8bppBMP)BMPを作ると
自動的にoffsets値が1000近く埋められるのですが
これにはどんな意図がありますか?。BMPだったら、普通に54byteヘッダー
だけでそのあとにピクセルデータが続けばいいと思うんですが、
わざわざ1000byteもオフセットして何がいいの?

640 :デフォルトの名無しさん:2009/04/21(火) 22:46:19
256エントリのグレイパレットが作られているんじゃなくて?

641 :デフォルトの名無しさん:2009/04/22(水) 00:17:11
256エントリでぐぐったのですが意味がわからなかったです。すみません。
グレイパレットか何かがそこに作られているんでしょうか。でもそこを削除しても、
8bppBMPとしては普通にPhotoShopCS2やWin付属のViewerで閲覧できますし、
どんな意図があるんだろう。

642 :デフォルトの名無しさん:2009/04/22(水) 01:02:14
>>641
256色のグレーのパレットができているってこった。
つまり、8ビットパレットカラーでパレットの中身が全部グレーと言う状態なんだろう。
で、パレットを削除したら色が未定義になるはずだけど、そこはグレーと見做す仕様なんじゃないかな。
IrfanViewで見る限り、ちゃんとグレー256諧調のパレットになっているからね。

643 :デフォルトの名無しさん:2009/04/23(木) 10:22:09
http://www1.axfc.net/uploader/File/so/21979.zip
tools.bmpを180度回転させると、1ピクセルずれます。
ずれないようにするにはどうすればいいでしょうか?

644 :643:2009/04/23(木) 17:00:17
http://www1.axfc.net/uploader/File/so/21990.zip
bitmap.cのCreateRotated32BppBitmapという関数で回転処理を行って
いますが、tools.bmpを180度回転させると、1ピクセルずれます。
ずれないようにするにはどうすればいいでしょうか?

645 :デフォルトの名無しさん:2009/04/23(木) 17:05:44
1ピクセルずらす

646 :デフォルトの名無しさん:2009/04/23(木) 17:13:04
>>645
それは汎用性がない。他の角度の場合におかしくなる。

647 :デフォルトの名無しさん:2009/04/23(木) 17:22:42
この関数のどの時点から想定外の動作をしているの?

648 :デフォルトの名無しさん:2009/04/23(木) 17:27:06
>>647
少なくとも
90度は右に1ピクセルずれます。
180度は右上にピクセルがずれます。
270度は上に1ピクセルずれます。

649 :デフォルトの名無しさん:2009/04/23(木) 17:29:29
>>648
それは関数の出力でしょ?
関数の中でどこがおかしい動作をしているのかを聞いている。

650 :デフォルトの名無しさん:2009/04/23(木) 17:30:25
INTで計算するのやめたら?

651 :デフォルトの名無しさん:2009/04/23(木) 17:32:05
丸め誤差の問題でしょ

652 :デフォルトの名無しさん:2009/04/23(木) 17:40:30
ソースは見てないが、0.5ドットずらして、ピクセルの中心点を拾え。

653 :デフォルトの名無しさん:2009/04/23(木) 19:20:43
レベル低くて申し訳ないんですが
既に描かれている黒い円を縮小して表示していて
小さくなればなるほどアンチエイリアスが取れてガタガタになってしまいます

やり方としては、表示先の座標でループさせて
縮小率の逆変換?で元の画像から拾ってきて表示という風にしています。

あまりに酷かったので、表示先の画面を仮想的に32倍にして拾って
1/32で戻して平均値を出して表示とやっても変わらず

普通物凄く縮小すると、色が薄くなったりすると思うのですが
サイズだけ小さくて濃いままになります

今はまだ考え付かないんですが
やっぱりもっと複雑な方法じゃないと駄目なんでしょうか


654 :デフォルトの名無しさん:2009/04/23(木) 21:11:45
>>648
で、原因はどこだったの?

655 :デフォルトの名無しさん:2009/04/23(木) 21:14:26
縮小は面積平均法がいいよ

656 :デフォルトの名無しさん:2009/04/23(木) 21:33:23
>>653
面積平均やバイリニア程度ではギザギザしてくると思うので
バイキュービックやLanczos2/3あたりを使う。

657 :デフォルトの名無しさん:2009/04/23(木) 21:44:04
バイキュービックって汚いじゃん

658 :デフォルトの名無しさん:2009/04/23(木) 22:05:18
まずは面積平均というのから試してみようと思いますありがとう
それで駄目ならバイキュービックとかも試してみようと思います

でもさっき検索していて気になったのが
1ドットの円を画面で表すと、面積だと80%くらいなのに
実際は濃度が50%の点になるというのを見たんですが
自分のプログラムはもろにこの面積どおりになってしまっている気がします
それも計算によって変わるんでしょうか

659 :デフォルトの名無しさん:2009/04/23(木) 22:26:47
>>657
そう?
自分で組んだバイキュービックで確認したが、5ピクセルの線幅の正円(アンチエイリアス済み)
を0.25倍程度に縮小したがギザギザはほとんど見えない。Lanczos2/3でも同様。
倍率1倍表示で確認。

660 :デフォルトの名無しさん:2009/04/23(木) 22:27:25
Lanczosて結構好きだな

661 :デフォルトの名無しさん:2009/04/23(木) 22:29:57
面積平均法は1pixelの線を5%表示くらいにしても綺麗だよ

662 :デフォルトの名無しさん:2009/04/23(木) 22:49:20
>>661
1ピクセル線幅の0.05倍だと何だか薄くて差が分からない。
バイリニアがクソだということだけは分かる。

663 :デフォルトの名無しさん:2009/04/24(金) 00:38:07
CZPで見るとLanczos3かそれ以上のtap数のSincじゃないと使えないな。
面積平均は速度考えたら有りかな位。

664 :デフォルトの名無しさん:2009/04/24(金) 01:41:08
CZPだけで見るのが間違いなんだろ
周波数だけしか見てない

665 :デフォルトの名無しさん:2009/04/24(金) 02:30:34
lanczos3だと線がシャープになりすぎるよ

666 :643,644,648:2009/04/24(金) 10:05:49
自己解決しました。で、できたのがこれです。
ありがとうございました。
http://www.geocities.jp/katayama_hirofumi_mz/turnpix/

667 :デフォルトの名無しさん:2009/04/24(金) 11:28:02
自己解決ねぇ……
なるほど、ム板で聞いてヒントを貰ってはツールを公開している御仁か。

668 :デフォルトの名無しさん:2009/04/24(金) 17:35:19
おまえらのヒントなんてググればいくらでも出てくることだろ

669 :デフォルトの名無しさん:2009/04/24(金) 18:22:13
確かに

670 :デフォルトの名無しさん:2009/04/24(金) 18:35:11
だったらググれよ

671 :デフォルトの名無しさん:2009/04/24(金) 20:58:17
グラフカットを利用して、サブピクセル精度の視差は計算できるでしょうか??
画像はステレオカメラで撮影した左右2枚を用います。

こういった掲示板に書き込むのは初めてなんで、分かりにくいと思いますが、
よろしくお願いします。

672 :デフォルトの名無しさん:2009/04/25(土) 01:21:20
>>666
wwwwwwwwwwwwwwwwwwww

673 :デフォルトの名無しさん:2009/04/25(土) 01:59:41
>>666
だから、不具合の原因はなんだったの?
質問しておいて、結果を報告しないなんて最低だな。

674 :デフォルトの名無しさん:2009/04/25(土) 03:03:30
>>650に一票

675 :デフォルトの名無しさん:2009/04/25(土) 23:03:07
8bpp無圧縮Tiffファイルを、8bppBMPに変換するプログラムがうまく
いかないです

//TIFFから値を取得する。
TIFFGetField(img,TIFFTAG_IMAGEWIDTH,&width);
TIFFGetField(img,TIFFTAG_IMAGELENGTH,&height);
TIFFGetField(img,TIFFTAG_BITSPERSAMPLE,&bitspersample);
TIFFGetField(img,TIFFTAG_SAMPLESPERPIXEL,&sampleperpixel);

TIFFGetField(img,TIFFTAG_ROWSPERSTRIP,&RowsPerStrip);
TIFFGetField(img,TIFFTAG_PHOTOMETRIC,&PhotoMetric);
for(i=0;i<height;i++)

{
TIFFReadScanline(&img[i*width],&pBuf[i*width*sampleperpixel],i,0);
//TIFFReadScanline(img,(tdata_t)pBuf,i,0);
}

どうやったらTiffからピクセルデータを取得できますか?


676 :デフォルトの名無しさん:2009/04/26(日) 00:33:27
>>675
tiffの構造なんてもうすっかり忘れたけど、
ストリップが1ラインずつ分かれているなんて前提はなかったと思うぞ。
1ラインかもしれんし、10ラインかもしれんし、全体で1ストリップしかないかもしれん。

で、今度は何? 回転専用の対応フォーマットを増やしたいってこと?w

677 :デフォルトの名無しさん:2009/04/26(日) 08:58:48
回転専用……目の付け所が流石だわ。

678 :デフォルトの名無しさん:2009/04/26(日) 10:09:15
>>676
s/回転専用/「回転専用。」/

679 :デフォルトの名無しさん:2009/04/26(日) 11:22:37
>>671
やったことはないが、石川先生の論文にはラベル=視差は整数にかぎらない(実数でも良い)とある。

680 :デフォルトの名無しさん:2009/04/26(日) 12:14:17
>>675
imgってtiffファイルのハンドルだろ
&img[i*width]ってなんだよ

1 TIFFScanlineSize(img);で1行のバイト数を取得してから1行分のバッファを確保
2 受け側は各行4バイトバウンダリで高さ分のバッファを確保
3 TIFFReadScanlineで1行ずつ読み込んで
4 受け側のバッファの各行の銭湯アドレスにコピー

あとはBMPのヘッダを構築すれば、ある程度の8bppのTIFFを8bppのBMPとして読めるようになる。

これでは読めないTIFFはたくさんある。たとえば、

A マルチページTIFF
B タイルTIFF
C 縦横の解像度が違う
D PhotoMetricがMin is white(0が白)
E パレット形式

いずれも、対応はそれほど難しくはないので、必要に応じて機能を追加すればよい。

681 :デフォルトの名無しさん:2009/04/26(日) 12:55:56
>>676
ストリップ・・・
ストライプだろ

682 :デフォルトの名無しさん:2009/04/26(日) 13:48:00
>>681
ttp://www.libtiff.org/man/TIFFReadRawStrip.3t.html

チミはstripをストライプと読んでいるのかね?

683 :デフォルトの名無しさん:2009/04/26(日) 14:06:21
一方ロシアはimagemagickを使った

684 :デフォルトの名無しさん:2009/04/26(日) 14:11:07
>>681


685 :デフォルトの名無しさん:2009/04/26(日) 14:42:57
imagemagickはどうしても「イメージマジックク」と読んでしまう

686 :デフォルトの名無しさん:2009/04/26(日) 15:07:03
>>683
そんなこと言ったら、回転処理自体ImageMagickでできるようなw

687 :デフォルトの名無しさん:2009/04/26(日) 16:03:12
>>682
いいやstripeをストライプと読んでる

688 :デフォルトの名無しさん:2009/04/26(日) 16:24:29
じゃあ今回のとは何の関係もないじゃない

689 :デフォルトの名無しさん:2009/04/26(日) 21:58:57
>>680

OneLineSize=TIFFScanlineSize(img);

Recv=(unsigned char*)malloc((OneLineSize+byte4Hosei)*height));

for(i=0;i<height;i++)
{
TIFFReadScanline(img,(tdata_t)Recv[i],i,0);

}


これでRecvにはtiffデータがはいってるの????

690 :デフォルトの名無しさん:2009/04/27(月) 00:00:42
これは

691 :デフォルトの名無しさん:2009/04/27(月) 00:09:10
「(tdata_t)Recv[i]ってなんだよ」
>>680
は、ゆとりに教えることの困難を思い知った。

692 :デフォルトの名無しさん:2009/04/28(火) 23:37:49
>>626
何をしたいかにもよるけど、RGB を一定の割合で変化させる、のではダメなの?

BYTE r, g, b; // 古いrgb 情報
BYTE nr,ng,nb;
float t = 0.3f; // 0<t<1

nr = BYTE(t * r); , etc.

これはあくまでも RGB 色空間での線型補間だから、他の色空間で見たら経路が違う。

693 :デフォルトの名無しさん:2009/05/01(金) 18:37:59
フーリエ変換→フィルタリング→逆フーリエ変換
というプログラムを作成してます

フーリエ変換→逆フーリエ変換をすると元に画像が戻るのですが、フィルタリングの処理をすると、
逆フーリエ変換の画像が真っ暗(各数値を調べると、1#QNANOと表示される)になってしまいます

フィルタリングの処理を行うとき、フーリエ変換で出力した実数と虚数を、それぞれ演算処理すればいいのですよね?
(スペクトルを出すときのように振幅に直して、そこで演算処理しなくてもいいですよね)


具体的にしたいことは、画像上でガウシアンフィルタをかけるのではなく、周波数空間でガウス関数を掛けて、それを画像に戻したいのですが

よろしくお願いいたします。

694 :デフォルトの名無しさん:2009/05/01(金) 19:06:30
>>693
そういう処理を普通に書いているけど、特に問題は出てないよ。
途中のフィルターの計算か何かで負値のlogを取るとか何かやらかしてない?

695 :デフォルトの名無しさん:2009/05/01(金) 19:24:21
かなり見直したんですけど、1#QNANOとか出るってことはそういう計算ミスしてるんでしょうね…
振幅のスペクトル画像に直して処理しなくても、
フーリエ変換で得られた実数、虚数を個別に、掛けたり割ったりすればいいことが分かっただけでも助かりました
ありがとうございました

もうちょっと頑張ってみます

696 :デフォルトの名無しさん:2009/05/01(金) 21:25:38
>>695
浮動小数点例外のマスクを外せば分かるかもよ。

697 :デフォルトの名無しさん:2009/05/02(土) 00:11:23
>>693
フィルタは、周波数に依存する関数だったりする?

698 :デフォルトの名無しさん:2009/05/02(土) 07:54:17
ちょっとスレから離れてしまうかもしれませんが
どなたかアドバイスを

線や画像なんかの補正に曲線補間をしようと思っていて
計算のテストとして10個の点をマウスで入力し
そこから二次関数を求めて、点を計算表示しているんですが
なかなか上手くいきません

10個の点を最小二乗法で計算して表示しているつもりなんですが
どうしても点が (1,1) (2,4) (3,6)…とはならず
(1,1) (2,16) (3,6) (4,24)…みたいに一個おきに大きくぶれた感じになってしまいます

色々ぐぐったりしたんですがよくわからなくて
どこかやさしく解説してるようなところとかないですか

699 :デフォルトの名無しさん:2009/05/02(土) 08:32:54
あります

700 :デフォルトの名無しさん:2009/05/02(土) 09:05:47
>>698ですが一次関数にしても同様だったので
おかしいなと主要な変数観察していたら

1ループごとにy座標反転してることが判明しました
ほんとごめんなさいごめんなさいごめんなさい


701 :デフォルトの名無しさん:2009/05/12(火) 10:50:39
切り刻まれた紙をブルースクリーンのスキャナ画像で取り込んで、
切り刻まれる前の状態を解くようなプログラムを作れますか?

ジグゾーパズルを解くようなプログラムです。

702 :701:2009/05/12(火) 11:05:05
紙には何かが印刷されているものとします。
切り刻まれ方はランダムとします。

703 :デフォルトの名無しさん:2009/05/12(火) 11:39:11
シュレッダーで裁断した紙の復元だったら実用システムもいくつかあるみたい。

ストリップカット
ttp://www.unshredder.com/
クロスカットでも
cross-shred reconstruction suite
ってのがあるらしい(urlは不明)

クロスカットの復元サービスなら30cm立方の復元で100万円くらいだって。
100万円がおいしいかどうかは分からない。

704 :デフォルトの名無しさん:2009/05/12(火) 14:39:18
>>703
一度画像としてとりこんでからの処理なら俺でもできそうだけど
画像とりこみデバイスで重ならないようにスキャンするの大変そうだ

705 :デフォルトの名無しさん:2009/05/12(火) 16:09:54
>>702
シュタージの残した膨大な裁断書類の復元を請け負ってるフラウンホファー研究所に相談すれば?

706 :デフォルトの名無しさん:2009/05/13(水) 00:46:48
でもフーリエって少し時間かかるよな
もっとパッと出来ないのかしら

707 :デフォルトの名無しさん:2009/05/13(水) 01:23:27
そんなときのためのFFT

708 :デフォルトの名無しさん:2009/05/13(水) 19:34:14
SIFTの点が近すぎず固まらないようにするにはどうしたらよいでっか?

709 :デフォルトの名無しさん:2009/05/13(水) 19:39:26
SHIFTってヒストグラムの?検出される追跡点がかぶらないようにってこと?

710 :デフォルトの名無しさん:2009/05/13(水) 21:38:34
Scale Invariant Feature TransformのSIFTです。
検出される点の数が多すぎるので抑制したいんですよ。

711 :デフォルトの名無しさん:2009/05/13(水) 23:54:01
レイヤー(PhotoShop的な)構造を実現するための機能が充実していて、
かつライセンスがきつくない(GIMPとか)ライブラリってございますでしょうか。

フルスクラッチで作ってたのですが、技術不足ゆえ、あまりにもっさりで脱力感が。
OpenCVとGraphicsMagickは見てみたのですが、そのものずばりってのは無さそうで。

712 :デフォルトの名無しさん:2009/05/13(水) 23:58:11
CxImageとか

713 :デフォルトの名無しさん:2009/05/14(木) 00:11:07
速さでいったらやっぱOpenCVかな。

714 :デフォルトの名無しさん:2009/05/14(木) 00:57:06
>>711DirectXでもつかってみたら?
カクレイヤーを3角形2枚使って表現すればいいんじゃね?
ピクセルの編集はテクスチャに対して行えば良いと思うし。
重ね合わせはZの値いじるだけで手軽に変更できるしさ。

あくまでGDIでやりたいなら、まずBitmapのメモリを、
直接編集できるようにようにすると良いよ。

あと、重ね合わせの際には一番上から描画して行って、
後ろになるレイヤーは描画しないようにすれば早くなるよ。

あとブロック単位で分割して重ね合わせ処理をおこなえれば、
処理時間は長くても進捗が見えるから多少ごまかせる。

715 :デフォルトの名無しさん:2009/05/14(木) 01:15:01
OpenCVは基本的にレイヤー単位で処理するようになってるよ。

716 :711:2009/05/14(木) 01:18:17
>>712-714
CxImage!これから見てみます。感謝。
OpenCVでもできるんですね。Mergeあたりを使うのかしら。それともレイヤー処理は自前でしょうか。

3D屋なので、DirectXも実は試したことありますが、当時はトランスフォーム済みライティング済みの
バッファにちゃんとZ値付けて合成しても、ビデオカードによっては酷い目にあった記憶が。今はましかもですね。

モノクロ二値DIBでやっていて、それなりに速いのが出来ていたのですが(なにせレイヤー処理がANDで済む)
途中でフルカラー対応にせざるを得なくなって気力がなくなったってのもあります。

皆さんレスありがとうございました。早速吟味してきます。

717 :デフォルトの名無しさん:2009/05/14(木) 01:19:21
>>715
書いている間にすいません。どうもリファレンスの読みが足りなかったようで。
もう一度ちゃんとOpenCVも見てきます。ありがとうございました。

718 :デフォルトの名無しさん:2009/05/14(木) 01:47:47
>>716
OpenCVだとレイヤ同士をメモリ上の論理演算でガッといっぺんに計算しちゃうから高速。
cvSpilit(in, R, G, B, α)でレイヤー分割、cvMerge( R, G, B, α, out)で結合。

719 :デフォルトの名無しさん:2009/05/14(木) 02:01:41
>>718
なるほどこいつですか。素敵過ぎです。本当にありがとうございます。

720 :デフォルトの名無しさん:2009/05/14(木) 05:20:11
>>710
エッジ上の点は取り除いてるの?
減らす基準が無いの? 無いならランダムに取ればいいんじゃね

721 :デフォルトの名無しさん:2009/05/15(金) 02:37:04
2枚の同サイズのBMP画像を重ね合わせようとして、
対応する画素のR,G,Bを足して2で割る、
というプログラムを書きました。

この他にも重ね合わせをするアルゴリズムはあるのでしょうか?
「画像 重ね合わせ」「画像 合成」
とかでググってもうまく見つけられません。。。

722 :721:2009/05/15(金) 02:53:14
追記
C++で24bit Bitmapを扱っています。

低レベルな質問で申し訳ないです m(_ _)m

723 :デフォルトの名無しさん:2009/05/15(金) 03:25:30
Photoshopの体験版でも入れてみな

724 :721:2009/05/15(金) 03:50:27
>>723
プログラムで作ることに意味があるのでツールじゃない方向で・・・

725 :デフォルトの名無しさん:2009/05/15(金) 05:34:39
>>721
「αチャンネル」でググってみたら?718のOpenCV関数にもαが使われてるな。

726 :デフォルトの名無しさん:2009/05/15(金) 09:29:24
>>724
そのプログラムでどう作ればいいか分からないから既存のツールでどんな重ね合わせがあるか見てみるんじゃないか。
例えば簡易計算プログラムを作りたいとき、どんな演算子を用意すればいいか電卓プログラムを見てみるようなもんだ。
自分が低レベルだと認識しているのなら、他人の話は素直に聞くもんだ。

727 :デフォルトの名無しさん:2009/05/15(金) 09:33:36
RGBの三つを足してるのに2で割ってるのかぁ。

728 :デフォルトの名無しさん:2009/05/15(金) 09:53:05
そこは一応、R, G, Bをそれぞれ足して二で割ると解釈していいんでない?
まさか、R+G+Bするほど馬鹿じゃなかろう。

729 :デフォルトの名無しさん:2009/05/15(金) 16:00:07
>>727
スゴい、よくそういう風に読めるね?レベルが近いから?

730 :デフォルトの名無しさん:2009/05/15(金) 16:22:40
http://www.amazon.com/Intelligent-Image-Processing-Prolog-Batchelor/dp/0387196471/
別のスレで最近紹介されていたのですが、この本読まれた方います?

731 :デフォルトの名無しさん:2009/05/15(金) 16:38:01
山形大図書で借りられるかもしれないぞ

732 :デフォルトの名無しさん:2009/05/15(金) 18:36:22
>>730
読んだし、持っている。Amazonには何の情報も載ってないみたいだね。
たしか、図形A,Bを A 前置詞 B のような記述で組み合わせて、
平面構成を得るというような内容が中心だったと思う。画像処理と
いうよりAIの基礎本。私はDraw系ツールでの述語論理によるベクトル
管理というテーマを研究中だった時に読んだ。実にタイムリーな本で
有難かった。


733 :デフォルトの名無しさん:2009/05/15(金) 19:18:54
認知の分野だな
未だに述語論理で研究の余地があるのか
誰だったか述語論理の概念構築にすごい時間かけてる研究者居たな

ただ認知の分野から結構画像処理に持ってこれるアルゴリズムは多いよな


734 :デフォルトの名無しさん:2009/05/15(金) 22:49:32
画像処理とはちょっと違うかもしれないけど
フォトショの選択範囲の囲みとかでよくある動く点線って
どうやって描画してるんだろ

735 :デフォルトの名無しさん:2009/05/15(金) 22:50:55
動いているように見えるかもしれないが止まっているんだよ
目の錯覚です

736 :デフォルトの名無しさん:2009/05/15(金) 22:56:47
>>730
prologは得意だが画像処理に使おうとは考えなかった。なんだか面白そう。
18$の掘り出し物があったんで注文しといた。夏休みにでも読もう。

737 :デフォルトの名無しさん:2009/05/15(金) 23:13:28
>>735
ttp://www.ritsumei.ac.jp/~akitaoka/
みたいなもの?

738 :デフォルトの名無しさん:2009/05/15(金) 23:34:55
素人が本気にするからやめれ。

739 :デフォルトの名無しさん:2009/05/16(土) 02:38:46
点線調べたら蟻の行進とか言われてて
なんか画像処理して見せてるんだね
日本のサイトで説明してるとこなかなか見つからないな

740 :デフォルトの名無しさん:2009/05/16(土) 03:06:46
点線の交互の点滅じゃないの

741 :デフォルトの名無しさん:2009/05/16(土) 18:14:24
ラバーバンドは凝るとめんどくさい。


742 :デフォルトの名無しさん:2009/05/16(土) 20:29:17
投げ縄でうまいことエッジ抽出してフィットさせるとか中身どうやってんだろ・・・

743 :デフォルトの名無しさん:2009/05/16(土) 21:28:46
>>742
Grabcutの最初の方にいろいろな手法の概要が出ている
ttp://research.microsoft.com/apps/pubs/default.aspx?id=67890
からリンクしているpdf

Grabcutって計算量多そうなんだけど実際どう? >> やったことのある人

744 :デフォルトの名無しさん:2009/05/16(土) 22:51:14
>>743
ありがと、勉強してみる!

745 :デフォルトの名無しさん:2009/05/16(土) 23:30:13
どこにpdfあるのかわからない

746 :デフォルトの名無しさん:2009/05/16(土) 23:50:19
>>745
アイコン

747 :デフォルトの名無しさん:2009/05/16(土) 23:51:17
基本的にはそんなに処理量も多く無いだろうね
色情報ごとのフラグメント立ての問題だし
一回のループと場合によって一点の周りのスキャンをするループぐらいじゃないかな
ここもAI的な非線形技法使ったほうが早い処理できるだろうね

748 :デフォルトの名無しさん:2009/05/17(日) 00:03:43
>>746
まだわからない
なんのアイコンなんだろう

749 :デフォルトの名無しさん:2009/05/17(日) 00:04:59
文章のすぐ下に有るPDFアイコン
でもこれ開かんね

750 :デフォルトの名無しさん:2009/05/17(日) 00:05:48

やっと開いた
アクセス集中したのか

751 :デフォルトの名無しさん:2009/05/17(日) 00:12:59
ソース直に見たらあった…
なんか一行しか表示されないからわざわざ検索しても
アイコンだけは表示しない
なんだこれ

752 :デフォルトの名無しさん:2009/05/17(日) 00:15:12
ああ忘れてた
教えてくれた人ありがとう

753 :デフォルトの名無しさん:2009/05/17(日) 10:28:12
確かにこのgrab cut優れてはいるけど
やっぱリャマだか何だかの頭の部分とか少し残ったりするんだね
一寸このアルゴリズム式からソースにおろして問題点見てみよう

754 :デフォルトの名無しさん:2009/05/17(日) 13:48:02
>>739
Windowsの場合、FrameRgnとCreatePatternBrushとタイマーを使う

755 :デフォルトの名無しさん:2009/05/19(火) 10:01:05
>>739
http://www.geocities.co.jp/katayama_hirofumi_mz/win32/antwalk.htm

756 :デフォルトの名無しさん:2009/05/19(火) 12:52:17
>>754-755
なろほどー
そういう方法だったんだ
ありがとう

757 :デフォルトの名無しさん:2009/05/20(水) 04:28:55
ガンマ補正について質問させてください。
PCのディスプレイのガンマ値はおよそ2.2であると聞きました。
今、0から255に滑らかにグラデーションしているビットマップ画像が
あるとして、これがPCのディスプレイに滑らかに表示されている場合、
このビットマップ画像のガンマ値は1/2.2であると考えていいのでしょうか?
それとも滑らかに(線形に)変化しているので1なのでしょうか?
よろしくお願いいたします。

758 :デフォルトの名無しさん:2009/05/20(水) 07:03:33
画素値xが0〜255のときのディスプレイの輝度yの変化がy=x^γになるときにγ値が2.2。
ということはその画像のγ値も2.2でいいんじゃないか?

759 :デフォルトの名無しさん:2009/05/20(水) 07:09:38
そもそも画像のγ値ってないんじゃないの?上の変換式で初めてγが出てくるわけで、
変換式ってのは途中に挟むものでしょ?画像は一番最初の線形の単なるデータな
わけだから。

760 :デフォルトの名無しさん:2009/05/20(水) 09:13:26
>>757
その画像は、「ガンマ補正2.2を掛けると滑らかに表示される画像」だと言うことだね。

761 :デフォルトの名無しさん:2009/05/20(水) 17:07:23
>>757
滑らかにグラデーションしているビットマップ画像は、
表示装置のガンマ値がどうであれ(もちろん極端な数値は除く)
たいていの場合は滑らかに表示されます。

面積比で半数のピクセルを輝度最大(1.0)としたときの全体の明るさと、
全てのピクセルを輝度半分(0.5)にしたときの全体の明るさが等しいとき
その表示装置のガンマ値は 1.0 です。

ビットマップ画像た単なるデータであり、上記のような特性値としての
ガンマ値はありませんが、どういうガンマ値の表示装置で表示した場合に
(製作者が決めた)最適の結果が得られるを示す補助情報としてガンマ値が
付与されることがあります。

762 :デフォルトの名無しさん:2009/05/20(水) 17:15:05
>>757
続き:

元画像が「ガンマ補正されて表示されたとき、輝度ゼロから輝度最大まで
線形にグラデーションしているはずである」、つまりちょうど中央のピクセルの
γ補正後の輝度は0.5であるとわかっているなら、

中央部のピクセルの輝度を示す数値を調べて、これを l とすれば
γ = log l / log 0.5 となるわけですが、
このようなケース(画像の特性がわかっているケース)は一般の画像については
殆ど無いと思います。

763 :デフォルトの名無しさん:2009/05/22(金) 16:18:58
画像のフィルタリングについて質問させてください。

画像の端を処理する際のオペレータがはみ出した部分
(ボーダ・ピクセル)の扱いはフィルタの種類によって
異なったりするのでしょうか?
(ex.○○フィルタの場合は折り返して考えるなど)

フィルタごとにお約束みたいなものがあれば教えてください。



764 :デフォルトの名無しさん:2009/05/22(金) 16:47:20
>>763
フィルタの種類には関係ない。
最終目的次第。

765 :デフォルトの名無しさん:2009/05/22(金) 17:37:45
>>764
なるほど。
実装次第ということですね。
OpenCVとかのライブラリはどうなっているか
調べてみます。

ちなみに○○といった目的のときは××するとかの
お約束はあるのですか?


766 :デフォルトの名無しさん:2009/05/22(金) 17:56:11
フィルタってだいたい3×3とかでしょ?端ではみ出すのは1ピクセルだけなんだから
大体は折り返しでやってるんじゃない?

767 :デフォルトの名無しさん:2009/05/22(金) 17:58:47
画像が、横方向(x=0〜x=255)に画素値(P=0〜P=255)までのグラデーションになってるとする。
その時、一般的にγというと画素値Pと輝度値Lとの関係式
L=P^γ
のことを言うのであって、x方向に画素がどうならんでるかとかは関係ない。

グラデーション画像自体のγ値ってのを敢えて考えてみると、
L=x^γ
ということになるのかな。そんなのがあるとは聞いたことはないけど。

768 :757:2009/05/23(土) 06:44:36
>>758
画像のガンマ値はまた別のようなんです。
2.2か1/2.2のような気がしてますが。
定義によって逆数になったりするようなんですね。

>>759
画像にガンマ値がないというのは分かる気もするんですが、
例えば、ソフトによってはRGBからsRGBに変換するものもありますし、
PNGなどはデータにガンマ値を持っていたりするようです。

>>760
その通りだと思います。

>>761-762
とてもわかりやすい説明で助かりました。
カメラで撮った写真なんかはガンマ値は決められないのでしょうかね。
ガンマ変換という単純な変換だけで特性を決めることに無理があるような気もします。

>>767
ちょっと質問の意図が伝わっていなかったようです。
変な質問ですみません。

>>763
平滑化など多くのフィルタでは、境界の画素値を使います。
Wavelet変換など境界で対称的に折り返す場合もあります。
CGのレンダリングでは反対側のピクセルをサンプリングする用途も多いです。

769 :757:2009/05/23(土) 06:47:10
Webで人の視覚はガンマ特性で標準的なディスプレイのガンマと
相殺してガンマ特性がおよそ1になるということが書いてあるのを見ました。
真実かどうかは分かりませんけれでも。
質問に答えていただいた皆様どうもありがとうございました。

770 :757:2009/05/23(土) 06:51:05
訂正です。
×:人の視覚はガンマ特性で
○:人の視覚はガンマ特性が0.5くらいで

771 :757:2009/05/23(土) 06:52:30
訂正です。
×:人の視覚はガンマ特性で
○:人の視覚はガンマ特性が0.5くらいで

772 :757:2009/05/23(土) 06:53:37
おおっと。すみません。

773 :デフォルトの名無しさん:2009/05/23(土) 10:59:31
*おおっと*

774 :デフォルトの名無しさん:2009/05/23(土) 13:23:59
かべのなかにいる

775 :デフォルトの名無しさん:2009/05/23(土) 13:37:53
×おおっと×

776 :デフォルトの名無しさん:2009/05/23(土) 14:18:05
マロール!マロール!!

777 :デフォルトの名無しさん:2009/05/24(日) 03:53:17
大量のjpg画像を画像配列にして何か画像処理をしてまたjpgとかで保存したい
んだけど、どうするのがおすすめですか?

778 :デフォルトの名無しさん:2009/05/24(日) 03:56:12
jpg一枚につき1台PC用意して並列処理

779 :デフォルトの名無しさん:2009/05/24(日) 14:01:43
>>777
マルチスレッド

780 :デフォルトの名無しさん:2009/05/24(日) 16:32:06
顔認識って今も一番いいのはViola Jonesなの?

781 :デフォルトの名無しさん:2009/05/24(日) 17:57:26
NECがやってたの良かったな
29歳なのに30-39歳に分類されててプリプリしてる人がいたがw

782 :デフォルトの名無しさん:2009/05/24(日) 18:05:33
ワロタw

783 :デフォルトの名無しさん:2009/05/24(日) 18:30:30
顔認識といっても、
顔検出、笑顔検出、同一人物検出とか、
それぞれ違うよな。

nのそれは、顔から年齢っていう相関が微妙。
てか、無理があるような。

784 :デフォルトの名無しさん:2009/05/24(日) 20:02:46
見たことあるけど、刻みは10歳ずつだけど結構当たるよ。
ピタリ当てるのが目的じゃないからね。

785 :デフォルトの名無しさん:2009/05/24(日) 20:34:56
Image::AnimeFace

786 :デフォルトの名無しさん:2009/05/25(月) 02:07:13
Viola-Jones methodは実時間処理可能だから実用化されただけだろ

787 :デフォルトの名無しさん:2009/05/25(月) 03:21:01
Viola-Jonesって、OpenCVの物体検出のHaar-Like学習でも使われてるやつ?

788 :デフォルトの名無しさん:2009/05/25(月) 10:18:34
そう

789 :デフォルトの名無しさん:2009/05/25(月) 20:48:52
みなさんに質問です。
(質問1)
フォルダに入った500枚の画像の色を例えば、赤→青、黄→紫など思うがままに
1枚、1枚毎に変換させ、それらの変換処理した各画像ファイルを別のフォルダに記憶させる
ことができるソフトウエアはあるでしょうか?
なお、私はプログラムの知識はありません。
(質問2)
輪郭抽出、モザイクなど、ウインドウのペイントに付いている「変形」処理を
上記500枚の各画像フェイルに自動的に行わせるソフトウエアはあるでしょうか?
500枚の画像から1枚、1枚選択して、処理する手間を省きたいのです。
できれば、フリーソフトウエアでそのようなものがあればありがたいのですが。
よろしくお願いします。

790 :デフォルトの名無しさん:2009/05/25(月) 20:54:36
ここはそんな質問をする板じゃありません

791 :デフォルトの名無しさん:2009/05/25(月) 21:17:50
>790
失礼しました。他の板で質問をしたいと思います。

792 :デフォルトの名無しさん:2009/05/27(水) 09:14:04
圧縮していないAVIの元の映像と、MPEGとかH264で圧縮された映像の各フレームの差分をとって、劣化具合を見てみたいと思っています。簡単にできる方法ある?


793 :792:2009/05/27(水) 09:17:05
ちなみにプログラム言語はCとC++の基本的なところは分かっています。

794 :デフォルトの名無しさん:2009/05/27(水) 10:19:08
>>792
動画編集ソフトで、レイヤーを重ねて、合成方法を差分にする。これが一番簡単。

795 :デフォルトの名無しさん:2009/05/27(水) 22:47:02
ffmpegとimagemagickの組み合わせでバッチ処理するとか
avisynthとxor系の追加フィルタで合成するとか
プログラム書き下ろす必要すらなく出来ちゃうかもしれんね

796 :デフォルトの名無しさん:2009/05/28(木) 04:44:42
いや、わざわざここで聞くってことは、そういうレベルの話じゃなくて、
画像の劣化具合を客観的に数値化する標準的な手法やアルゴリズムのことを
聞きたいんじゃ・・・ないのか?

797 :デフォルトの名無しさん:2009/05/28(木) 06:25:12
x264 はエンコード後に様々な統計を出してくれるんだけど、
その中に画質の劣化を表す指標 PSNR と SSIM ってのがあるね
PSNR の方はちょっとググれば一瞬で実装できると思う
SSIM は↓
http://www.ece.uwaterloo.ca/~z70wang/research/ssim/

798 :デフォルトの名無しさん:2009/05/28(木) 06:34:42
でも'各フレームの差分をとって、劣化具合を見てみたい'だから
>>794の解釈でいいんだと思うよ

799 :792:2009/05/28(木) 11:54:23
色々と教えてくれてありがとう。参考にします。
聞きたかったのは、C言語で動画の差分を取って配列にするにはどうすれば楽にできるかということでした。
後は、差分画像の画素の平均値をとって足し合わせるだけでも指標にはなりますよね。



800 :デフォルトの名無しさん:2009/05/28(木) 15:15:05
つーかそれやってんのがPSNR
画素の輝度差分で平均二乗誤差を取る

動画の静止画キャプチャはSampleGrabberでも使えばいいんじゃないの

801 :デフォルトの名無しさん:2009/05/29(金) 03:25:48
SSIM のパラメータ(たとえばhttp://www.ece.uwaterloo.ca/~z70wang/publications/josa07.pdf)での
αβγδの決め方が超テキトーな件

802 :デフォルトの名無しさん:2009/05/29(金) 09:12:53
>>801
よくみてないけど、速度vとコントラストcのlogとって、αとγの重み係数で足し合わせればうまくフィットするっつう話?フィッティング係数はそんな感じでテキトーでいいんじゃね?

803 :デフォルトの名無しさん:2009/05/30(土) 00:22:50
画像とガウス関数を周波数領域で畳み込んで、
元に戻してローパスフィルタの効果を得た画像を出力したいのですが、
次の条件下ではうまくいかなく困っています。

まず、ガウス関数は普通の正規分布を用いています。
そこで、σ(標準偏差)の値を変えて出力の変化を見ています。


σが大きな値(1以上)のときはうまく結果画像が得られるのですが、
小さな値(0.1とか)だと、出力が変な画像になってしまいます。

よろしくお願いします。

804 :デフォルトの名無しさん:2009/05/30(土) 05:07:56
>>803
ガウスの高さはちゃんと1に正規化してる?

805 :デフォルトの名無しさん:2009/05/30(土) 05:19:22
動画像処理で質問ですが人物の顔部分のみを追跡したい場合に有効な処理方法はありますか?

806 :デフォルトの名無しさん:2009/05/30(土) 06:03:03
>>804
Haar-Like特徴検出

http://oshiete1.goo.ne.jp/qa4465227.html

807 :806:2009/05/30(土) 06:08:20
間違えた、 >>805 だった

808 :デフォルトの名無しさん:2009/05/30(土) 14:51:43
>>804
面積ではなく、高さを1にするのですか?

使ってるガウス関数は、以下のものです。

f(x,y) = 1/(sqrt(2π)*σ) * exp(-(x*x+y*y)/(2*σ*σ))

原点は画像の中心にとってます。

809 :デフォルトの名無しさん:2009/05/30(土) 16:00:27
( *σ*)人(y*y )

810 :デフォルトの名無しさん:2009/06/03(水) 17:17:37
>>808
面積一定だと、標準偏差σを小さく(ガウスの幅を狭く)したときに高さが無限大に近づいていって、それをかけた結果も無限大になってしまうだろう。結果の画像を最大値で正規化するとよい。

811 :デフォルトの名無しさん:2009/06/03(水) 18:38:28
高さが増えても幅が減るので、掛ける値が無限大になることは無い罠

812 :デフォルトの名無しさん:2009/06/03(水) 21:06:04
a

813 :810:2009/06/03(水) 21:10:18
>>811
畳み込むんだから掛ける値は中央部ででかくなるじゃん。周波数成分の中央部(直流成分)にガウスの中央部分の高さ(→∞)がかかると、変換後の周波数成分のパワーも→∞。

814 :デフォルトの名無しさん:2009/06/03(水) 22:42:13
掛ける値は、中央成分など曲線上の値を使うのではなく、
曲線の値を区間で積分した値を使うべきでは?

中央成分が∞になっても、ピークの幅が限りなく0に近づくので、
面積としては総和が1になるはず。(四捨五入などの誤差はあるが)

815 :810:2009/06/03(水) 23:26:03
>>814
区間積分した値を使おうが、直線上の値を使おうが、量子化するかしないかの違いだけで、ガウスの標準偏差が小さくなったときに真ん中らへんが大きくなるのには変わりない。
区間積分(1ピクセルで量子化)すれば確かに無限大にまではならないけど、
標準偏差が0に近づいた時には高さはかなり大きな値になる。
その値を周波数成分の対応した部分(中央の直流成分)に掛けると、
めちゃくちゃでかい値になって、たぶん>>803はそれをそのまま逆DFTして
画像化してるんじゃないか?そうすると真っ白な画像が復元されることになるぞ。


816 :デフォルトの名無しさん:2009/06/03(水) 23:30:32
あ、1ピクセルで量子化したら積分値は1でかわらないか。ごめんごめん。また教えてください。

817 :810:2009/06/03(水) 23:34:31
でもつまり、量子化すれば、中央部分の積分値が1を超えないから結果的に1で正規化してるのと同じことになるのかな。
たぶん>>803は曲線上の値を使ってるんじゃないの?

818 :デフォルトの名無しさん:2009/06/04(木) 19:55:09
要するに、Z変換における積分などをはしょった結果、曲線上の大きな値を使って大きな値を使ってしまったってことかね。
プログラム以前の数学的考え(工業数学に近いかもだが)をきちんと覚えろって事かな。

エスパータイムで、どういうミスをしているのかを探偵よろしく推測するのはあまり面白いとは思えないが。

819 :デフォルトの名無しさん:2009/06/04(木) 19:59:26
ウェーブレットの方が効率よくないか

820 :デフォルトの名無しさん:2009/06/05(金) 10:47:00
OCRを勉強しています。
文字の骨格を抽出する方法がわかりません。
教えてください。

821 :デフォルトの名無しさん:2009/06/05(金) 11:23:17
それを調べるのも勉強です

822 :デフォルトの名無しさん:2009/06/05(金) 11:43:38
>>820
インプリメントの容易さならHilditch、品質重視ならDeutschの方法が
いいのでは?
Acute angle emphasisを前処理で適用すると少し品質が上がる。

823 :デフォルトの名無しさん:2009/06/06(土) 09:58:25
画像処理(動画)をやりたいんだけど使用言語は何がおすすめ?
C#でやってる人とかいる?C言語ならちょろっとやったことがある。

824 :デフォルトの名無しさん:2009/06/06(土) 11:22:17
>>823
なんでもいいからとにかくやってみるんだ。話はそれからだ。

825 :デフォルトの名無しさん:2009/06/06(土) 14:46:15
>>823
メモリを直接いじるコードを書きたいときはC#だとイラッとする。
そういうところはC++/CLIでやったほうがいいかなと思うよ。

そういうところ意外は断然C#の方が手っ取り早いと思っています。

826 :デフォルトの名無しさん:2009/06/06(土) 14:47:23
入門ならOpenCVがあるってだけでC/C++でいいかとおもうよ!

827 :デフォルトの名無しさん:2009/06/06(土) 14:50:26
画像処理をやるなら、CからSSEコードを書くのがいちばんだよ。

828 :デフォルトの名無しさん:2009/06/06(土) 14:59:29
FPGAができないとだめ

829 :デフォルトの名無しさん:2009/06/06(土) 16:23:02
今FPGAは殆どCでかけるんだっけ?

830 :デフォルトの名無しさん:2009/06/06(土) 16:29:45
コーナー検出についてなんですけど、なぜ注目画素周辺のヘッセ行列の固有値でコーナーかどうか判定できるんですか?
ヘッセ行列の固有値の大きさって何を表しているんですか?

831 :デフォルトの名無しさん:2009/06/06(土) 16:44:55
>>830
http://ja.wikipedia.org/wiki/%E3%83%98%E3%83%83%E3%82%BB%E8%A1%8C%E5%88%97

832 :デフォルトの名無しさん:2009/06/06(土) 17:56:27
>>823
pcで自分で作るなら、cかasm。ライブラリ使うなら、それにあわせた言語。
専用ハードも同様。

>>829
むり。

833 :803:2009/06/06(土) 21:37:32
>>803です
返事が遅れてすみませんでした

みなさんがおっしゃる通り曲線上の値をそのまま使っています
そのため、分散σが1画素以内の小さな値になったとき
高さが非常に大きな値になってしまい、
FFTして掛け合わせて逆変換すると全体的に真っ白になってしまいます

みなさんのアドバイスを見たところ、
(1)区間積分した面積の値をつかう
(2)曲線上の値を使ってもいいが、掛け合わせて逆変換して得られた結果画像の最大値が255になるように正規化する

以上の2通りがあるようですね
(2)に関しては、最大値を255に正規化すると、やはり元の画像よりも明るくなってしまうのではないでしょうか?
(1)に関しては、画像の場合具体的にどうすればいいのか分かりません
区間1画像で面積を求める(=量子化するということ?)のですか?


レベルの低い質問ですみませんが、よろしくお願いします

834 :デフォルトの名無しさん:2009/06/06(土) 22:26:20
区間積分は、きちんと数式を解いてやる方式もあるが、プログラミングしているなら、
ソフトで細かいメッシュで積算してってもいいんじゃね?

ぐるぐるで「プログラム 補間」とかで方法考えるとか。
あと、メッシュの間の曲率を調べ、あまりに曲率が高い箇所に関してはメッシュを部分的に
細かくするなどのテクを使えば 精度が上がると思うよ。

835 :デフォルトの名無しさん:2009/06/07(日) 05:19:31
ローパスフィルタをかけたいだけならガウスの区分積分とか厳密にやる必要はないよ。
結果を単に0から255に収まるように正規化すればいい。
明るさが気になるなら例えば元々の画像の明るさの最小値、平均値、最大値
なんかを求めといてその範囲にスケーリングするとかさ。


836 :デフォルトの名無しさん:2009/06/07(日) 07:03:52
++++ ++++
+*++ *+*+
+*++ ++*+
++++ ++++

こんなパターンが2つあって
1個づれてるだけで形状は同じなんだけど
こいういうのを同一視する方法ってあるの?

837 :デフォルトの名無しさん:2009/06/07(日) 07:08:50
日本語でおk

838 :デフォルトの名無しさん:2009/06/07(日) 12:56:56
>>822
細線化(Thinning; Skeletonization)というらしいですね。
ありがとうございます。

ttp://homepage3.nifty.com/ishidate/vcpp05_g12/vcpp05_g12.htm

839 :デフォルトの名無しさん:2009/06/08(月) 12:59:59
質問
顔認識は画像処理でいいのかね
顔認識で一番わかりやすいのをおしえてほしい

840 :デフォルトの名無しさん:2009/06/08(月) 13:30:00
>>839
OpenCVじゃダメなのか?

841 :デフォルトの名無しさん:2009/06/08(月) 13:53:38
OpenCVスレでダダこねてる奴か?

842 :デフォルトの名無しさん:2009/06/08(月) 14:27:00

違うよ

843 :デフォルトの名無しさん:2009/06/08(月) 14:53:09
>>842
おまえだろ!w (さすがに本当に本人じゃないと思うが)

844 :デフォルトの名無しさん:2009/06/08(月) 20:41:10
動画像処理で対象追跡を行う場合、明度変化に対応させようと思ったらどんな処理が有効なんですかね
差分処理だけじゃどうも上手く限定できてないというか・・・

845 :デフォルトの名無しさん:2009/06/08(月) 20:43:27
対象物を特定できる輪郭を取り出して、その輪郭を追いかける

846 :デフォルトの名無しさん:2009/06/08(月) 22:46:38
>>844
ヒストグラムとか使って明度を合わせる

847 :デフォルトの名無しさん:2009/06/09(火) 02:00:08
>>844
どういう追跡対象?差分処理ってどうやってんの?最近流行の追跡手法でSURFってのがある。

848 :デフォルトの名無しさん:2009/06/09(火) 02:32:08
>>844
co-occurance

849 :デフォルトの名無しさん:2009/06/09(火) 05:13:14
>>844
追跡ならオプティカルフローをとって追っかけるのが定番

850 :デフォルトの名無しさん:2009/06/10(水) 18:55:15
canny法のエッジの始点からエッジがどう続いているか
最小のしきい値より上のピクセルをトラッキングする処理で、
今は地道に1つ1つのピクセルをトラッキングする手法を
とっているのですが、なんだか効率が悪いような気がしています。

何か効率の良いアルゴリズムはないでしょうか?


851 :デフォルトの名無しさん:2009/06/10(水) 22:11:52
囲碁板の某スレで出たアイディアです。

1.ノートパソコンにUSBカメラをつないで対局中の碁盤を撮影する。
2.画像処理により、プレーヤーが着手した事とその着手点を特定する。
3.それにより自動で棋譜を採る。

というシステムを作ろうとしたら、画像処理の部分はどのような
手法が有効でしょうか。





852 :デフォルトの名無しさん:2009/06/10(水) 22:20:09
>>851
それなら差分とるだけでいいよ。

853 :デフォルトの名無しさん:2009/06/10(水) 22:34:54
>>851
それ携帯のiアプリで作ったことある

854 :デフォルトの名無しさん:2009/06/10(水) 22:34:54
素人な質問ですいませんが、着手点を特定するのはどうすればいいですか?
碁盤の座標(19x19のどこか)を算出する必要があります。


855 :デフォルトの名無しさん:2009/06/10(水) 22:38:56
>>854 縦横の直線を検出して番号ふればええんちゃうの?


856 :デフォルトの名無しさん:2009/06/10(水) 22:41:51
http://web.fuip.fukuyama-u.ac.jp/old/kenkyu/ozeki/member/h19/pdf/nakano.pdf

857 :851:2009/06/10(水) 23:43:58
>>856
お、正にこれです。ありがとうございます。
しかし、ソースはアップされていないようですね、残念。
自力で実装するしかないか…

858 :デフォルトの名無しさん:2009/06/11(木) 01:09:17
>>857
盤面にほとんど同時に手が出てきて、高速に連続して石が
2個以上置かれたとき追跡が難しいよね。
囲碁ってパスがなければ白黒交互と考えられるのになぁ・・・
その点を除けば、打たれる位置も決まっているし、後は簡単そうなんだけどな。

859 :デフォルトの名無しさん:2009/06/11(木) 12:51:40
初心者ですがゲームを作ろうと思っています。
パレット画像pngファイルから読み込んだバイナリの
パレットだけ差し替えたいのですがどうやったらいいでしょうか?

860 :859:2009/06/11(木) 12:54:00
↑すみません書き忘れました。環境はVC6です。

861 :デフォルトの名無しさん:2009/06/11(木) 13:21:33
APIに頼らず地力描画したほうがはやい。

862 :デフォルトの名無しさん:2009/06/11(木) 14:22:00
APIに頼ったほうが開発ははやい。

863 :デフォルトの名無しさん:2009/06/11(木) 14:51:21
>>859
そのゲーム、どんなゲーム?
背景色のパレットを透過色パレットに変換したいとかかな?

864 :デフォルトの名無しさん:2009/06/11(木) 15:50:39
>>863
RPGです。
色違いのデータが多いのでメモリの節約のために
パレットだけ差し替えられないかなと思いました。

865 :デフォルトの名無しさん:2009/06/11(木) 16:06:20
>>864
パレット差し替えるだけなら、pngのファイルフォーマット調べて差し替えればいいだけ

パレット使うってことは、1枚の画像で256色しか使えない。いまどき、そんなのアリなのかなぁ・・・
ゲーム製作板で聞いたほうがよいとおもうよ

866 :デフォルトの名無しさん:2009/06/11(木) 17:59:07
>>864
今時メモリなんか節約しなくてもいいよ。
画像データなんてせいぜい数メガでしょう。

867 :デフォルトの名無しさん:2009/06/11(木) 20:07:00
>>866
もちろん俺もそう思うが、実は転送量がヘタすれば1/4で済むところが大きい。
CPUエンジンだと特に。

868 :デフォルトの名無しさん:2009/06/11(木) 20:15:25
DIBにしなきゃ使えないんだから転送量なんて関係ない気がするが。
描画ごとにデコードしても問題ないCPU性能の環境ならメモリケチるわけないし。

869 :デフォルトの名無しさん:2009/06/11(木) 20:56:48
>>868
デコード後のDIBでも256色と32bppじゃ4倍違うわけだが。

870 :デフォルトの名無しさん:2009/06/11(木) 21:01:08
256色PNGなんだから256色DIBにデコードするものだろ
パレットも後で弄れるわけだし。

871 :デフォルトの名無しさん:2009/06/11(木) 23:15:31
>>870
お前、横入りするなら、ちゃんと流れを読んで発言したほうがいいぞ。

872 :デフォルトの名無しさん:2009/06/11(木) 23:52:41
なあ、エロイ人、
DICOMのファイルフォーマットのよさげな解説の載った書籍ってないですかね?

873 :デフォルトの名無しさん:2009/06/12(金) 11:15:33
「DCOM入門」(篠原出版)なんかいいんじゃない?グーグルですぐにでてくるけど。
http://www.jira-net.or.jp/dicom/index.html


874 :デフォルトの名無しさん:2009/06/12(金) 15:13:28
>>872
カットシステム社のC++ Builder6シリーズVol.8にDICOMの16ビット画像を
テクスチャに読み込んで表示するサンプルが載ってるぞ。



875 :デフォルトの名無しさん:2009/06/12(金) 23:51:25
おまえらやさしいな。
ありがとよ諸兄。

876 :デフォルトの名無しさん:2009/06/13(土) 12:47:26
お前らSSII2009 で面白いものありましたか?

俺の一押しは必勝ジャンケンなんだけどさ.

877 :デフォルトの名無しさん:2009/06/14(日) 05:11:04
>>876
画像処理と何の関係が?

878 :デフォルトの名無しさん:2009/06/14(日) 08:32:07
モーション推定とか認識は画像処理と何の関係もないの?

879 :デフォルトの名無しさん:2009/06/14(日) 13:42:05
関係ないよ

880 :デフォルトの名無しさん:2009/06/14(日) 15:57:48
顔認識も画像処理とは無関係なんですねわかります

881 :デフォルトの名無しさん:2009/06/14(日) 18:47:05
本質的には無関係だな
ただ画像を使って認識する方法が直感的ではあるけど

882 :デフォルトの名無しさん:2009/06/15(月) 12:41:14
>>876
「実時間動画像超解像処理システム」
http://okutomi-lab.ctrl.titech.ac.jp/res/CSR/CSR-ja.html

883 :デフォルトの名無しさん:2009/06/15(月) 19:38:03
SSIIって超解像人気だよな。
去年もオーディエンス賞かなんか取ってなかったっけ。
業界人が多いからかね。

884 :デフォルトの名無しさん:2009/06/15(月) 21:44:00
>>883
SSIIは、センシング技術の実用化を目指す団体だから。
超解像はすでに製品も登場したりして、実用化に近いところにある=金になりそうなジャンルだから。

885 :デフォルトの名無しさん:2009/06/15(月) 22:04:27
マルチフレーム超解像だと対象物が静止していなければならないという条件が
厳しくて使い道がイマイチわからん。どう金と結びつくのか説明してくれエロイ人。

886 :デフォルトの名無しさん:2009/06/16(火) 00:31:52
>>885
そうだな。近しいところではTVとか。どうせ動体は解像度低くてもいいわけだし。
なにより家電に「くっきり超解像!」って入れれば差別化できる。実体はともかく。
暴走すれば、合成開口レーダーっぽい処理とか。

でも本当は、なにより見た目が派手なので研究費をかっぱらってくるのに有用なんだ。
実のところ。

887 :デフォルトの名無しさん:2009/06/16(火) 12:14:30
最近テレビもでかくなってDVDとか拡大するとブロックノイズかなり目立つし
自分としては超解像に期待している。
超解像がGPUに標準でインプリメントされればうれしい。

888 :デフォルトの名無しさん:2009/06/16(火) 21:39:21
監視カメラの映像解析にも役に立つ
超解像度で記録なんかしてられん

889 :デフォルトの名無しさん:2009/06/16(火) 22:43:59
でも、ここでいう超解像って、
人間の目に不自然でないだけで、
偽像が形成されてる可能性はないん?

890 :デフォルトの名無しさん:2009/06/16(火) 22:58:48
あくまで推定だから無いとは言い切れないが・・・そんなことを言い出すとどうしようもなくないか?

891 :デフォルトの名無しさん:2009/06/16(火) 23:03:55
>>889
そういう超解像もあるな
ttp://people.csail.mit.edu/celiu/FaceHallucination/fh.html

892 :デフォルトの名無しさん:2009/06/16(火) 23:22:35
>>890
法的証拠として使うような監視カメラには使えんということ

893 :デフォルトの名無しさん:2009/06/16(火) 23:50:06
それ以前にマルチフレームタイプだと適用すら出来ないと思うよ。
>監視カメラ

894 :デフォルトの名無しさん:2009/06/16(火) 23:51:19
もとへ。
犯人達の乗ってきた車のナンバーを特定したりするのには使えるな。失礼。
法的証拠と言うより、操作のとっかかりには重要だろう >> 892

895 :デフォルトの名無しさん:2009/06/17(水) 00:27:30
ナンバープレート自体はほぼ完全に剛体だから、大変な処理ではあるけど
不可能ではなさそうだね。

896 :デフォルトの名無しさん:2009/06/17(水) 01:03:29
最近のタクシーなんかには車載カメラが付いてて、でも解像度が悪くて使い物にならなかった見たいな話があったな。このスレで。

897 :デフォルトの名無しさん:2009/06/17(水) 01:15:55
超解像はナンバープレート読み取りにはかなり使えるだろうな
顔認証にはちと厳しいだろうけど

898 :デフォルトの名無しさん:2009/06/17(水) 01:26:18
>>896
>>68

899 :デフォルトの名無しさん:2009/06/17(水) 03:14:17
タクシーのは元々事故った時の検証用だからね

900 :デフォルトの名無しさん:2009/06/17(水) 09:29:07
>>886
ありがとう。
>>895
対象物が動いていてもマルチフレーム超解像できるケースもあるのか。
ナンバープレートだと論文もあるね。

マルチフレーム超解像だと動く対象に適用しにくいという以外に「カメラが
プルプル動いていなきゃ駄目」という困った条件が付くんだけど。これもどう
にかなるのかな?

901 :デフォルトの名無しさん:2009/06/17(水) 10:55:23
車体を背景と捉えればナンバープレート自体は動いてないと見なせるけど、
ナンバープレートに超解像が必要な情報量では厳しいかな。

ここは、ナンバープレートの規格を、画像認識しやすいように変更する方向で…

902 :デフォルトの名無しさん:2009/06/17(水) 14:17:14
だったらそもそもナンプレ(と書くとパズルっぽい)に
非接触方式ICタグを付ければいいわけで…距離の問題はあるが

903 :デフォルトの名無しさん:2009/06/17(水) 14:26:34
よくしらんがICタグってそんなすげぇもんなのか?
距離と速度と安定性と。時速100を互いに越えても大丈夫?

904 :デフォルトの名無しさん:2009/06/17(水) 14:58:22
ナンプレにオービス付ければいいんじゃね?

905 :デフォルトの名無しさん:2009/06/17(水) 16:57:11
逆に、元画像をあたえると、そこに紛れ込むと識別しづらくなる
カモフラージュパターンの自動生成とかできないかな

906 :デフォルトの名無しさん:2009/06/17(水) 22:27:32
それってパターン抽出じゃね

907 :デフォルトの名無しさん:2009/06/17(水) 23:51:33
>>905
ゼロから自動生成なら元画像そのものをコピーすればいいだけだと思う。

いくつかのパターン画像から一番識別しづらくなるものを選択する、なら話は分かるが。

908 :デフォルトの名無しさん:2009/06/18(木) 08:47:50
そうだよな、周りをコピーすればいいんだよな。
ただ、ちょっとずれるとはっきりわかるけど、思いっきり違うと逆にわかんないとかあるかなと。
風景写真からいらない人物だけ消すとかあるじゃん。

カモフラージュパターンのグニャグニャ具合を、ジャングルによって変えるとか
都市迷彩も高円寺と中野で変えるとか。無いか。


909 :デフォルトの名無しさん:2009/06/18(木) 14:53:29
         ____
        /      \
       /  ─    ─\
     /    ⌒  ⌒  \     ハハッ
     |       ,ノ(、_, )ヽ    |
      \      トェェェイ   /
       /   _ ヽニソ,  く

910 :デフォルトの名無しさん:2009/06/18(木) 16:54:18
こういうやつか
http://byokan.net/images/2008/snake/05.jpg

911 :デフォルトの名無しさん:2009/06/18(木) 17:24:51
輪郭をトレースするのを間違えさせるとか、高調波成分を同じにするとか
デジカメの顔検出を間違えさせるTシャツとか。無いか。

912 :デフォルトの名無しさん:2009/06/18(木) 21:24:42
PTAMのiPhoneデモが出てるぞ。
まったく広角でないしCPUもしょぼいのによく移植できたな。

913 :デフォルトの名無しさん:2009/06/19(金) 20:13:30
おいしいラーメンの作り方

一、 小麦粉、卵、かんすいを適量混ぜ合わせ、良く捏ねる。
二、 伸ばし棒で伸ばし、細く切る。
三、 醤油、ニンニク、出汁を適量混ぜ合わせ、スープを作る。
四、 麺を茹で、スープにいれる。
五、 チャーシュー、鳴門など好みのグザイをトッピングする。

914 :デフォルトの名無しさん:2009/06/21(日) 12:24:54
ICCV落ちたorz

915 :デフォルトの名無しさん:2009/06/21(日) 14:23:05
そろそろ次スレ

916 :デフォルトの名無しさん:2009/06/21(日) 14:45:30
グザイ

917 :デフォルトの名無しさん:2009/06/21(日) 14:47:14
超解像、意外と安い

http://nttxstore.jp/_II_MT12805423#syousai

918 :デフォルトの名無しさん:2009/06/21(日) 15:34:03
微分フィルタ
prewittフィルタ
sobelフィルタ

この違いがどうしてもわかりません
後者2つは微分よりもエッジの抽出ができているようですが、他にないですか?

919 :デフォルトの名無しさん:2009/06/21(日) 16:07:10
> 超解像

ギャグか?

920 :デフォルトの名無しさん:2009/06/21(日) 16:17:46
prewittやsobelなどは載っていないけど、↓基礎勉強になるよ。
http://www.gifu-nct.ac.jp/elec/yamada/iwata/index.html

921 :デフォルトの名無しさん:2009/06/22(月) 01:02:16
>>918
微分フィルタにPrewittフィルタもSobelフィルタも含まれるんだが、ここでの微分フィルタが
単純に隣接間の濃度差を求めるものだとすると微分フィルタにはノイズに弱いという欠点がある
Prewittフィルタはフィルタ領域を近傍に拡張しているためノイズに強く、Sobelフィルタは4近傍の
濃度差に重みを付けているためノイズが無い場合は輪郭検出感度がPrewittフィルタよりも高くなる

922 :デフォルトの名無しさん:2009/06/27(土) 07:07:57
http://home.a02.itscom.net/coffee/takoindex.html
の 事例1 タコ国未知物体の正体は何か 
ってどうやってるんですか?こんなのできるの?


923 :デフォルトの名無しさん:2009/06/27(土) 19:10:42
win32APIで画像処理(画像読み込み、保存、拡大、縮小、各種フィルタなど)したいんだけど、詳しく教えてくれるサイトない?書籍でもいい

924 :デフォルトの名無しさん:2009/06/27(土) 20:49:48
>>923
OpenCV じゃだめなの?

925 :デフォルトの名無しさん:2009/06/27(土) 22:04:38
>>922
http://soudan1.biglobe.ne.jp/qa5077933.html

926 :デフォルトの名無しさん:2009/06/28(日) 04:13:46
>>925
すごいなーと思ったら例えですかー。
ありがとうです。




927 :デフォルトの名無しさん:2009/06/28(日) 04:22:36
飛行機ではないが、医用画像からブロブ形状を抽出するなんて論文は
いくらでも見つかるな。

http://tohoku-b.umin.ac.jp/data/12bukaizassi/12_page108.pdf
http://www.med.kyushu-u.ac.jp/neurophy/ME/h15/2A/takemoto.pdf

928 :デフォルトの名無しさん:2009/06/28(日) 04:28:48
タコ国の例は、ノイズ画像から画素の密度(濃度)が高い所を抽出してるんだから、
考え方は単なる2値化に近いわな。
主成分分析は、点の密度が高い分布の中央を通る直線を出して、ある閾値で
それらの点の分布を含む楕円体を描いてるんだから。

929 :デフォルトの名無しさん:2009/06/29(月) 00:17:21
ようするに密度をどう表現するかの違いでしょ

930 :デフォルトの名無しさん:2009/06/29(月) 00:39:43
>>905
http://saiyu.cocolog-nifty.com/zug/2006/12/__08fd.html
で紹介されている論文が一つの答えだと思う。

931 :デフォルトの名無しさん:2009/06/29(月) 12:27:46
OCRの話はここでいいですか?

932 :デフォルトの名無しさん:2009/06/29(月) 13:07:16
OCRを作る話ならOK

933 :デフォルトの名無しさん:2009/06/29(月) 13:15:47
BMP/GIF/JPEG/PNG/TIFF画像をサポート。ソースもあるよ。

画像回転ソフト TurnPix
http://www.geocities.co.jp/katayama_hirofumi_mz/turnpix/

※ 「回転専用。」はTurnPixに改名されました。

934 :デフォルトの名無しさん:2009/06/29(月) 13:27:55
2本の曲線があって元々は1本の曲線だったんだけどノイズで途中が切れてるのがあるとして
ノイズといっても1ピクセルとか小さいものから数十ピクセルの大きいものまであって
元の曲線を復元するにはどうすればいいの?
数学とか難しいことは分かりません

935 :デフォルトの名無しさん:2009/06/29(月) 13:47:57
手作業でやれば?

936 :デフォルトの名無しさん:2009/06/29(月) 14:24:02
ブラーでぼかして細線化すればオッケーだぜ。

937 :デフォルトの名無しさん:2009/06/29(月) 16:24:16
細線化後にベクトル化、さらに適当なステップ数で3次スプライン近似。
端点は必ず制御点に入れる。

938 :905:2009/06/29(月) 17:59:17
>>930
おお、さんく!
っていうか外挿すげえな

939 :デフォルトの名無しさん:2009/07/02(木) 12:01:58
画像の拡大縮小、回転、移動で混乱しています

大きい画像を窓の枠から覗いている状態なのですが
回転と平行移動が上手く組み合わせられなくて困ってます
平行移動、回転、の順にしているのですが
回転の中心が画像中心になってしまいます

試しに回転してから移動したら、窓中心に回転はするのですが
平行移動も一緒に回転したような変な動きになってしまいます
どうすればいいでしょうか

940 :デフォルトの名無しさん:2009/07/02(木) 12:23:10
バグってるんじゃないの?
それぞれ単体ではちゃんと変換できるの?
ちゃんと変換を合成できてるの?


941 :デフォルトの名無しさん:2009/07/02(木) 12:32:52
>>940
単体では全然問題ないです
回転の中心がどうしても変えられない…

942 :デフォルトの名無しさん:2009/07/02(木) 14:53:13
>>941
どういうプログラム組んでいるのか知らないが回転の中心は
あなたが決めるもんじゃないの

943 :デフォルトの名無しさん:2009/07/02(木) 15:47:04
回転行列の問題

944 :デフォルトの名無しさん:2009/07/02(木) 18:10:07
色々やってみたのですがうまくいかなかったです

窓の方の縦横でループしてるんですが
こんな感じでかいてます

a = -sin() * (y-窓高さ/2) + cos() * (x-窓幅/2) + 窓幅/2;
b = cos() * (y-窓高さ/2) + sin() * (x-窓幅/2) + 窓高さ/2;
a += x移動;
b += y移動;
(x , y) = (a , b)
これだと、窓の中心で回転するんですが移動も回転してしまいます

a = -sin() * (y移動+y-窓高さ/2) + cos() * (x移動+x-窓幅/2) + 窓幅/2;
b = cos() * (y移動+y-窓高さ/2) + sin() * (x移動+x-窓幅/2) + 窓高さ/2;
(x , y) = (a , b)
これだと移動はちゃんと出来るんですが回転の中心が画像の中心になってしまいます


945 :デフォルトの名無しさん:2009/07/02(木) 23:18:44
先に平行移動した時点で回転中心にしたい点がどこにあるかはわかるはずなので、そこで回転させるようにループを組む
もしくは回転によってx移動、y移動も向きを変えるようにする

946 :デフォルトの名無しさん:2009/07/03(金) 01:11:45
移動と回転をいっぺんにやろうとしないで、まず平行移動させてから、回転。
一つ一つの結果を確認しながら進める。


947 :デフォルトの名無しさん:2009/07/03(金) 01:13:50
そもそもなんで回転とか平行移動とか基本からやるの?勉強のため?
OpenCVなりOpenGLなりで一発じゃん。

948 :デフォルトの名無しさん:2009/07/03(金) 03:59:23
やっぱり結果は変わらずでした
一つずつやってみて、移動は問題ありませんでした
その移動後の座標をそのまま回転させると
画像左上中心固定ですが移動も問題ありませんでした。

やっぱり言われたとおり回転の中心なのですが
画像中心はすぐ出来ても窓枠中心がどうしてもわかりません…

(画像の大きさ/2)ずらせば画像の中心になるので
(画像の大きさ/2-移動した分)だけずらして計算すれば
いいような気がするのですが移動も一緒に回転したような動きになってしまうんです


949 :デフォルトの名無しさん:2009/07/03(金) 04:36:34
自分がやってる事がわかってないんじゃないか。

>(画像の大きさ/2-移動した分)だけずらして計算すれば
この作業をやったときに問題になるのは、本当に狙ったところが回転中心になっているか?であって

>移動も一緒に回転したような動きになってしまうんです
平行移動への影響は関係ない。それは平行移動する前に回転させるか、平行移動したあとに回転させたかというだけの話。

何が問題で何を直すべきなのかじっくり考えた方がいい。意味もわからず出来ただけじゃ無駄だし。

950 :デフォルトの名無しさん:2009/07/03(金) 09:15:57
もしかして、画像を回転すると座標軸も一緒に回転するはずと思い込んでいる?

951 :デフォルトの名無しさん:2009/07/03(金) 10:21:23
ああ、コード見て一体何がやりたんじゃ?って思ってたけど、やっと何がやりたいのか把握したwww
座標変換理解してないんだな。

952 :デフォルトの名無しさん:2009/07/03(金) 10:30:08
どのスレに投稿して良いか判りませんでしたので、ここで質問させてください。
グラデーションの描画を行う際のアルゴリズムについてです。

p0からp3の4頂点の正方形があり、

p0-p1
|    |
p2-p3

と並んでいるとします。

アルゴリズム1
○p0からp2へのグラデーションを配列に作成するColArray0
○p1からp3へのグラデーションを配列に作成するColArray1
○ColArray0[ n ]からColArray1[ n ]へのグラデーションを描画する

アルゴリズム2
○描画する点、pを決定する(矩形内)
○そのpと各頂点を結ぶと出来る直線を対角線とした長方形を作成する
○長方形の面積を計算し比を計算する
○比に合わせて各頂点の色を混合する
○混合結果を描画する

上記2つのアルゴリズム名はわかりませんが、
もし名前がございましたらお教えいただけますでしょうか。

また、他にもアルゴリズムがございましたら
紹介していただけたらうれしいです。


953 :デフォルトの名無しさん:2009/07/03(金) 14:59:52
単なる線形補間じゃないのか?

954 :デフォルトの名無しさん:2009/07/03(金) 15:01:08
ガマット変換でもやりたいの?

955 :952:2009/07/03(金) 15:13:12
>>953
1についてはやっぱ意線形補完ですよね。
2は何補完って言われてるのかな・・・。

956 :953:2009/07/03(金) 15:23:37
バイリニア(双線形)補間じゃない?
これは縦横の比率をかんがえるんだけど面積は縦×横で結局同じことだろうから。

957 :デフォルトの名無しさん:2009/07/03(金) 15:25:24
画像の拡大がしたいんですね?

958 :デフォルトの名無しさん:2009/07/03(金) 15:29:24
補間なら他にもたくさんあるぞ。
画像の拡大縮小でよく使われるのが
ニアレストネイバー法(nearest neighbor)
バイリニア法(bi-linear interpolation)
バイキュービック法(bi-cubic convolution)

下ほど画質がいいが処理に時間がかかる。

959 :デフォルトの名無しさん:2009/07/03(金) 15:44:19
>>957
h ttp://d.hatena.ne.jp/gioext/20090414/1239720615


960 :デフォルトの名無しさん:2009/07/03(金) 15:55:56
Lanczos補間はLanczosさんが考えたsinc関数で補完する方法。
sincはsin(x)をxで割ったもの。

961 :デフォルトの名無しさん:2009/07/03(金) 20:29:00
>>952
グラデーションをどう決定するかが核なんだから、
1だけではアルゴリズムとは言えない。

962 :デフォルトの名無しさん:2009/07/04(土) 10:22:37
画像の回転と移動やっと出来ました
まだ理解不足が多いですが視点回転後に座標そのまま足しちゃってたんですね
>>945で言われた通り回転によって移動量も回転させて向きを変えて足したら
思い通りに出来ましたありがとうございます


963 :デフォルトの名無しさん:2009/07/04(土) 14:34:49
OPENCV初心者なのですが
画像を20度ずつ回転させて、20度ごとにテンプレートマッチングを360度まで行うのを
一つのプログラムにしたいのですが

回転プログラムとマッチングプログラムをどう合わせれば可能ですか?

964 :デフォルトの名無しさん:2009/07/04(土) 15:43:28
どうも何も、自分で言ってる通りなんじゃないの?
20度ずつ回転させて、その都度テンプレートマッチングするだけじゃないのか。

965 :デフォルトの名無しさん:2009/07/04(土) 15:50:32
そこはもう、自分の頭で考えるしかない。

966 :デフォルトの名無しさん:2009/07/04(土) 18:19:08
マルチか?

【Intel】OpenCV総合スレ【画像処理】2
http://pc12.2ch.net/test/read.cgi/tech/1230511656/326-

967 :デフォルトの名無しさん:2009/07/04(土) 20:35:47
OpenCVスレッドの回答に対しての返事もしないでこっちに投稿してくるとは。。。

968 :デフォルトの名無しさん:2009/07/05(日) 10:42:54
YUV色空間について勉強してるときに(YUV)'色空間ってのが出てきたんだけど
YUVと(YUV)'ってどう違うんですか?

969 :デフォルトの名無しさん:2009/07/05(日) 12:16:03
その記事はどこにあるの?

970 :デフォルトの名無しさん:2009/07/05(日) 14:35:19
>>969
>>968に対するレスだと思っていいのかな?
記事というか講義で配られた英文資料(原典不明)なんだけど
YUV色空間の項で(YUV)'ってのが出てきて
以下のような線形相関がRGBシステムとの間にあると書いてた
        (1/3  1/2 -1/2√3)
(Y,U,V)'=(R,G,B)(1/3   0  1/√3)
        (1/3 -1/2 -1/2√3)

一番右は3*3の行列ずれてたらごめん

971 :デフォルトの名無しさん:2009/07/06(月) 02:45:00
普通YUVっつうとこれだけどな。
Y = 0.299R + 0.587G + 0.114B
U = -0.169R - 0.331G + 0.500B
V = 0.500R - 0.419G - 0.081B

>>970の3*3行列は、RGB空間をYUV空間に射影するときの回転行列だろうか?
http://dtv.sakura.ne.jp/contents1/011.png

972 :デフォルトの名無しさん:2009/07/08(水) 18:39:01
exifに関する質問はここでいいでしょうか?
ここじゃないような気もするんだけど、適当なスレが見つからないので。


973 :デフォルトの名無しさん:2009/07/08(水) 19:13:20
こっちで聞け
http://pc12.2ch.net/test/read.cgi/tech/1245741378/

974 :デフォルトの名無しさん:2009/07/09(木) 09:02:26
テンプレ
誰か次スレ立てて下さい


画像処理プログラミングについて質問、議論を行うスレッドです
・画像処理について素人同士で大激論
・初学者の質問に対してやさしく(的を外れた)解答を与える
・その道の玄人も大歓迎

前スレ
画像処理 その11
http://pc12.2ch.net/test/read.cgi/tech/1222593978/

975 :デフォルトの名無しさん:2009/07/09(木) 09:53:25
立てました
画像処理 その12
http://pc12.2ch.net/test/read.cgi/tech/1247100724/

976 :デフォルトの名無しさん:2009/07/12(日) 04:07:42
梅揚げ

977 :デフォルトの名無しさん:2009/07/12(日) 11:41:05
エッジェルの実装に関するサンプルソースが欲しい。

978 :デフォルトの名無しさん:2009/07/21(火) 10:30:31
age

979 :デフォルトの名無しさん:2009/07/21(火) 15:12:35
書き込んでさっさと落とす

980 :デフォルトの名無しさん:2009/07/21(火) 15:20:04
落ちろー

981 :デフォルトの名無しさん:2009/07/21(火) 17:21:49
当たらなければどうということはない

982 :デフォルトの名無しさん:2009/07/21(火) 23:18:46
ビットマップ化したフォントの縁取りをしたいんだけど
輪郭抽出して内外判定して、外側に広げるしかないかな?

983 :デフォルトの名無しさん:2009/07/22(水) 00:14:00
丁寧な奴だな

984 :デフォルトの名無しさん:2009/07/22(水) 01:25:29
上下左右に±1dotずつずらして4重打したあと中心を元のフォントでくりぬく

985 :デフォルトの名無しさん:2009/07/22(水) 01:37:34
ぼかして切り上げ

986 :デフォルトの名無しさん:2009/07/22(水) 10:44:13
膨張してxor

987 :デフォルトの名無しさん:2009/07/22(水) 11:42:41
>>984
その手法だと、縁色と文字色の間がガタガタになる。

988 :デフォルトの名無しさん:2009/07/22(水) 13:11:33
gimp OpenCVなどの便利画像処理ソフトリンク集
どこかにないでしょうか

989 :デフォルトの名無しさん:2009/07/22(水) 14:49:17
プラグインを作りたいの?

223 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)