トップページ⇒tech
1001コメント315KB

画像処理 その7

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/05/29(月) 09:56:00
・画像処理について素人同士で大激論
・初学者の質問に対してやさしく(的を外れた)解答を与える
・その道の玄人も大歓迎

前スレ
画像処理 その6
http://pc8.2ch.net/test/read.cgi/tech/1140510670/

過去スレッド
画像処理 その5
http://pc8.2ch.net/test/read.cgi/tech/1127705848/
画像処理 その4
http://pc8.2ch.net/test/read.cgi/tech/1107854973/
画像処理 その3
http://pc5.2ch.net/test/read.cgi/tech/1090897159/
画像処理 その2
http://pc5.2ch.net/test/read.cgi/tech/1054545005/
画像処理
http://pc5.2ch.net/tech/kako/992/992671330.html
0002デフォルトの名無しさん2006/05/29(月) 10:14:02
>>1
乙
0003デフォルトの名無しさん2006/05/29(月) 10:33:40
彼3
0004デフォルトの名無しさん 2006/05/29(月) 12:46:10
4
0005デフォルトの名無しさん2006/05/31(水) 10:20:59
5
0006デフォルトの名無しさん2006/06/01(木) 00:12:17
六
0007デフォルトの名無しさん2006/06/01(木) 13:46:06
ImageMagickをインストールしてMagick++を使ってプログラムをしようと思って
公式からダウンロードしてImageMagick(ImageMagick-6.2.7-8-Q8-windows-dll.exe)をインストールしたら
Demoプログラムは動くんですが、自分でソースを作って
#include <Magick++.h>をしても読み込めませんでした。
includeとlibにImageMagickのincludeとlibを入れてみたんですが
error LNK2019が出てしまいます。
どうすれば使えるようになるのでしょうか?
0008デフォルトの名無しさん2006/06/01(木) 16:08:15
>>7
ImageMagickというのは知らないので、はずしてるかもしれないけど、
エラー番号からするとWinMain()かmain()がない、もしくは、
libのパスが通っているだけでライブラリーが指定されてないように思えますが。
0009デフォルトの名無しさん2006/06/01(木) 17:29:56
RGB→Luvに変換したいんですが、
とりあえず↓のサイトを見ながらプログラムを作って、

ttp://image-d.isp.jp/commentary/color_cformula/Luv.html

出てきた結果が、正しいかどうか確認したいんですが
なにか良い方法はないでしょうか?
理想は、↓サイトのように、あるRGB値を入力して
Luv値を返してくれるようなトコがあれば嬉しいのですが・・・。

ttp://www.eonet.ne.jp/~s-inoue/CO6_henkan/index-a.html

とりあえずphotoshop7.0が大学の端末に入っているので
それ使ってもいいです。よろしくお願いします。
0010デフォルトの名無しさん2006/06/01(木) 19:10:15
http://www.easyrgb.com/

ここオススメ。
Color Calculator使えば一発でいろんな色空間での数値が表示される。
Mathから変換公式も見られる。
0011102006/06/01(木) 20:00:31
見なおしてみたら、ここ変換公式じゃなくて擬似コードを公開してるんだな。
わざわざ実装乙w な気分にさせられてしまうかもしれないが、そこは許してね。
0012デフォルトの名無しさん2006/06/01(木) 23:08:35
>>9
ttp://image-d.isp.jp/commentary/color_cformula/Luv.html

知ってると思うけど RGB 単独では「色」を表す事はできなくて、
カラープロファイルの情報と結びつける必要がある。

このページは RGB を D65 決め打ちで取り扱ってるから注意が必要。
Windows 標準の sRGB 空間にあるRGB値をこの式で変換しても意味は無いよ。

