[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 04/25 19:15 / Filesize : 137 KB / Number-of Response : 563
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

画像処理 その13



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

前スレ
画像処理 その12
hibari.2ch.net/test/read.cgi/tech/1247100724/

53 名前:デフォルトの名無しさん mailto:sage [2011/06/22(水) 21:17:33.34 ]
>>52
●持ってないんで過去ログみれない
鳥脇先生やimage MLで流れたという手法の文献ってわかりますか?
てか4Kで20msってバカ速じゃないですか。文献ありますか?それとも独自だから教えられない?

54 名前:デフォルトの名無しさん mailto:sage [2011/06/22(水) 21:45:07.15 ]
ここって医用画像やってる人多い⁈

55 名前:デフォルトの名無しさん mailto:sage [2011/06/22(水) 22:10:05.71 ]
少ない

56 名前:デフォルトの名無しさん mailto:sage [2011/06/23(木) 00:55:40.36 ]
いよぅ

57 名前:デフォルトの名無しさん mailto:sage [2011/06/23(木) 02:44:01.94 ]
鳥脇先生の名が挙がっていたから多いのかと思ったが違ったみたいね

58 名前:デフォルトの名無しさん mailto:sage [2011/06/23(木) 09:15:58.26 ]
>>53
image-ML
www.eml.hiroshima-u.ac.jp/member/staff/tamaki/memo/index.php?image%20ML
1998/08/17〜1998/08/20の投稿

2パス
鳥脇純一郎: "画像理解のためのディジタル画像処理(II)", 昭晃堂 (1998),
C言語ソースは岡田稔@名古屋大学(当時)が作成

1パス
論文は1987 年 1 月の信学会の PRU (PRMU ではない :) 。題名等は不明
C言語ソースは高橋裕信@電総研(当時、電総研は今の産総研)によるもの

ソースはML過去ログがあればそれを見るか投稿者本人に問い合わせてくれ

59 名前:デフォルトの名無しさん [2011/06/23(木) 11:19:36.31 ]
>>17
レントゲン画像でブラインドデコンボリューションが有用な局面って
どんな状況を想定されてますか ? 散乱は被写体の内部構造に依存するとして
事前撮影した画像から状況を読み取ってモデルを変更するとかですか ?

60 名前:デフォルトの名無しさん [2011/06/23(木) 11:22:06.50 ]
測定計画は「最初が肝心」なので取得された画像を後からどうこうするより
透視像をリアルタイム解析してウェッジフィルタを自動挿入するほうが
被曝低減と画質改善を同時にできるから有用じゃないかとおもったり...

61 名前:デフォルトの名無しさん mailto:sage [2011/06/23(木) 13:03:57.47 ]
>>59
散乱を推定して修正することで、今まで見えなかった物が見えたりしないかなと思っています。
被爆を抑える為に、他の光を使用したり。



62 名前:デフォルトの名無しさん [2011/06/23(木) 18:59:09.09 ]
>>61
ちょっとググってみると20年以上前の放射線技術学会の発表記録で
SPECTの散乱線除去を検討したものがありました
盲点でしたけどSPECT関係は昔から理工学的な検討が尽くされているので
その方面のいろいろな論文は古くても参考になるかもしれません

実装するときの指標としては通常行われるグリッドを通した画像と
同じ程度に(散乱推定で)みえればいいのでは? と個人的にはおもったり。

63 名前:デフォルトの名無しさん mailto:sage [2011/06/24(金) 14:43:56.35 ]
どこかのページで、霧の中を車で走行しながら撮影した動画があったけど、
それを画像処理したら建物や電柱がはっきり見えていたのには驚いた

64 名前:デフォルトの名無しさん mailto:sage [2011/06/24(金) 15:25:50.88 ]
どのくらい?

65 名前:デフォルトの名無しさん mailto:sage [2011/06/24(金) 15:31:10.10 ]
霧で目の前や道路もほとんど見えない状態だったのに、
周りの建物や電柱が認識できるレベルにまで復元されていた
霧の中なんて散乱係数一定じゃないのに、どーやったらこんなの計算出来るのかと

前に適当にググって見つけたんだけど、今探しても見付からねぇ・・・

66 名前:デフォルトの名無しさん mailto:sage [2011/06/24(金) 20:16:57.47 ]
原発事故収拾部隊に召喚したい

67 名前:デフォルトの名無しさん mailto:sage [2011/06/25(土) 00:10:18.68 ]
20cm四方の段ボールの切れ端5×4の20個並ぶとして、それぞれに
直径3,4センチの真っ白の円をプリントし、カメラの画像でしるしを認識したい。
2値化する際にしきい値を動的に決めたいんですが、どんな決め方が適してると思いますか?

また、ラべリングの中に円形度を調べられるっぽいのを本で見たのですが、
実際にあったら、円形度で円を認識したいと思いますが有用だと思われますか?

68 名前:デフォルトの名無しさん mailto:sage [2011/06/27(月) 09:20:41.53 ]
輝度分布でヒストグラム作って、白部分とダンボール部分の差を閾値にすれば良いんじゃね?
円を認識出来るのは影次第だから、何とも言えないところがある
円用に照明環境も調整出来る施設なら良いけど、ただの施設にカメラ置くだけじゃ多分ダメぽ

69 名前:デフォルトの名無しさん mailto:sage [2011/06/27(月) 09:33:58.44 ]
>>67
適応的2値化 とかいうやつでどうか? だいたい↓のような感じだったかと思う.

画像がグレースケールだとして,
まずそれに適当なフィルタサイズでガウシアンフィルタでも掛けたぼかし画像を用意する.
フィルタサイズは画像次第だが,画像幅の1/3とか1/4とか1/10とか適当にやる.
で,ぼかし画像輝度値にこれまた適当な係数(0.0〜1.0.例えば0.5とか)を掛けた結果を各画素位置での閾値とする.

やること簡単だし,ある程度は陰影に対処できる.

70 名前:デフォルトの名無しさん mailto:sage [2011/06/28(火) 09:15:41.46 ]
透視投影変換の原理が良くわかりません。
自分でもググってみたのですがイマイチピンとこなくて・・・orz

opencv.jp/sample/sampling_and_geometricaltransforms.html
↑この下から2つなんですけど、入力4点と出力4点を指定して変換してるというのはわかるのですが、

GetPerspectiveTransform
WarpPerspective

の2つの関数の内部でどんな処理が行われているのか、教えていただけないでしょうか?

71 名前:デフォルトの名無しさん mailto:sage [2011/06/29(水) 01:14:35.85 ]
2つの関数のリファレンス見れば原理が書いてあんだろハゲ



72 名前:デフォルトの名無しさん mailto:sage [2011/06/29(水) 10:24:24.57 ]
ハ、ハゲてなんか、い、いねーぞ、な、な、なに言ってんだよ、ハハ

73 名前:デフォルトの名無しさん mailto:sage [2011/06/29(水) 10:43:24.10 ]
ズレてますよ

74 名前:デフォルトの名無しさん mailto:sage [2011/06/29(水) 10:56:06.01 ]
>70
とりあえず、ソースをあたってみた
opencv-1.0.0.tar.gz
cv/src/cvimgwarp.cpp:1471-1540

ノーテーションが若干違うが
okwave.jp/qa/q3685711.html
の下側の解答と同じことをしている

75 名前:デフォルトの名無しさん mailto:sage [2011/06/29(水) 23:07:03.39 ]
>>70
3次元ベクトルと四元数、もしくは行列で行けるんじゃね。

そのサイトのピンクの四角形を四元数で行う場合。
1.元の四角形の4個の頂点座標を既に持っているものとする。
2.軸ベクトルを用意する。
 (ピンクの四角でいうと、底辺の部分が軸になってる。底辺の2つの頂点同士を引き算することで得られる)
 (軸の方向は、右から左だろうが左向から右だろうが角度のとり方が変わるだけでどっちでもいい)
3.回転対象のベクトルを作る
 (ピンクの四角でいうと、上辺の頂点座標から底辺の頂点座標を引く事で得られる)
4.回転対象ベクトルと、軸ベクトルを四元数にかける
 (そこで得られたベクトルで、底辺の頂点座標を移動した座標を作る)

以上で完了。
画像に適用する場合は、各頂点を、画像の各ピクセルに見立てればいい。
移動後のピクセル座標が重複した場合は平均化など別途ぼかしの技術を調べて調整する。


76 名前:デフォルトの名無しさん mailto:sage [2011/06/30(木) 17:19:27.50 ]
2次元画像の「拡大縮小だけ」してくれるライブラリないですか?
拡大縮小だけできれば十分な俺にはフルスペックの画像処理ライブラリは大きすぎる。



77 名前:デフォルトの名無しさん mailto:sage [2011/06/30(木) 17:32:58.45 ]
アホか

78 名前:デフォルトの名無しさん mailto:sage [2011/06/30(木) 17:44:28.97 ]
そのくらい自分で作れ

79 名前:76 mailto:sage [2011/06/30(木) 18:02:31.10 ]
最低Bicubic法かできればLanczos法がいいです。
作れるぐらいなら聞きません。

80 名前:デフォルトの名無しさん mailto:sage [2011/06/30(木) 18:07:47.34 ]
人に聞けば答えを持ってきてくれると思ったら大間違いだ

81 名前:デフォルトの名無しさん mailto:sage [2011/06/30(木) 18:11:54.31 ]
拡大縮小なんて、ライブラリ以前に、素で用意されてるがな(´・ω・`)



82 名前:76 mailto:sage [2011/06/30(木) 18:24:10.83 ]
そんなこと言わずに本当に困っているのでコピってくればすぐ使えるC++のLanczos法のソースを教えてください。

83 名前:デフォルトの名無しさん mailto:sage [2011/06/30(木) 18:38:39.80 ]
クグれガス

84 名前:デフォルトの名無しさん mailto:sage [2011/06/30(木) 18:45:47.24 ]
あなたのためだから

85 名前:76 mailto:sage [2011/06/30(木) 18:52:48.14 ]
もう2時間はぐぐったけど見つからないの><

86 名前:デフォルトの名無しさん mailto:sage [2011/06/30(木) 19:01:56.57 ]
じゃあねえよ、シネ

87 名前:デフォルトの名無しさん mailto:sage [2011/06/30(木) 19:15:44.87 ]
Googleで見つからない時は、Yahoo!で探してみるといいよ。

88 名前:デフォルトの名無しさん mailto:sage [2011/06/30(木) 19:23:13.59 ]

    // ̄~`i ゝ                    `l |
    / /        ,______   ,_____    ________  | |  ____ TM
   | |     ___ // ̄ヽヽ // ̄ヽヽ (( ̄))   | | // ̄_>>
   \ヽ、   |l | |    | | | |    | |  ``( (.  .| | | | ~~
      `、二===-'  ` ===' '  ` ===' '  // ̄ヽヽ |__ゝ ヽ二=''
                         ヽヽ___//   日本
         ______________  __
         |Lanczos C言語           .| |検索|←をクリック!!
          ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄   ̄ ̄
         ◎ウェブ全体  〇日本語のページ

89 名前:デフォルトの名無しさん mailto:sage [2011/06/30(木) 19:44:51.65 ]
           YES → 【見つかった?】 ─ YES → じゃあ聞くな死ね
         /                  \
【探した?】                        NO → それより僕と踊りませんか?
         \
            NO → 死ね

90 名前:デフォルトの名無しさん mailto:sage [2011/07/01(金) 00:27:31.76 ]
課題か何かか?
自力でやれよ

91 名前:67 mailto:sage [2011/07/01(金) 06:00:00.97 ]
自分なりに考えてキトラーのしきい値判別法にきめて、境界線追跡で円周長も求める、円形度みるようにしました。
これをペイントで作った理想画像で上手くいったので、実写でやりました。
甘くないんですね。
輝度しきい値が、78と低くく丸以外も検出しまくりです。ためしにしきい値高くしても上手くいきませんでした。影で黒にふられたマークもありました。
しきい値判別法考えなおします。
あと、なんちゃらフィルタにかけないと影の影響でちゃんですね。



92 名前:デフォルトの名無しさん mailto:sage [2011/07/01(金) 09:20:11.70 ]
>>67
>>68
予想通り

93 名前:69 mailto:sage [2011/07/01(金) 10:04:17.96 ]
>>91
実際の画像がどんななのか不明だが 
画像全体に対して単一の閾値を決めようとしているの?
撮影対象面に無視できないほどの明暗があるんだったら
単一閾値でうまくいかないのはやる前にわかりそうなものだが.

とりあえずいまやっている処理内容はそのままで
その画像から一部分だけ切り出してきた画像に
やってみたらどうなるかとかやってみたら?

94 名前:デフォルトの名無しさん mailto:sage [2011/07/01(金) 11:18:51.85 ]
>>91
まずは機械屋や電気屋に、出来る限り均等な条件で計測出来るように設計させろ
何も考えずに適当に作らせて「ライン作ったから後はよろ^^」で終わらせると、
設置する環境毎に調整しないといけなくなる上に、誤検出が多くて使い物にならなくなる
影ってのは環境次第では時間帯によっても変わるし、近くを人が通ったりするだけで影響受けたりするからなー
まー調整料取れるから、会社としては良いかもしれんが

最終的には画像処理次第だが、処理するレベルを下げる努力をしたほうが良い機械になるぞ

95 名前:天使 ◆uL5esZLBSE mailto:sage [2011/07/03(日) 10:45:56.58 ]
2011年、Ruby,Perl,PHP,Pythonって並べたときにさ
ここで、Ruby以外を選ぶ奴ってマジでなんなんだろうな
土方が何をほざいて

96 名前:デフォルトの名無しさん mailto:sage [2011/07/03(日) 11:05:32.02 ]
天使ちゃんマジ天使
PHPと同じところに並べてほしくないな

97 名前:デフォルトの名無しさん mailto:sage [2011/07/03(日) 14:11:18.61 ]
Rubyって糞遅いじゃん

98 名前:デフォルトの名無しさん mailto:sage [2011/07/04(月) 10:16:36.70 ]
>>95
>2011年、Ruby,Perl,PHP,Pythonって並べたときにさ
画像処理で、その辺のが並ぶことがあるのか疑問だが・・・

99 名前:デフォルトの名無しさん mailto:sage [2011/07/04(月) 10:30:44.27 ]
コピペマルチしまくってるクソコテだから反応するな

100 名前:91 mailto:sage [2011/07/04(月) 18:15:46.99 ]
部分切り出して、やったら検出できました。なんで、部分画像分割とやらでいくつか領域わけてやります。
だけど、段ボール背景だと閾値がひくくなっちゃうんだけど、閾値が高めにでる閾値決定法ないすか。
現状、灰色の背景で検出できてるがフラッシュたいた画像は検出できんわ。
仕様うんねんは実現性検証だんかいなんでなんも決まってません。今はフラッシュたいたやつ検出できるまでいきたい…


101 名前: 忍法帖【Lv=17,xxxPT】 mailto:sage [2011/07/04(月) 19:03:42.55 ]
×うんねん
○うんぬん
◎云々



102 名前:デフォルトの名無しさん mailto:sage [2011/07/04(月) 19:06:56.45 ]
      ,. -─- 、
      /   ___丶
   ∠. /´ ,.- 、r‐、`|
      l |  | ー | lー | |
     l. |@`ー' oー' l
   (\ヽヽ 〜〜〜〜ゝ にんにん
   \.ゞ,>nn‐r=<
    ( / `^^´`ヽハ)
     /`! ー--=≦-‐1

103 名前:デフォルトの名無しさん mailto:sage [2011/07/04(月) 21:34:25.05 ]
YUV4:4:4の動画を読み込んで4:2:2に変換したいのですが、CbCrの出力
を水平1つ飛ばしにするだけでいいのでしょうか?

//PH,PWは縦と横のサイズ
/*読み込み*/
for(y=0;y<PH;y++){
for(x=0;x<PW;x++){
Y1[y][x]=(unsigned char) fgetc(fp_in1);
Cb1[y][x]=(unsigned char) fgetc(fp_in1);
Cr1[y][x]=(unsigned char) fgetc(fp_in1);
}
}
/*書き出し*/
for(y=0;y<PH;y++){
for(x=0;x<PW;x++){
fputc((unsigned char) Y1[y][x], fp_out);
}
}
for(y=0;y<PH;y++){
for(x=0;x<PW;x+=2){
fputc((unsigned char) Cb1[y][x], fp_out);
fputc((unsigned char) Cr1[y][x], fp_out);
}
}

104 名前:デフォルトの名無しさん mailto:sage [2011/07/04(月) 21:52:35.01 ]
おまえがいいとおもうならばそれでいい

105 名前:デフォルトの名無しさん mailto:sage [2011/07/05(火) 09:34:47.49 ]
>>100
実際に映るダンボールと白枠の画像が無いとわからんが、
俺はライン状を流れる物を検出してると思ってるから処理時間も考えるとy=ax+b程度の係数でダンボールと白枠を分離させろとしか言えん
あとはカラーにしてサブピクセルの比率から判別するとかな

フラッシュで真っ白になったら検出出来ないのは当たり前
もっと安定した光源使え
なんでそんな機械仕様なんだと上を問い詰めろ

106 名前:デフォルトの名無しさん [2011/07/05(火) 12:40:46.17 ]
フラッシュはちゃんとバウンスさせてる?
テカりやすいもの写すのに点光源とかダメだよ

107 名前:デフォルトの名無しさん [2011/07/05(火) 12:41:37.13 ]
いや逆に点光源のほうがうまく反射してステルスになるのか??

108 名前:デフォルトの名無しさん mailto:sage [2011/07/05(火) 13:27:03.51 ]
機械屋<フラッシュで強い光を当てれば、他の照明からの影の影響を受けなくなる

とか言ってるんだろうか

109 名前:デフォルトの名無しさん [2011/07/05(火) 19:33:03.08 ]
いや、助かりますわ。最近異業種から電気系に転職したんでなんの知識もないんす。
とりあえず、フラッシュたいたような画像の認識は常識的にないと。
ついでになんですが、カウントした値をLCDだか?別のディスプレイに表示させたいんですが、マイコンかCPUボード使った組み込みになるんですか?


110 名前:デフォルトの名無しさん mailto:sage [2011/07/05(火) 21:10:39.68 ]
PCからならUSB接続のサブモニタやデュアルディスプレイのグラボ、S端子接続のTVなどでも出せるし
キャラクタLCDなら秋月あたりにセットで売ってるんじゃない?

111 名前:デフォルトの名無しさん mailto:sage [2011/07/06(水) 09:34:16.70 ]
>フラッシュたいた画像
がありかなしかはどんな絵になってるのかわからないことには何とも言えん.
画像見せてもらえないなら適切なアドバイスをもらうのはなかなか難しいと思うよ.

あと,パターン検出方法にしても
撮影方法が固定
(姿勢や配置位置等は固定なのか,常に特定のカメラを使用するのか 等)
されているのならその状況に特化した工夫の余地もあるだろう.
例えば,↑の()内が全て固定だとすれば
画像のどこらへんにどの程度のサイズでパターンが存在するかまで
既知であるハズなので,その部分領域だけを相手にすればよく
パターン検出難易度はかなり下がるわけで
フラッシュたこうが,局所的な領域内での処理は十分可能かもしれないわけだし.



112 名前:デフォルトの名無しさん mailto:sage [2011/07/06(水) 09:48:26.67 ]
>>109
ダンボールのライン検出を作ってるのは想像出来るんだが、情報が少なすぎてこっちも妄想でアドバイスしてるだけだから盲信するなよ
フラッシュも撮像に適切な光であれば問題無いが、光量が安定しなかったりハレーションするようなのはNG
個人的には多灯LEDを常時点灯させてるのが安定してるかなと

カウントした値を適当なLCDとかに表示するのは、実際に作業する人間がどの位置でどのように判別するか次第
基本的には組み込み系キットを使うが、大きく表示したいのなら別PCってパターンもある
知識無いならPICとかの本を読むとか、Interfaceのバックナンバーに練習キット付いてるからそれ見て覚えれ

113 名前:デフォルトの名無しさん mailto:sage [2011/07/06(水) 13:44:44.01 ]
質問です。

ImageMagick(Windows版)についてです。
指定したフォントで斜体の文字列を描画したいのですが、
うまくいきません。できないのでしょうか。

convert -size 100x100 xc:none -fill #303030 -pointsize 20 -style italic -draw "text 0,50 Test" Test.png
このようにすると斜体の「Test」が描画されますが、

convert -size 100x100 xc:none -fill #303030 -pointsize 20 -font "C:\WINDOWS\Fonts\MSMINCHO.TTC" -style italic -draw "text 0,50 Test" Test.png
フォントを指定すると標準の文字が描画されてしまいます。
どのようにすればよいでしょうか。

114 名前:デフォルトの名無しさん mailto:sage [2011/07/08(金) 11:11:09.50 ]
>>63-65
ladon.ist.hokudai.ac.jp/research-contentstop/image-restoration

霧の中を運転している動画、やっと見付かった
影が見えているから、この程度なら何とかなるかな・・・?

115 名前:76 mailto:sage [2011/07/08(金) 11:31:47.02 ]
Lanczosの拡大縮小実装した。
チンカスゴミ野郎どもが情報を出し渋るから苦労した。
本当に役に立たないカスニートどもが死ねばいいと思う。


116 名前:デフォルトの名無しさん mailto:sage [2011/07/08(金) 11:59:31.56 ]
Lanczosは当然3だろうな?
2で満足するなよ

117 名前:デフォルトの名無しさん mailto:sage [2011/07/08(金) 20:26:59.28 ]
やっぱここはレベル低いな。
Lanczos4で実装したに決まってるだろ。

118 名前:76 mailto:sage [2011/07/09(土) 00:30:49.38 ]
そんなわけないだろ。バカか
ちゃんと引数で2か3を選べるようになっている。
一流のプログラマーならみなそうする。


119 名前:デフォルトの名無しさん mailto:sage [2011/07/09(土) 01:32:43.56 ]
よくやった テスト画像で精度を試してみろ
image-d.isp.jp/commentary/czp/czp512.bmp

120 名前:デフォルトの名無しさん mailto:sage [2011/07/09(土) 09:29:54.92 ]
1/2 x 1/2 に縮小
www.picamatic.com/show/2011/07/09/04/27/7679229_256x256.png
外周部がおかしいのと小さい円が多数出現しているがキニシナイ。

121 名前:デフォルトの名無しさん mailto:sage [2011/07/10(日) 00:22:57.94 ]
ふむ
外周の濃い部分は比較的正確だが
内側の灰色が薄い部分はニアレストネイバーに近い出力になってると思われる



122 名前:デフォルトの名無しさん mailto:sage [2011/07/11(月) 09:14:05.48 ]
>>119
てか、なんでペイント画面のキャプチャーなんだよw
軽い嫌がらせとしか思えんwww

123 名前:デフォルトの名無しさん mailto:sage [2011/07/12(火) 11:59:43.20 ]
物凄くくだらない質問でスマン
ピクセルの正しいスペルがpixelだと言うことを今初めて知ったんだが、
pixcelでもググると沢山出てくるのは何か違いがあるの?
みんな俺と同じように間違えているだけ?

124 名前:デフォルトの名無しさん mailto:sage [2011/07/12(火) 12:50:14.93 ]
そもそも造語なんじゃなかったっけ?
picture cell
みたいな

125 名前:デフォルトの名無しさん mailto:sage [2011/07/12(火) 14:19:59.01 ]
ピクセルは、一般的に picture element (picture=写真・画像の意、element=要素、PEL)からの造語、またはpicture cell (picture=写真・画像、cell=細胞・記憶素子)からの造語とされる。
ja.wikipedia.org/wiki/%E3%83%94%E3%82%AF%E3%82%BB%E3%83%AB

後者の略し方を間違えて覚えてたのかなー。
何かの本でもPixcelって書いてたような気がする。
ありがとうございました。

126 名前:デフォルトの名無しさん mailto:sage [2011/07/12(火) 16:19:06.32 ]
>>74
返事が遅くなってすいません!
サイトを提示していただいたおかげで変換方法は理解できました。
自分でもopencvのソースをあたってみて確認もしました。
ありがとうございました!

ただ、そこから先に理解を深めようとすると躓いてしまいます・・・。
何故そのような式になるのかという原理を知りたいのですが、いろいろ書籍をあたってもピンとくる解説がありません。
透視変換は三次元から二次元に投影している、という曖昧な理解までは到達しました。

(x,y) = ( (A*X+B*Y+C)/(G*X+H*Y+1) , (D*X+E*Y+F)/(G*X+H*Y+1) )

という変換式にどうすれば辿りつけるのか・・・
図解や解説、サイト、または書籍など、なんでも構いませんので是非教えてください!

127 名前:デフォルトの名無しさん mailto:sage [2011/07/12(火) 22:52:17.56 ]
↓を読んで分からなければ諦めろ
www.mlab.ice.uec.ac.jp/~ej-sib/vision/vision_projective.html

128 名前:109 mailto:sage [2011/07/12(火) 23:01:45.03 ]
画像アップしました。画像に対してアドバイスお願いします。

freedeai.180r.com/up/src/up4683.jpg
freedeai.180r.com/up/src/up4684.jpg
ほんとはbmpファイルです。

4683の画像は、6個ちゃんと検出して、他は除外できてます。
ただ、タイルの部分が2値化したときに、円と同じ白になってしまってるの
で、ラべリングやら輪郭追跡の処理対象になっているので、処理に時間がか
かってます。タイル部分を2値化時点で黒にしたいです。現在は、円形度と
面積で判定して何とか検出してます。
4684は現状のアルゴリズムだと、検出できません。現在4分割してしきい値
を算出していますが、左上の領域のしきい値が低く出て、軒並み2値化時に
白くなってしまってます。円は5個しか検出できません。
理想は両方の課題が解決できればいいのですが・・

129 名前:デフォルトの名無しさん mailto:sage [2011/07/13(水) 01:46:29.11 ]
CPUの気持ちになって考えろ

130 名前:デフォルトの名無しさん mailto:sage [2011/07/13(水) 04:34:33.76 ]
>126
ちゃんと読んでないけど>127の射影変換(32-33)のところかな
誤字が多いことで有名な『詳解 画像処理プログラミング』p.232-234にちゃっかり載っていてわろた

131 名前:デフォルトの名無しさん mailto:sage [2011/07/13(水) 05:18:03.43 ]
>128
プログラムを書く前にGimpなりPhotoShopなりでシミュレートしたらどうだろうか
実際どういう処理順かしらないけど

原画像 -> (ノイズ除去) -> (コントラスト補正) -> 2値化 -> ラベリング -> 面積求めて円形度判定
2値化のところは、白丸(輝度が高い)であることがわかっているのなら画像内の最大輝度値から20, 30を引いたあたりを閾値にするとか

原画像 -> (ノイズ除去) -> (コントラスト補正) -> エッジ抽出 -> 2値化 -> ハフ変換
とか思ったのはここだけの話、とか言ってみるテスト



132 名前:デフォルトの名無しさん mailto:sage [2011/07/13(水) 10:03:29.96 ]
>>128
現状のアルゴリズムがわからんが
@最初にRGBの比率見て、差があるのは全部黒にする(タイルの部分が白になるのはこれで解決するはず)
A画面を細かく分割(16x16とか)してヒストグラム作ってから差を見て二値化
B画面を繋ぎ合せて円形のみ抽出
だけでいけそうな気がする

133 名前:69 mailto:sage [2011/07/13(水) 10:08:08.93 ]
>>128
背景が固定で無い環境を考えているなら
全ての背景を除去できる2値化閾値を常に算出する処理パラメタなんて決められないだろうから
2値化でタイル部分を黒にしたい とか考えるだけ無駄だと思う.
(対話的にパラメタを調整していいのなら別だが)
あなたが画像を撮影する環境変動の範囲内で
検出対象たる白丸をその形で残せる閾値決定手法とその処理パラメタ
を用意できたら,後は以降の判別処理の精度を高める方に注力すべきと思う.

円の検出は>>131が言うように
2値画像をErosionした画像とDilationした画像の差分絶対値画像あたりをエッジ点として
ハフ変換でもいいかも?

134 名前:デフォルトの名無しさん mailto:sage [2011/07/13(水) 10:10:46.14 ]
あと,部分画像でやってみろと言ったのは何が起こっているかを
考察してみろというニュアンスが大きかったわけで
画像内での白丸の位置に対する前提知識とかを使わない状態で
単純に画像4分割とかしたら,
分割個所で閾値が不連続になることの副作用の方が悩ましい結果になりそう.
例えば>>69 に書いたような 閾値が滑らかに変化する方法を勧める.
提示画像の背景なら,タイル表面がざらついているから
良い閾値で2値化すると細かな白領域が無数に出る結果になると思うけど
(円の画像上面積に関する知識は使ってもいいみたいだから)
そんなのは輪郭追跡とかに入る前にモルフォロジ演算あたりでほとんどつぶせるはず.

135 名前:デフォルトの名無しさん mailto:sage [2011/07/13(水) 18:26:19.40 ]
ImageJの関数を解説しているサイトってありませんでしょうか?
本家サイトのは1行だけの説明になってない説明しか無いので、
rsbweb.nih.gov/ij/developer/source/index.html
でソース見ながら解析してます。

ImageProcessorとImagePlusとFHTの違いとか、あんまり理解しないままやってますが。
てか、なんで画像フォーマットが複数あるんだろうと頭がパニクってます。

136 名前:109 mailto:sage [2011/07/15(金) 01:06:03.20 ]
いろいろもらったけど、正直理解できない部分があるので・・・
停滞してます。

ぼかし画像輝度値に1未満の係数かけたらしきい値低くなっちゃうじゃんとか。
でもフィルタは陰影にはいいっぽいすね。
最大輝度値から固定値ひくのうまくいかないす。
そこで、グレースケールのヒストグラムの極大値が大体、2つか3つあるんだけど、
巷の算出法だと真ん中の山近辺がしきい値になってうまくいってない。
ヒストグラムのいくつかある極大値の濃度値がわかるアルゴリズムってあります?
一番濃度たかいのと2番目の真ん中くらいにしきい値おきたい。
あとハフ変換て声もあるけど、なんか処理が大変ぽいのとうまくいかない場合が
あるみたいなのでやめたんだけど、ラべリング、輪郭よりいいのかな。
分割も確かになめらかなのがいいっすね。でもそのときのアルゴリズムが今のところ理解できないっす。
あと、分割した領域にモノがなかった時の処理とかどうしようとか。
ぐぐってっるけど、どうにもすすんでない・・・

137 名前:デフォルトの名無しさん mailto:sage [2011/07/15(金) 09:26:48.62 ]
おそらく今>>109

画像を複数の小領域に切り分けて
個々の領域毎にその領域内の画素群の画素値に基づいて閾値を求め,
その閾値はその領域内の全ての画素で共用される

という形を取ってるんだと思うけど,これを

ある画素に着目したときに,この画素を白とするか黒とするか
を決める閾値は
その画素を中心とした小領域内の画素群の画素値に基づいて求める

とすれば閾値は
(閾値計算方法としてぼかし画像を使う例を挙げたが
 別に平均だろうが,領域内のヒストグラムを使おうが)
滑らかに変化するでしょ?という話だよ.

138 名前:デフォルトの名無しさん mailto:sage [2011/07/15(金) 09:57:45.02 ]
小領域の大きさは画像に合わせて決める必要があるだろうけど
後段の判定で白丸の面積の情報を使えるということはある程度
写る大きさは決まっているのだろうから,
複数の画像で試してよさそうなサイズに決めてしまえばいいかと.
(提示画像なら60〜150pixel四方程度とか??)

領域内に白丸が無い場合 については
その中に偶然 丸くて,周囲より明るくて,白丸と同じくらいの 領域
が存在しているときしか問題にならないのでは?
(とは言え,背景が全く自由な場合だと
 これが結構な頻度で起こるから困るんだけども)

領域サイズと白丸のサイズがだいだい決まってくれば
ヒストグラムから閾値決める方法としては
Pタイル法 とか使えたりしないかな?

139 名前:デフォルトの名無しさん mailto:sage [2011/07/15(金) 10:16:19.71 ]
>>136
基本、ヒストグラム等を滑らかにするのはガウシアンとか使うけど、
ぶっちゃけ山を取り出すだけなら前後で平均値を取るだけでいい
一発で滑らかにならなかったら、数回繰り返しても良いし
平均取る範囲は画素数(256諧調だとは思うが)やカメラの性能にもよるから自分で調節な

分割した領域で何も無かった場合、閾値で分けるか、黒にしちゃっても良い
円形抽出してるなら、円形の中に何があっても関係無いし

140 名前:デフォルトの名無しさん mailto:sage [2011/07/22(金) 13:16:36.48 ]
使用しているosはwindowsで
libpngを使って16bitグレースケール画像を作成すると
表示したときにヒストグラムがおかしくなり
表示が乱れる原因って分かりますか?

141 名前:デフォルトの名無しさん mailto:sage [2011/07/22(金) 14:36:14.25 ]
ライブラリの使い方が間違ってるんだろ



142 名前: 忍法帖【Lv=31,xxxPT】 mailto:sage [2011/07/22(金) 17:17:31.30 ]
まさかと思うが、上下バイトが反転してたりして。

143 名前:デフォルトの名無しさん mailto:sage [2011/07/22(金) 17:41:46.32 ]
16bitグレースケールって地味に特殊な使い方だな
8bitなら大丈夫なのか?

144 名前:デフォルトの名無しさん mailto:sage [2011/07/22(金) 19:59:17.14 ]
>>141-143
画素値が最大255のデータを16bitグレースケールで保存した場合正常に表示されるのですが
ある程度高いと表示がおかしくなるみたいです
ライブラリについてそこまで詳しく調べたわけではないので調べなおしてみます

145 名前:デフォルトの名無しさん mailto:sage [2011/07/22(金) 20:15:32.50 ]
>142が的を射た悪寒。

146 名前:デフォルトの名無しさん mailto:sage [2011/07/22(金) 20:26:02.59 ]
>>145
エンディアンが違うという解釈でいいのでしょうか?
と思って調べていたらどうやら当たりっぽいです
ちょっと調べなおしてみます
ありがとうございました

147 名前:デフォルトの名無しさん mailto:sage [2011/07/24(日) 12:48:34.94 ]
めんどくさかったので
今までgimpで画像処理プログラムしてきたんですが
OpenCVに変えると劇的に速度が速くなったり
他にもいいことあるんですか?

148 名前:デフォルトの名無しさん mailto:sage [2011/07/24(日) 13:16:18.89 ]
いいこともあれば悪いこともある。それが人生というものぢゃ。

149 名前:デフォルトの名無しさん mailto:sage [2011/07/24(日) 14:53:41.68 ]
今日はついてないな

150 名前:デフォルトの名無しさん mailto:sage [2011/07/25(月) 02:25:18.17 ]
gimp便利なのに
あまり使ってるのみかけないのは
きっと他にもっといいソフトがあるのだと思ってた
しかしそれらしいものがない
schemeやpythonで画像処理スクリプト組めるのってPILぐらいしかみつからない

151 名前:デフォルトの名無しさん mailto:sage [2011/07/25(月) 02:29:04.81 ]
スクリプトで画像処理っていう需要がない



152 名前:デフォルトの名無しさん mailto:sage [2011/07/25(月) 04:07:27.65 ]
unix系でスクリプトとかだとImageMagick使うんじゃん?

153 名前:デフォルトの名無しさん mailto:sage [2011/07/25(月) 04:17:39.11 ]
フィルターなんかでバイト配列を対象とした処理を書く時はスクリプト言語のメリットは無さそう
遅くなるだけ?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<137KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef