- 1 名前:デフォルトの名無しさん [2007/12/16(日) 08:03:02 ]
- 画像処理プログラミングについて質問、議論を行うスレッドです
・画像処理について素人同士で大激論 ・初学者の質問に対してやさしく(的を外れた)解答を与える ・その道の玄人も大歓迎 前スレ 画像処理 その9 pc11.2ch.net/test/read.cgi/tech/1183910525/
- 285 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 10:46:10 ]
- >>254
この種の問題は "shape from shading" と呼ばれる一大研究分野だよ。 ググればいっぱい論文が見つかると思う。
- 286 名前:254 mailto:sage [2008/01/29(火) 02:36:00 ]
- レスありがとうございます!
>>282 残念ながら撮る対象は限定されていないのです。 ソースはデジカメだったり航空写真とかだったりが多いのではないかと思います。 画像はめっさわかりやすいですね! それをデプスでレンダリングしていただけるとBのような画像になります。 >>285 ググッて見ました。 火星地表面とか宇宙とか・・・テラ壮大です。 でも多分これですね。 殆ど英文なのでさっぱりわかりませんが ちょっくらがんばって読んでみます。
- 287 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 10:05:16 ]
- >>285
オラも勉強になりました 「陰影からの形状復元」でググると色々出てきますな これは面白い…
- 288 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 11:17:33 ]
- d.hatena.ne.jp/niitsuma/20080107/1201322983
BIAS libの日本語解説がないみたいなので作りました
- 289 名前:デフォルトの名無しさん [2008/01/31(木) 15:44:39 ]
- RGB8各ビットのカラー画像を8ビットグレースケール画像に減色する方法って何がありますか?
- 290 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 16:44:07 ]
- 足し算と割り算でおっけ
- 291 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 16:45:27 ]
- ( R + G + B ) / 3
- 292 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 16:53:24 ]
- ttp://ofo.jp/osakana/cgtips/grayscale.phtml
- 293 名前:sage [2008/01/31(木) 17:32:57 ]
- >290
>291 >292 ありがとうございます。参考にしてみます。
- 294 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 17:34:12 ]
- sage間違えたw
- 295 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 04:28:18 ]
- gigazine.net/index.php?/news/comments/20080206_not_photos/
- 296 名前:デフォルトの名無しさん [2008/02/08(金) 18:41:40 ]
- おききしたいことがあります。非常に安価な(3〜4万くらい)な画像処理
ボード(ライブラリでとりあえず一連の画像処理が可能) を探しているのですが、ネット上で色々探したのですがみつかりません。 もしあったら教えていただけないでしょうか?よろしくお願いします。
- 297 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 18:51:12 ]
- 自分で作ったら?
- 298 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 20:13:55 ]
- >>296
FPGAは?
- 299 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 10:03:06 ]
- ハードはwebカメラとPC、ソフトは適当なライブラリやソフトでも探してきたら?
PCIボードまで付いてるような奴だと専用のドライバが必要だったりして困る 新しいOSになったときにドライバが提供される保証もないし
- 300 名前:デフォルトの名無しさん [2008/02/11(月) 22:02:36 ]
- 今、RGB値からグレイスケールに変換するプログラムを書いているんだけど、
image-d.isp.jp/commentary/color_cformula/index.html ここ見て書いてるんだけど RGB -> R'G'B'の変換が時間を食いすぎると思うんだけど これは仕方ないんでしょうか。 いろいろ検索してみるとRGB -> R'G'B'の変換ははしょっているものがほとんど(ですね R'G'B'はガンマ補正とのことですが
- 301 名前:デフォルトの名無しさん [2008/02/11(月) 22:04:01 ]
- ごめ、途中で送られた。
R'G'B'はガンマ補正とのことですがあるとないとではどのくらい変わりますでしょうか。 自分で感じ取られないならどっちも同じと言われそうですが。
- 302 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 22:15:31 ]
- まずは実際の画像を変換して見たら
- 303 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 22:39:54 ]
- >>300
たかだか8bitのRGBなら変換テーブルつくるだけでそこそこの速度出ると思うが。
- 304 名前:300 mailto:sage [2008/02/12(火) 00:26:02 ]
- >>302
>>303 Thank you. 実際の画像を変換してみても自分の目にはそれほど違いは見られませんでした。 まぁ、こんなもんかな。と思います。 ですが、しかし、RGB->R'G'B'の変換を除いてもそんなに速度は変わりませんでした。 .Net in C#で組んでいるのですがBitmap.(set|get)Pixelが遅いのかな ? これ以上はC#か.Net固有の問題になるとおもうので当該スレで聞きます。ありがとうございました。 # 変換テーブルと聞いて256 x 256 x 256 x 4 byteの変換テーブルを考えた俺涙目。 # この場合f(x) = x ^ 0.45のテーブルだけでいいんですね。
- 305 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 01:29:10 ]
- >>304
3*256じゃね? そんなに時間がかかるとも思えんが。
- 306 名前:デフォルトの名無しさん [2008/02/12(火) 03:21:26 ]
- 画像処理の技術はどういった業界で生かされるのでしょうか
- 307 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 03:36:59 ]
- いろんなの
- 308 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 07:55:35 ]
- >>304
おまえがRGBだと思っている値がすでにR'G'B'な気がしてならない。 通常使われている8ビット画像(sRGBやAdobeRGBとか)では、 各画素の値(0〜255)は線形輝度じゃなくてガンマ補正後の値だよ。
- 309 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 09:46:00 ]
- >>13は留年になったのだろうか
- 310 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 12:21:52 ]
- >Bitmap.(set|get)Pixelが遅いのかな ?
めちゃくちゃ遅い その遅さに比べたらRGB->Grayの演算なんて無視可能 バッファリングしろ
- 311 名前:300 mailto:sage [2008/02/14(木) 02:12:34 ]
- >>308
Thank you. そうだよね。いちいち変換が必要な形式で保管しておくのは非効率的だよね。 >>310 バッファリングって junki.lix.jp/csgr/002ColorDataAccess1.htm に乗ってることでいいのかな ? このとおりにやったら(unsafe使わずとも)めちゃくちゃ速くなってわろた。 おかげさまで満足な速度が得られました。 ありがとうございました。
- 312 名前:デフォルトの名無しさん [2008/02/15(金) 03:17:34 ]
- イメージベースドレンダリングに興味があるのですが、これって普通、何を使ってやるもんなんでしょうか?
C++とか? それともOpenGLとか? ご存じの方がいればぜひ教えて欲しいです。
- 313 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 04:06:58 ]
- 何でも良いよ。
- 314 名前:デフォルトの名無しさん [2008/02/15(金) 09:58:16 ]
- >>313
ありがとうございます。 OpenGLを使う場合、どのようにすればいいんでしょうか? 画像を2方向から貼り付けて、かぶってるところをブレンドするとか?
- 315 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 10:47:31 ]
- 輝度値のみの画像において、
別の縞模様が混在するとき、 縞模様別にグループ分けを行うにはどうすればいいでしょうか?
- 316 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 12:08:57 ]
- cgal
- 317 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 02:14:55 ]
- フーリエ変換の話・・・?
- 318 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:13:03 ]
- >>314
SIGGRAPHの論文でも読めばいろいろわかるよ
- 319 名前:デフォルトの名無しさん [2008/02/22(金) 02:35:37 ]
- エッジの抽出を行ってみたのですが、もと画像のエッジを強調したようにそれ
を適用したい場合どのような計算を行うのでしょうか? エッジの抽出はカラー画像をグレースケールに変換して、それをラプラシアン フィルタで行っております。エッジを抽出したエッジだけの画像があるのです が、これをもと画像をどのような計算をしたらエッジの強調ができるのかを知 りたいです。
- 320 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 02:58:44 ]
- >>319
エッジ+元画像でいいんじゃね
- 321 名前:319 mailto:sage [2008/02/22(金) 03:20:01 ]
- >>320
ありがとうございます。 私もそう思いやってみたのですが、ものすごい不自然 なできになりました。 やったこととしては、エッジの値を256階調のグレースケールで保存しているた め、これを足してしまうと各カラーが256を越えてしまうため、適当な値で (64)で割りました。 その値を、各カラーに足したのですがエッジに当たる部分が強調されるのでは なく、予期しない色になってしまいました。
- 322 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 03:22:42 ]
- >>321
単なるバグだな。 もうちょっと考えて作れ。
- 323 名前:319 mailto:sage [2008/02/22(金) 03:32:30 ]
- 考え方としてはあっているのでしょうか?
エッジのみを表示するとエッジが抽出できていることは確認できているので、 それ以降の処理としては値を足しているだけなので、簡単に確認できると思います。 注意深く確認してみます。
- 324 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 03:54:43 ]
- まぁそりゃー変な色になるだろうなぁ。
(0,10,20) + 230 = (230,240,250) とされたら大分かんじは違うもんな。 RGB チャネル別々にするとか、 HSV の V の部分にだけ適用するとか(HSI でもいいけど)、 そういうが必要になるんじゃない? それでも強調の表現として Intensity を高めるのがうまい表現なのか、 とか考える必要がありそうな気もする。 「エッジ辺りは赤っぽくして強調してみました」なんて表現もありうるんだろうし。 なにもぐぐらず書いているので、ぐぐったほうが早いかも。
- 325 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 10:05:47 ]
- エッジは足すんじゃなく元の画像から引け。
- 326 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 12:03:02 ]
- エッジ強調とかソフトとかのフィルタを書けたときに、その効果が
見やすい画像ってどんな画像だろう。
- 327 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 12:30:32 ]
- 横入り失礼。
おれも昔にエッジ抽出とか試したことあるんだけど、なかなかうまく行かなかった。 {{ 1 1 1} { 1 -8 1} { 1 1 1}} ってなフィルタを作って、それらを全部足して行ったら256越えちゃうの。 おれって阿呆なの? これをどうやったら256までの値にできるの?
- 328 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 12:59:39 ]
- つうか、こんな話は画像処理の基礎なんだから
本屋で立ち読みするなり、図書館で本を読むなりする 程度の努力はしようよ…
- 329 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 13:03:14 ]
- そんなこと言うなら、答えてやればいいのに
- 330 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 13:26:57 ]
- ソフトよりはエッヂの方が確かに難しいかもな
- 331 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 17:05:31 ]
- >>327
つ飽和演算
- 332 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 17:07:06 ]
- すまOTZ。
×>>327 ○>>321
- 333 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 18:26:19 ]
- 普通気付くでしょ、阿呆だよ
- 334 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 22:08:19 ]
- >>327
阿呆だなぁ。超えるのが普通だと思えないとはなぁ。 255 255 255 255 0 255 255 255 255 なら 255 * 8 の値になるだろ?超えるさ。
- 335 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 22:29:50 ]
- コーシー・シュワルツの不等式置いときますね
-|X||Y| ≦ X・Y ≦ |X||Y|
- 336 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 00:18:41 ]
- >>334
越えるからどういうふうにしたらいいか聞いてるんじゃないんでないか?
- 337 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 00:20:34 ]
- 適当に正規化すればいいんじゃないの?
- 338 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 00:35:21 ]
- うむ。そもそも画像ファイルとして表示しなければいけないというわけでもないしね。
どうしても画像ファイル的に表示したい場合 0-255 の範囲に正規化してやればいい
- 339 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 05:13:24 ]
- 内部は全部 double にして、出力時だけ正規化してる
>>326 Lenna みたいなテスト画像だと似たような処理例が見つかる確率が高いのでいいんじゃない? ttp://en.wikipedia.org/wiki/Lenna
- 340 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 17:55:11 ]
- >内部は全部 double にして
計算速度、遅そう。 あと、正規化するんなら、アンダーフローもお忘れずに
- 341 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 18:11:50 ]
- 内部はintとかでよくね?
- 342 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 18:31:16 ]
- 用途による。FFTする必要があるなら実数にしなきゃならんし。
- 343 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 18:55:48 ]
- doubleの演算はfloatより早いよ
- 344 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 18:56:37 ]
- というのはガセ
- 345 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 18:58:05 ]
- というのもガセ
- 346 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 19:03:22 ]
- 画像処理で整数型とかどんだけニッチな用途なんだよ
- 347 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 19:12:03 ]
- 画像処理で浮動小数点とかどんだけニッチな用途なんだよ
- 348 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 19:38:42 ]
- 画像処理とかどんだけニッチな用途なんだよ
- 349 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 00:20:25 ]
- 正規化って何?
- 350 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 00:40:54 ]
- エッジ強調のCのソース無いかな
- 351 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 02:35:31 ]
- エッヂの強調は誰もが通る道なのか
- 352 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 03:24:58 ]
- むっつりですまん
- 353 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 11:54:40 ]
- 漏れも通った
20年くらい前に
- 354 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 12:09:50 ]
- 20年前って8ドットで16中2色しか使えない時代じゃん。
- 355 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 12:24:25 ]
- ハードウェアの制約があっても計算式は制約ないんじゃね?
多くの技術がそういうもんだろ
- 356 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 12:30:21 ]
- そもそも縁の強調って通ったとか悩むほどのものなのか
- 357 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 13:32:34 ]
- >>354
TMS9918乙、つーかもう26年前だそれは。 つーかX68kももう20年超えてるのか…。
- 358 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 14:45:48 ]
- >>356
結構難しいでしょ。 抽出なら簡単だけど、抽出した箇所を厳選(エッジの輪郭抽出とか、ノイズ除去)して それをもと画像に適用しなくてはならん。 適用するのにもどの範囲を適用するか、適用の強度は、適用後のノイズ除去は。 とか色々な問題が出て来る。 ライブラリ使ったら簡単だし、Windowsでも簡単だけど。
- 359 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 17:27:35 ]
- 多分、ここのやつらはWindowsでしょ。
画像加工の難しさを知らない
- 360 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 18:08:04 ]
- 専用組み込み機器でやってるオレも見てますよ
- 361 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 21:00:14 ]
- アンシャープマスクじゃ駄目なのか?
- 362 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 22:10:24 ]
- >>359
OSはあんまり関係ないような むしろ用途
- 363 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 08:27:30 ]
- >>361
ソフトは足した後割るだけでいいでしょ
- 364 名前:319 mailto:sage [2008/02/25(月) 09:25:18 ]
- 色々と調べてみたのですが、わからなかったです…。
私がやっているのは、8近ほうの各値(RGB255値)にフィルターの値を積算してそれを全て和算しています。 その値が120よりおおきければ、各値(RGB255値)に2を足しています。 この値を変えてもエッジが強調されているようには見えません。 皆さんはどのような計算をなさっているのでしょうか?
- 365 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 09:29:19 ]
- 1%明るくしたくらいじゃ、強調にならないだろ。常考
- 366 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 09:42:53 ]
- ラプラシアンフィルタはエッジの抽出であって、強調はできないでしょ。
- 367 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 21:24:29 ]
- せっかく>>361が教えてくれているというのに皆ガン無視なのな
ラプラシアンでもやることは一緒やん
- 368 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 21:26:08 ]
- アンシャープマスクってソフトフィルタだろ?
- 369 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 21:33:51 ]
- ググれカス!がこれほどよく似合う>>368は居まい
- 370 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 21:37:36 ]
- na\\なんですかそれは
- 371 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 03:10:04 ]
- >>364
>その値が120よりおおきければ、各値(RGB255値)に2を足しています。 何のために?
- 372 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 08:47:02 ]
- >>349
正規化とは変な値を都合のいいように直すことだよ。 たとえば角度の-90度を270度に直すとか。 都合によっては逆に角度270度を-90度に直すのも正規化。 8ビットの画素の値なら if(x > 255) x = 255; else if(x < 0) x = 0; このxで描画すればいい。
- 373 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 09:32:29 ]
- >>372
>if(x > 255) x = 255; else if(x < 0) x = 0; >このxで描画すればいい。 大学の課題でこれ提出したら減点だな。 画像として表示して何がしたいのかといったら、 エッジとしての強度を目視したいわけで、 256 も 1100 も全部同じ強度として表示するってんじゃぁ、 こまっちんぐだぜ
- 374 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 10:04:31 ]
- それは気がつきませんでした。
エッジ強度の目視とか そんなに大きな値を加算しているとは思いませんでした。
- 375 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 14:01:55 ]
- >>371
その値は0から1000を越えるものまであり、それをRGBの値に足すとおかしな画像になってしまいます。 なので、このばあいは120以上をエッジとするようにして、そのエッジ部分に一律2を足そうと考えました。 この考えは間違っているのでしょうか?
- 376 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 14:17:20 ]
- ラプラシアンなら負の値も出てくるだろ。
つうか、何で2を足すんだ?
- 377 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 14:24:54 ]
- >>376
負の値がでたら、絶対値に擦るようにしています。 2を足すのは、エッジの部分に対応するもと画像を強調したいためです。
- 378 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 14:25:16 ]
- すみません。 足していません。 引いています。
- 379 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 14:44:24 ]
- だから、1%程度明るくなろうが暗くなろうが目立つわけないだろと。
- 380 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 14:46:05 ]
- では、どのような加工をしたらいいのでしょうか?
- 381 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 14:50:34 ]
- 少しは頭を使え。手を動かせ。
- 382 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 14:59:45 ]
- エッジ抽出以前に、画素の量子化とその値についての理解が全然足りないように思える。
- 383 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 15:31:10 ]
- スレ伸びてると思ったらwwww
久々にワロタwwww
- 384 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 18:42:49 ]
- まだやってたのか
- 385 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 19:08:11 ]
- 誰も的確な答えを出さないからでしょ
|

|