変換式を実装するより先に色空間やガンマの理解が要るんだが。
その辺りは大丈夫なのか?
0013デフォルトの名無しさん2006/06/02(金) 00:12:22
WinだったらImageMagickよりましな奴あるんじゃないの?
漏れは犬なので知らんけど。
0014デフォルトの名無しさん2006/06/02(金) 10:34:39
freeで手頃なのがないんだよね。
有料ではLeadToolがあるけど色に関しては色々怪しいし座標変換は使い難いし。
寧ろ知ってたら教えて欲しいくらい。
#LeadTool程度以下なら何セットか買いたい。
001592006/06/02(金) 12:53:02
助言ありがとうございます。
自分の知識の未熟さが確認できました。もっと勉強します。

>>10
うおぉ便利なサイトですね。有効利用させて頂きます!
0016デフォルトの名無しさん2006/06/03(土) 11:06:53
DVフォーマットの仕様説明してある
資料ってどこから入手していますか?
0017デフォルトの名無しさん 2006/06/04(日) 15:29:37
256色カラー(この概念がよくわかっていない)から
256^3色カラーの変換式(?)ってどういった式になるのでしょうか?
ぐぐったけれど上手く見つけられませんでした。よろしくおながいします。
0018デフォルトの名無しさん2006/06/04(日) 15:42:35
式はない。
0019デフォルトの名無しさん2006/06/04(日) 20:10:35
普通にパレットから輝度を割り出せばOKぢゃね?
0020デフォルトの名無しさん2006/06/04(日) 20:25:55
DVフォーマっトの資料教えてください
0021デフォルトの名無しさん2006/06/04(日) 21:08:56
ぐぐれ。
0022デフォルトの名無しさん2006/06/04(日) 21:13:08
なかったの教えてよ
0023デフォルトの名無しさん2006/06/04(日) 21:37:04
一発でみつかるよ。
0024デフォルトの名無しさん2006/06/04(日) 21:43:36
買え
0025デフォルトの名無しさん2006/06/04(日) 22:39:29
買ってもいいので資料の場所教えてください
本当に困ってます。
0026デフォルトの名無しさん2006/06/04(日) 23:08:13
まじでなにがしりたいんだろ。
0027デフォルトの名無しさん2006/06/04(日) 23:11:59
画像フォーマットがどうなっているか知りたいのです
スーパーブロックの構造とかフレームの構造とか
そうゆうの乗ってる資料ありませんか?
プログラム組むのに一々ファイルバイナリで数百ダンプして解析するの嫌なんですよ
0028デフォルトの名無しさん2006/06/04(日) 23:19:18
IEC 61834とかいろいろ。つーかお前完全に探してないだろ。
あとAVIファイルの構造自体がわからんとかそういう冗談はなしにしてくれ。
0029デフォルトの名無しさん2006/06/04(日) 23:35:35
IEC 61834高いももれの金じゃかかえない
どうしよう...
0030デフォルトの名無しさん2006/06/05(月) 00:02:57
とりあえず変換ソフトなりライブラリのコード読めば?
0031デフォルトの名無しさん2006/06/05(月) 05:55:30
dv マクロブロックでぐぐるとそれなりの情報があるな。
まあ悪いことは言わんから適当なライブラリ使っとけ。
0032デフォルトの名無しさん2006/06/11(日) 23:23:20
このスレにはテンプレ無いの?
便利なライブラリとかさ…
0033デフォルトの名無しさん2006/06/12(月) 09:39:00
>>32
言いだしっぺのオマイがテンプレの叩き台を出すべき
0034デフォルトの名無しさん2006/06/12(月) 10:44:09

ttp://www.jpeg.org/
ttp://www.codeguru.com/Cpp/G-M/
0035デフォルトの名無しさん2006/06/12(月) 18:12:20
日本語でおk
0036デフォルトの名無しさん2006/06/13(火) 01:31:23
>>33
じゃ、とりあえず一個OpenCVとかどうかな

Open Source Computer Vision Library
http://www.intel.com/technology/computing/opencv/index.htm

SourceForge.net: Open Computer Vision Library
http://sourceforge.net/projects/opencvlibrary/
0037デフォルトの名無しさん2006/06/14(水) 00:28:35
H.264/AVCの良書教えてください
0038デフォルトの名無しさん2006/06/16(金) 18:55:29
スレ違いかもしれませんが、お聞きしたい事があります

Delphi6で画像ビューアみたいなものを作っているのですが
画像処理の知識を持っておらず、拡大縮小の処理は
公開されているコンポーネントを使用しています
拡大縮小後の画像の質はかなり良いと思うのですが、
1100x1400 → 990x1260の縮小処理を
BiCubicで行う場合、1.5秒程かかります
スペックは Celeron700MHz メモリ64MB VRAM共有 です

お聞きしたいのはこの拡大縮小の処理時間のことで、
このスペックで上記の処理を行い1.5秒という結果は遅いのでしょうか?
0039デフォルトの名無しさん2006/06/16(金) 20:32:30
>>38
どんなアルゴリズム使った拡大縮小なのか言わないおまいさんに
正確な答えを返せる奴はエスパー
0040デフォルトの名無しさん2006/06/16(金) 21:02:15
ちょうどCPUの種類やコーディングその他で変化の大きいところだしな
そのハードで他ソフトの同一処理と比較すべき
0041デフォルトの名無しさん2006/06/16(金) 21:11:56
メモリ64MBでVRAM共用って時点で遅いもクソもない気がするが。
盛大にスワップかましてるんじゃないか?
0042デフォルトの名無しさん2006/06/16(金) 21:34:34
>39
一応 バイキュービックと書いてあるぞ。
でもまあ、そのスペック&解像度だと、かなり遅いかもね。
41が言っているようなスワップ等は発生していないと言う前提で。

たぶんもっと早くなる可能性があるのなら、自分で書いてみようかなと
考えているんだろうけれど、仕事じゃないなら書いてから考えてみよう。
0043デフォルトの名無しさん2006/06/16(金) 21:41:00
>>39
エロ画像なら念心念心と唱えながら実行すれば
0.5秒切れると思うけどねがんばれよ
0044デフォルトの名無しさん2006/06/16(金) 21:49:35
縮小側にバイキュービック使うのは無駄っつー気はするけどな。
0045デフォルトの名無しさん2006/06/17(土) 00:10:05
任意の背景色に対して読みやすい文字色を決定する適当なアルゴリズムは何かありますか?
読みやすい、という表現が非常に主観的ではあるのですが、一般にという話です。
0046デフォルトの名無しさん2006/06/17(土) 00:21:41
読みやすい=コントラスト最大ならわりとまぁ。
もっともギンギンにコントラスト強いのが読みやすいかといえばまぁそれはそれで別の問題だが。
0047デフォルトの名無しさん2006/06/17(土) 00:26:52
>>45
確かにそういうのが欲しいシチュエーションはあるよね。
自分で調べたことは無いけど。
色彩心理学とかカラーコーディネーターの分野の方にあるかも。
0048デフォルトの名無しさん2006/06/17(土) 00:40:49
適当な背景色と前景色の組み合わせなら
w3cのアルゴリズムでそこそこ無難な色が得られるけど、
任意の背景色になるとむずかしいよねー。

w3cのアルゴリズムは、たとえばこのへんから
ttp://www.infoaxia.com/tools/cca/index.html
0049デフォルトの名無しさん2006/06/17(土) 00:58:26
文字を読みやすくするなら、袋文字が一番だな。
白いアウトラインに黒文字。
0050デフォルトの名無しさん2006/06/17(土) 01:44:32
>45
任意の背景色が単色ならいろいろ考えられるけれど、
自然画像のように、色々な色が混在している場合の汎用と言えば縁取りしかない。
縁取り色と中の色にはいろいろな組み合わせがあるだろうが、
49の言っているように白黒が多い。
なお、出力するデバイス(TVなのかPCモニタなのかなど)によって、適切な
色や輝度は異なります。
0051デフォルトの名無しさん2006/06/20(火) 01:25:00
LucasKanade等のオプティカルフローって動き補償に実際に
使われていますか?
二枚の画像を精度良く一致させる方法をご存知でしたら
教えてください。
0052デフォルトの名無しさん2006/06/20(火) 20:13:11
ayapin.film.s.dendai.ac.jp/~matuda/
0053デフォルトの名無しさん2006/06/20(火) 20:30:57
いきなりw
plamoバイナリ配ってる人か、前に行ったことあるな
0054デフォルトの名無しさん2006/06/22(木) 22:13:37
>>51
図書館なりなんなり行けば?学生さん。
調べるって方法は人に聞くだけじゃないんだよ。
0055デフォルトの名無しさん2006/06/23(金) 05:15:00
キビシー---
0056デフォルトの名無しさん2006/06/23(金) 11:12:54
そんなくだらいこというなら、おしえてやればいいのに。なんの価値もないレスだ・・・
0057デフォルトの名無しさん2006/06/23(金) 13:05:33
いや、別に教える義理も義務もないしなあ。
完全に他者の善意に頼ってるのに、
質問をして必ず解答が返ってくると考えるほうが変だが。
0058512006/06/23(金) 14:44:23
mpeg等はブロックマッチングが動き補償に使われているのに対して、
オプティカルフローは多くの研究成果があるけど、
実際のcodecには使われていないのは、なにか問題があるのかと
思い質問しました。ブロックマッチングが無難ということでしょうか。
0059デフォルトの名無しさん2006/06/23(金) 15:53:00
>>57
なら書き込みすらしなければいいのに
0060デフォルトの名無しさん2006/06/23(金) 19:33:09
というか、そんな難しいことを聞かれても分からないので答えようがないのだが。
0061デフォルトの名無しさん2006/06/23(金) 20:02:52
削ったフレームを再生時にオプティカルフローで
補間するということなら、やはり演算負荷が問題
ではないかと2次元レベルの洩れが半端にレスしてみる
0062デフォルトの名無しさん2006/06/23(金) 20:20:19
>58
オプティカルフローは、コーデックと言うよりカメラ側の動き検出に利用されているのを
よく見かけます。
雑感ですが、勾配法では点そのものの明るさが代わらないことを前提にしますし、
フレームの移動にはよさそうですが、何がどうなるかわからない動画の動き補償には
CP(コーディングのCPも含めて)的にもブロックマッチングのほうが無難な結果を
得られるのではないかと思います。
0063512006/06/23(金) 21:28:09
>>62
ありがとうございます。オプティカルフローはせっかく面白い理論なのに
実際使うとなると、ブロックマッチングの方が無難というのは残念です。
オプティカルフローが実用レベルで役立っている例は少ないのかな。
0064デフォルトの名無しさん2006/06/24(土) 00:48:43
>>63
勾配法もブロックマッチングもオプティカルフローの推定方法じゃないのかね?
0065622006/06/24(土) 01:25:21
>64
仰るとおりですが、58の質問をみると、58は勾配法の意味で
使用していると判断しました。
0066デフォルトの名無しさん2006/06/24(土) 02:58:29
MPEGのようなブロック単位での動き補償の代わりに、
格子点のオプティカルフローを基に参照画像をメッシュtoメッシュで変形させるような
動き補償も最近のGPUなら可能なような気がするな・・・
0067デフォルトの名無しさん2006/06/24(土) 12:52:11
なんだよ補償って
0068デフォルトの名無しさん2006/06/24(土) 22:11:57
>>67
動き補償は motion compensation の一般的な訳語ですよ。
比較元の画像と動き予測(motion estimation)の結果から、
対象画像を再構築する処理を差します。


>>66
一般的な動画映像では、移動量が連続ではなく離散的なので、
通常のオプティカルフロー解析でメッシュ変形のような動き補償をしても、
効果が少ないというか、単なるブロック単位での動き補償と比べて差分(誤差)が小さくならないと思う。

ちなみに、MPEG2のエンコードで、動き予測の前処理としてオプティカルフロー解析を使ったことはあります
(解析結果の勾配を動きベクトルの初期値として、その近傍を探索する)
が、イマイチ良い結果が出なかったかな。

MPEG の動き予測・動き補償は「対象画像から似てる部分を参照することで、データ量を削減する」のが
目的であって、「実際の動きがどうなのか」はどうでも良いし。
(見た目上の動きとはまったく無関係な部分を参照しようが、データ量が削減できれば正義)
0069512006/06/25(日) 09:11:40
データ量削減というより実際の動きを高精度に求める方法を探しています。
BMだと動きベクトルの滑らかさを考えるのが難しいので、
オプティカルフローを考えてました。
一応、メッシュ+オプティカルフローでやってみたのですが、
正則化パラメータがうまく設定されれば、それなりにうまくいくようです。
ただ、パラメータ設定が難しいため、BMの結果をメッシュで近似した方が
簡単で良いような気がします。
0070デフォルトの名無しさん2006/06/25(日) 10:30:00
パラメタなんて適当に学習させて
最適解でっちあげろよ
0071デフォルトの名無しさん2006/06/25(日) 20:09:53
実際の動きにこだわるなら適応型を使わざるを
得ないのではと再び半端レスしてみる
0072デフォルトの名無しさん2006/06/26(月) 13:59:52
質問です。
モノクロ動画の背景を消したいのですが、1コマ前の画像から今の画像を引けば動いてるものだけになりますよね?
そこで
for(i=1;i<Y;i++){for(j=1;j<X;j++){
 dif[i][j]=buf[i][j]-now[i][j];
 dif[i][j]=abs(dif[i][j]);
 buf[i][j]=now[i][j];
}}
buf・・・前の画像
now・・・今の画像
dif・・・差の画像
とやったのですが、どうも白と黒が反転したような変な画像になります。
どうしたらいいのでしょうか?
0073デフォルトの名無しさん2006/06/26(月) 14:11:34
>>72
>1コマ前の画像から今の画像を引けば動いてるものだけになりますよね?
なりません。
0074722006/06/26(月) 14:17:42
なぜならないんでしょうか・・・?
0075デフォルトの名無しさん2006/06/26(月) 14:59:31
2フレーム分の差分を取って見てみろ
0076デフォルトの名無しさん2006/06/26(月) 15:26:07
>>73
カエルはどうだかわかりませんが、人間はシーン間の差分の絶対値を
一般的な景色として認識してはいないからです。

変な画像にならないようにするには、差分の絶対値ではなく
そのものの色(輝度値)を表示しなくてはなりません。
0077デフォルトの名無しさん2006/06/29(木) 11:38:10
>>72
差が一定の値以上になった画像のみ取り出すようにしてはどうでしょうか。

>  dif[i][j]=buf[i][j]-now[i][j];
>  dif[i][j]=abs(dif[i][j]);

の部分を次のように変えます。ただし、kはその「一定の値」で、0以上とします。

> dif[i][j] = abs(now[i][j] - buff[i][j]) > k ? now[i][j] : 0

このようにすれば、前のフレームとの違いがでた部分だけ抜き出され、
そうでない部分は0の黒身になります。kは原理的には0でいいと思いますが、
動画によっては実際には経験的に得た値にしないとダメじゃないかと
想像します。
0078デフォルトの名無しさん2006/06/29(木) 20:36:24
透過原稿ユニット無しで読みとったフィルムを
画像処理で元の色合いに変換させることは出来ますか
0079デフォルトの名無しさん2006/06/29(木) 20:47:19
現物を見ないとなんとも言えんと思うんだけど…
0080デフォルトの名無しさん2006/06/29(木) 20:58:05
実際にスキャンしてみたの?
普通、裏に白を重ねてやったとしても
コントラスト不足になるはずだけど
0081802006/06/29(木) 21:03:12
逆か
0082802006/06/29(木) 21:20:29
その辺はDTP板の初心者質問スレのほうがいいと思う
ケチョンケチョンに言われそうだがw
0083デフォルトの名無しさん2006/06/30(金) 00:37:20
>>78
ユニット使わずに、ソフト処理で同等の画質を
得たいというのならそれは虫の良い話
枚数が少なくてユニット買うのがもったいないなら
カメラ屋に持ってくべし
0084デフォルトの名無しさん2006/07/01(土) 16:31:45
2D画像を3D画像に変換する技法として、
透視投影変換?があるようですが、これをMFCのCDCや
GDIを使って行う方法を教えてください。
何かサンプルがあると助かります。
0085デフォルトの名無しさん2006/07/01(土) 19:05:27
>>84
3D画像にしてからMFCなりGDIを使うんじゃないのか?
0086デフォルトの名無しさん2006/07/01(土) 19:07:41
変換そのものは、プラットフォームに関係ない。質問自体が変。
0087デフォルトの名無しさん2006/07/01(土) 23:29:15
>>84
2D を 3D に変換するの?
逆じゃなくて?
0088デフォルトの名無しさん2006/07/02(日) 00:17:31
画像をパースつけて回転させたいって事だろ
0089デフォルトの名無しさん2006/07/02(日) 00:20:00
水着写真をヌード写真に変換する
処理はどうやって行うの?
0090デフォルトの名無しさん2006/07/02(日) 00:29:44
Image img = new Image("水着写真.jpg");

img.MakeNaked();
0091デフォルトの名無しさん2006/07/02(日) 01:44:45
どどどどどどdっどのバージョンのライブララリにそのメソッッドは入ってるんですか!?
0092デフォルトの名無しさん2006/07/02(日) 08:26:58
>>88
ご名答です。

たとえば、
MFCだとイメージとしては、
デバイスコンテキストを作成して、
メモリ上で描画された元の平面画像を、
パース変換して、実ビューに描画したいのです。

パース変換する場合は、画像ファイルをビット単位で、
変換する作業を行わなければならないのでしょうか。。
0093デフォルトの名無しさん2006/07/02(日) 08:40:02
パースってパースペクティブの事か。遠近じゃダメなんだろうか。
0094デフォルトの名無しさん2006/07/02(日) 08:42:01
>>93
よくわからないのですが、
遠近でもいいのかもしれません。

平面を手前や奥に傾けれれば。。
0095デフォルトの名無しさん2006/07/02(日) 08:54:34
ただのディストーション変形?
0096デフォルトの名無しさん2006/07/02(日) 09:03:57
>>92
つまり、StretchBltみたいなAPIで
そういう変換ができないかってことか。

Direct3Dでテクスチャ貼り付けとか?
まあ、自分で変換するのが楽かもな。
0097デフォルトの名無しさん2006/07/02(日) 16:01:27
mpeg2のストリームをいじるソフト(トランスコーダとか)って、特許問題は
不可避なんでしょうか?
0098デフォルトの名無しさん2006/07/02(日) 16:13:38
金を払ってください
0099972006/07/02(日) 16:25:13
初代スレに紹介されてたlenna姐さんでハァハァしてきますた(w
元ネタがPLAYBOY誌と云う事なんですが、著作権問題はどうなってるんでしょう?

>>98
フリーで配布してるやつ(ShrinkDVDとか)って、そこら辺を無視してると
云う事なんでしょうか?
0100デフォルトの名無しさん2006/07/02(日) 16:37:39
>>99
Lennaに関しては、Playboyのコメントがあったはず。ぐぐれば判りますよ。
0101デフォルトの名無しさん2006/07/02(日) 16:53:57
>>99
テスト素材として使っても良いよ、ということになってるらすぃ。
■ このスレッドは過去ログ倉庫に格納されています