彼3
4
5
六
7 :
デフォルトの名無しさん :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が出てしまいます。 どうすれば使えるようになるのでしょうか?
8 :
デフォルトの名無しさん :2006/06/01(木) 16:08:15
>>7 ImageMagickというのは知らないので、はずしてるかもしれないけど、
エラー番号からするとWinMain()かmain()がない、もしくは、
libのパスが通っているだけでライブラリーが指定されてないように思えますが。
9 :
デフォルトの名無しさん :2006/06/01(木) 17:29:56
11 :
10 :2006/06/01(木) 20:00:31
見なおしてみたら、ここ変換公式じゃなくて擬似コードを公開してるんだな。 わざわざ実装乙w な気分にさせられてしまうかもしれないが、そこは許してね。
WinだったらImageMagickよりましな奴あるんじゃないの? 漏れは犬なので知らんけど。
freeで手頃なのがないんだよね。 有料ではLeadToolがあるけど色に関しては色々怪しいし座標変換は使い難いし。 寧ろ知ってたら教えて欲しいくらい。 #LeadTool程度以下なら何セットか買いたい。
15 :
9 :2006/06/02(金) 12:53:02
助言ありがとうございます。
自分の知識の未熟さが確認できました。もっと勉強します。
>>10 うおぉ便利なサイトですね。有効利用させて頂きます!
DVフォーマットの仕様説明してある 資料ってどこから入手していますか?
256色カラー(この概念がよくわかっていない)から 256^3色カラーの変換式(?)ってどういった式になるのでしょうか? ぐぐったけれど上手く見つけられませんでした。よろしくおながいします。
式はない。
普通にパレットから輝度を割り出せばOKぢゃね?
DVフォーマっトの資料教えてください
ぐぐれ。
なかったの教えてよ
一発でみつかるよ。
買え
買ってもいいので資料の場所教えてください 本当に困ってます。
まじでなにがしりたいんだろ。
画像フォーマットがどうなっているか知りたいのです スーパーブロックの構造とかフレームの構造とか そうゆうの乗ってる資料ありませんか? プログラム組むのに一々ファイルバイナリで数百ダンプして解析するの嫌なんですよ
IEC 61834とかいろいろ。つーかお前完全に探してないだろ。 あとAVIファイルの構造自体がわからんとかそういう冗談はなしにしてくれ。
IEC 61834高いももれの金じゃかかえない どうしよう...
とりあえず変換ソフトなりライブラリのコード読めば?
dv マクロブロックでぐぐるとそれなりの情報があるな。 まあ悪いことは言わんから適当なライブラリ使っとけ。
このスレにはテンプレ無いの? 便利なライブラリとかさ…
>>32 言いだしっぺのオマイがテンプレの叩き台を出すべき
日本語でおk
H.264/AVCの良書教えてください
スレ違いかもしれませんが、お聞きしたい事があります Delphi6で画像ビューアみたいなものを作っているのですが 画像処理の知識を持っておらず、拡大縮小の処理は 公開されているコンポーネントを使用しています 拡大縮小後の画像の質はかなり良いと思うのですが、 1100x1400 → 990x1260の縮小処理を BiCubicで行う場合、1.5秒程かかります スペックは Celeron700MHz メモリ64MB VRAM共有 です お聞きしたいのはこの拡大縮小の処理時間のことで、 このスペックで上記の処理を行い1.5秒という結果は遅いのでしょうか?
>>38 どんなアルゴリズム使った拡大縮小なのか言わないおまいさんに
正確な答えを返せる奴はエスパー
ちょうどCPUの種類やコーディングその他で変化の大きいところだしな そのハードで他ソフトの同一処理と比較すべき
メモリ64MBでVRAM共用って時点で遅いもクソもない気がするが。 盛大にスワップかましてるんじゃないか?
>39 一応 バイキュービックと書いてあるぞ。 でもまあ、そのスペック&解像度だと、かなり遅いかもね。 41が言っているようなスワップ等は発生していないと言う前提で。 たぶんもっと早くなる可能性があるのなら、自分で書いてみようかなと 考えているんだろうけれど、仕事じゃないなら書いてから考えてみよう。
>>39 エロ画像なら念心念心と唱えながら実行すれば
0.5秒切れると思うけどねがんばれよ
縮小側にバイキュービック使うのは無駄っつー気はするけどな。
45 :
デフォルトの名無しさん :2006/06/17(土) 00:10:05
任意の背景色に対して読みやすい文字色を決定する適当なアルゴリズムは何かありますか? 読みやすい、という表現が非常に主観的ではあるのですが、一般にという話です。
読みやすい=コントラスト最大ならわりとまぁ。 もっともギンギンにコントラスト強いのが読みやすいかといえばまぁそれはそれで別の問題だが。
>>45 確かにそういうのが欲しいシチュエーションはあるよね。
自分で調べたことは無いけど。
色彩心理学とかカラーコーディネーターの分野の方にあるかも。
文字を読みやすくするなら、袋文字が一番だな。 白いアウトラインに黒文字。
>45 任意の背景色が単色ならいろいろ考えられるけれど、 自然画像のように、色々な色が混在している場合の汎用と言えば縁取りしかない。 縁取り色と中の色にはいろいろな組み合わせがあるだろうが、 49の言っているように白黒が多い。 なお、出力するデバイス(TVなのかPCモニタなのかなど)によって、適切な 色や輝度は異なります。
LucasKanade等のオプティカルフローって動き補償に実際に 使われていますか? 二枚の画像を精度良く一致させる方法をご存知でしたら 教えてください。
52 :
デフォルトの名無しさん :2006/06/20(火) 20:13:11
ayapin.film.s.dendai.ac.jp/~matuda/
いきなりw plamoバイナリ配ってる人か、前に行ったことあるな
>>51 図書館なりなんなり行けば?学生さん。
調べるって方法は人に聞くだけじゃないんだよ。
キビシー---
そんなくだらいこというなら、おしえてやればいいのに。なんの価値もないレスだ・・・
いや、別に教える義理も義務もないしなあ。 完全に他者の善意に頼ってるのに、 質問をして必ず解答が返ってくると考えるほうが変だが。
58 :
51 :2006/06/23(金) 14:44:23
mpeg等はブロックマッチングが動き補償に使われているのに対して、 オプティカルフローは多くの研究成果があるけど、 実際のcodecには使われていないのは、なにか問題があるのかと 思い質問しました。ブロックマッチングが無難ということでしょうか。
というか、そんな難しいことを聞かれても分からないので答えようがないのだが。
削ったフレームを再生時にオプティカルフローで 補間するということなら、やはり演算負荷が問題 ではないかと2次元レベルの洩れが半端にレスしてみる
>58 オプティカルフローは、コーデックと言うよりカメラ側の動き検出に利用されているのを よく見かけます。 雑感ですが、勾配法では点そのものの明るさが代わらないことを前提にしますし、 フレームの移動にはよさそうですが、何がどうなるかわからない動画の動き補償には CP(コーディングのCPも含めて)的にもブロックマッチングのほうが無難な結果を 得られるのではないかと思います。
63 :
51 :2006/06/23(金) 21:28:09
>>62 ありがとうございます。オプティカルフローはせっかく面白い理論なのに 実際使うとなると、ブロックマッチングの方が無難というのは残念です。 オプティカルフローが実用レベルで役立っている例は少ないのかな。
64 :
デフォルトの名無しさん :2006/06/24(土) 00:48:43
>>63 勾配法もブロックマッチングもオプティカルフローの推定方法じゃないのかね?
65 :
62 :2006/06/24(土) 01:25:21
>64 仰るとおりですが、58の質問をみると、58は勾配法の意味で 使用していると判断しました。
MPEGのようなブロック単位での動き補償の代わりに、 格子点のオプティカルフローを基に参照画像をメッシュtoメッシュで変形させるような 動き補償も最近のGPUなら可能なような気がするな・・・
なんだよ補償って
>>67 動き補償は motion compensation の一般的な訳語ですよ。
比較元の画像と動き予測(motion estimation)の結果から、
対象画像を再構築する処理を差します。
>>66 一般的な動画映像では、移動量が連続ではなく離散的なので、
通常のオプティカルフロー解析でメッシュ変形のような動き補償をしても、
効果が少ないというか、単なるブロック単位での動き補償と比べて差分(誤差)が小さくならないと思う。
ちなみに、MPEG2のエンコードで、動き予測の前処理としてオプティカルフロー解析を使ったことはあります
(解析結果の勾配を動きベクトルの初期値として、その近傍を探索する)
が、イマイチ良い結果が出なかったかな。
MPEG の動き予測・動き補償は「対象画像から似てる部分を参照することで、データ量を削減する」のが
目的であって、「実際の動きがどうなのか」はどうでも良いし。
(見た目上の動きとはまったく無関係な部分を参照しようが、データ量が削減できれば正義)
69 :
51 :2006/06/25(日) 09:11:40
データ量削減というより実際の動きを高精度に求める方法を探しています。 BMだと動きベクトルの滑らかさを考えるのが難しいので、 オプティカルフローを考えてました。 一応、メッシュ+オプティカルフローでやってみたのですが、 正則化パラメータがうまく設定されれば、それなりにうまくいくようです。 ただ、パラメータ設定が難しいため、BMの結果をメッシュで近似した方が 簡単で良いような気がします。
パラメタなんて適当に学習させて 最適解でっちあげろよ
実際の動きにこだわるなら適応型を使わざるを 得ないのではと再び半端レスしてみる
72 :
デフォルトの名無しさん :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・・・差の画像 とやったのですが、どうも白と黒が反転したような変な画像になります。 どうしたらいいのでしょうか?
>>72 >1コマ前の画像から今の画像を引けば動いてるものだけになりますよね?
なりません。
74 :
72 :2006/06/26(月) 14:17:42
なぜならないんでしょうか・・・?
2フレーム分の差分を取って見てみろ
>>73 カエルはどうだかわかりませんが、人間はシーン間の差分の絶対値を
一般的な景色として認識してはいないからです。
変な画像にならないようにするには、差分の絶対値ではなく
そのものの色(輝度値)を表示しなくてはなりません。
77 :
デフォルトの名無しさん :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でいいと思いますが、
動画によっては実際には経験的に得た値にしないとダメじゃないかと
想像します。
透過原稿ユニット無しで読みとったフィルムを 画像処理で元の色合いに変換させることは出来ますか
現物を見ないとなんとも言えんと思うんだけど…
実際にスキャンしてみたの? 普通、裏に白を重ねてやったとしても コントラスト不足になるはずだけど
81 :
80 :2006/06/29(木) 21:03:12
逆か
82 :
80 :2006/06/29(木) 21:20:29
その辺はDTP板の初心者質問スレのほうがいいと思う ケチョンケチョンに言われそうだがw
>>78 ユニット使わずに、ソフト処理で同等の画質を
得たいというのならそれは虫の良い話
枚数が少なくてユニット買うのがもったいないなら
カメラ屋に持ってくべし
84 :
デフォルトの名無しさん :2006/07/01(土) 16:31:45
2D画像を3D画像に変換する技法として、 透視投影変換?があるようですが、これをMFCのCDCや GDIを使って行う方法を教えてください。 何かサンプルがあると助かります。
>>84 3D画像にしてからMFCなりGDIを使うんじゃないのか?
変換そのものは、プラットフォームに関係ない。質問自体が変。
>>84 2D を 3D に変換するの?
逆じゃなくて?
画像をパースつけて回転させたいって事だろ
水着写真をヌード写真に変換する 処理はどうやって行うの?
Image img = new Image("水着写真.jpg"); img.MakeNaked();
どどどどどどdっどのバージョンのライブララリにそのメソッッドは入ってるんですか!?
92 :
デフォルトの名無しさん :2006/07/02(日) 08:26:58
>>88 ご名答です。
たとえば、
MFCだとイメージとしては、
デバイスコンテキストを作成して、
メモリ上で描画された元の平面画像を、
パース変換して、実ビューに描画したいのです。
パース変換する場合は、画像ファイルをビット単位で、
変換する作業を行わなければならないのでしょうか。。
パースってパースペクティブの事か。遠近じゃダメなんだろうか。
94 :
デフォルトの名無しさん :2006/07/02(日) 08:42:01
>>93 よくわからないのですが、
遠近でもいいのかもしれません。
平面を手前や奥に傾けれれば。。
ただのディストーション変形?
>>92 つまり、StretchBltみたいなAPIで
そういう変換ができないかってことか。
Direct3Dでテクスチャ貼り付けとか?
まあ、自分で変換するのが楽かもな。
97 :
デフォルトの名無しさん :2006/07/02(日) 16:01:27
mpeg2のストリームをいじるソフト(トランスコーダとか)って、特許問題は 不可避なんでしょうか?
金を払ってください
99 :
97 :2006/07/02(日) 16:25:13
初代スレに紹介されてたlenna姐さんでハァハァしてきますた(w
元ネタがPLAYBOY誌と云う事なんですが、著作権問題はどうなってるんでしょう?
>>98 フリーで配布してるやつ(ShrinkDVDとか)って、そこら辺を無視してると
云う事なんでしょうか?
>>99 Lennaに関しては、Playboyのコメントがあったはず。ぐぐれば判りますよ。
>>99 テスト素材として使っても良いよ、ということになってるらすぃ。
ガボールフィルタによる特徴抽出に詳しい方はいらっしゃいますか? G(x0,y0) = e^{-(x1^2+(γy1)^2)/(2σ^2)}cos(2πx1/λ) x1 = x0cos(z)+y0sin(z) y1 = y0cos(z)-x0sin(z) このときのσ、γ、λが何を意味しているのか教えてほしいです。 もしくは別のやり方でもいいのでガボールフィルタの作り方を教えてほしいです。
103 :
デフォルトの名無しさん :2006/07/10(月) 11:46:42
脳みそのCT画像渡されて「みそ」の部分だけ抽出しろと言われた。 できたら筆記テストできなくても100点くれるらしい
だからなに?
105 :
デフォルトの名無しさん :2006/07/10(月) 11:51:22
>>103 ふーん・・・。じゃあがんばって抽出してね。
107 :
デフォルトの名無しさん :2006/07/10(月) 15:41:44
すいませんでした。
蛍光ペンでなぞればいいんじゃない
109 :
デフォルトの名無しさん :2006/07/10(月) 19:05:35
本当にすいませんでした。
>>105 ありがとうございます。
ガボールフィルタを使用している論文を色々と調べていたのですが、
パラメータが結構変わっていることが多いです。
周波数と角度は別として、その他は適当に決めて良いんでしょうか?
>110 ガボールフィルタは、物体の認識のテストでちょろっと作った程度なので、 雑感ですが、変えないと抽出しにくい部分とかありませんでした? たとえば、画面中にある複数のオブジェクトを認識しようとしたとき、あるパラメータでは 領域が鮮明だけれど、別のパラメータでは不鮮明な場所とかできませんか? で、パラメータを変えて調べることで、より精度が上げられたりしませんか?
>>111 はい、確かにそういったことはあります。
しかしそれではあまり説得力がないような気がしたのと、
理論的にこのパラメータはこうしておかないと不味い、
というような制約みたいなものがないかと思いまして。
文脈から察するに、色々調節して良さそうなものを使えばよい、ということでしょうか?
113 :
デフォルトの名無しさん :2006/07/13(木) 17:44:30
gaborフィルタのパラメータは対象に依存するので経験的に設定されている
10×10の画像を9枚使用して1枚のモザイク画像(30×30)にしたいのですが 自分で作成したプログラムでは ABC DEF GHI Aの1ライン目を読み込み、Bの画像の1ライン目を読み込み、Cの1ライン目を読み込む Aの2ライン目を読み込む これをAを全て読み込んでからBを読み込む・・・ というプログラムにしたいのですが何かいい方法はありませんか?
>>114 ABCのファイルサイズ分のメモリを確保して、すべて読み込んでから処理を行う。
MIRUは、みなさんいかれるのですか?
画像を扱ってるなら、表示したりコピーしたりする関数をつくってるはず。 9枚位置を変えて一枚の画像に描くだけでは?
>>114 普通は
>>117 の言うように 30x30 の画像領域を
先に確保してそこに描画すれば済む話
もし、メモリをあまり使いたくないという意味なら
出力ファイルをシークしながら望みの場所に
書き込んで行くのがよろし
119 :
デフォルトの名無しさん :2006/07/16(日) 22:07:32
opencv で、画像のピクセルをある値にセットするには、 cvCircle を使うしかないんですか? なんか速度的に問題が出そうなのですが、ほかに何かいい方法はありますか?
>>119 IplImage 構造体のメンバに char *imageDataOrigin ってのがある。
これが画像データの先頭ポインタになってるから、あとは
ポインタ演算すれば好きな座標の画素値が読み書きできる。
詳しくは cxtypes.h 参照。
>>121 どこかモザイク処理されているところがあるの?
漏れにはノイズ処理されている個所しか見当たらないのだが。
で、一般にモザイク処理は情報量を極端に落とすので文字に対して非常に有効な情報隠蔽になる。
しかし、この画像のようなノイズ処理の場合は情報量が余り失われていないので隠蔽処理としては
著しく効果の低い方法と言える。
#試しに拡大してみると、「サーバ名」の一番上はどう見ても"2ch"としか読めない。
使われているフォントも特定できそうだから、解読は可能と考えられる。
そもそも何でまたこんな中途半端な隠蔽処理をしているんだ?
俺もモザイクとかかけるときは、見えそうで見えないギリギリを狙って調節するよ。 知っている人にはなんとなく分かるが、知らない人には分からない程度を狙う。
>>122 すみませんノイズ処理ですかw
ほんとに解読できるならしてほしい
金くれるんならやらないでもないが。そうだな、1行辺り1000円でどう?
いちばん上は「2ch」だね。
ほんとに解読できるならしてほしい
Napsterのワレズ子鯖だろ? 一行千円以上の価値があるんじゃねーの ソース一行コメント抜き整形済みで1000円だったら妥当か 画像の一行目はアドレスどころかポートまで判別可能だな
pngだしフォントもわかっているから(固定幅?) 簡単なテンプレートマッチングで合わないのを除外するだけでも結構解りそうだね
というか画像の一行目の2chとONT2chとMagicantは公開鯖で解読に何の価値もない 他にも公開鯖はあると思う 知りたいのは接続数が少ない非鯖だけど解読して入ってもBANされるような気がしないでもない
何の話をしてるのかわからない・・・。
何の話か分かっても、特に価値のあることではないですよ。
マジカント… 懐かしい響きだな
とりあえず糸井重里に関係があるような気がしてきた
135 :
デフォルトの名無しさん :2006/07/26(水) 13:05:07
パターンマッチングに関する質問はここで大丈夫ですか?
画像処理関連のマッチングの事ならここで大丈夫でしょう
137 :
135 :2006/07/26(水) 21:33:48
すみませんレスが遅くなってしまいました。 ゾーベルフィルタを適用した輪郭のみの画像の中から円を探し出したいのですが、 なにかアドバイスをいただけないでしょうか? 色の情報を利用する場合は重心から探索するなど考え付いたんですが、 線だけの画像の場合にどうしたらよいかわかりません。
重なり合っていないなら円形度(最外周の周囲長と円の面積から) 重なっていて、半径が分かっているならテンプレートマッチング 重なっていて、半径も不明なら輪郭追跡して、連続する同一曲率線上の3点から中心と半径を求めて、 円周上にちゃんと画素があるかどうかチェック
>>重なり合っていないなら円形度(最外周の周囲長と円の面積から) 円の^h^h面積 ラベリングしてからね
画像処理の研究者です このままだと 崩れ確定なので、 ベンチャーに夢をかけてみようかと思っています 問題は資金をどうするかなんですが、何かいい知恵はないでしょうか
内臓売れ
>>140 お前本気?
本気なら仕事して金貯めろ。
なに、貧乏下宿学生並みの生活して、修士号持って就職してるならすぐ金貯まる
>>140 自信があるなら未踏か Summer of Code に出してみれば。
144 :
デフォルトの名無しさん :2006/07/29(土) 02:24:25
>>140 がんばれ〜。
IPAの未踏ソフトウェアとか応募してみたら?
アイデア持って研究やらせてくれる企業めぐりとかどうよ?
何でもいいから働いてお金ためてから博士課程ってのもいいかもね。
だけど、研究職なんて実力のある一握りの人たちしかできないって事を胆に命じておいてね〜。
気がついたら家が公園のブルーシートとかなけるじゃんw
>>144 実際ブルーシートの人はどこまでできる人が居るんだろ?
256色画像のパレットをできるだけ見た目そのままに変えたいんだけどどうすれば良い?
意味が分からん
>>146 見た目そのままに変えればいいんジャマイカ?
>>146 256色画像のパレットを別の色に入れ替えたいんだけど、
見た目をできるだけ元のまま保持したいってこと?
新パレットの中で最も近い色を探して、
差異はFloyd-Steinberg法とかで軽減するんじゃね?
イミフメ。見た目を残して内容変える意味なんかないだろ。
想像だけど
>>146 は、ペイントかなんかで 8 bit color で保存したら、元の
絵と色が違うんで、なんとかならんかと言ってるんじゃなかろうか。
ペイントだと、256 色が固定で、使ってない色もパレットに含まれる。
(GetDIBits() だかで、bit 数を変える変換をしても同じになったと思う)
もしそうなら、減色ソフトを使う。vector にあったと思う。
相手の意図なんか汲んでやる必要ねえんだよ 時間の無駄 もっと有意義なことに使ってくれ頼むよ
154 :
152 :2006/08/02(水) 17:15:16
>>153 わかった。
ただ他のことをやってて、どうしても原因がわからないんで、一旦頭を切り替えた方がいいんかと
覗いたところへ、これにぶっつかったたんで、ひょいと血迷ってね。
まだだめだ、明日にするか。早いけど誰か誘ってビールでも飲むか。
色落ちして見るに耐えない絵になってしまったので復元したいってことでは? 粍
つ「メディアンカット」
ベクトル量子化?
フルカラーから256に落ちたってことは もう情報無くなってるってことだろ? どんなフィルタかましたって戻せないよ あきらめろ
159 :
デフォルトの名無しさん :2006/08/02(水) 23:11:13
誰か、Hilditchの細線化(thinning)のCソースコードをアップロードしてくれませんか? Googleで探しているんですが、見つかりません。。。
160 :
デフォルトの名無しさん :2006/08/02(水) 23:37:26
>>160 教科書に載っているのはこれだけど、
Hilditchと比べて、こっちの方が優れているよん。てのが山ほどある。
javaで動く画像処理ライブラリーってどんなのがあるのでしょうか
>>162 どうせ学生の研究だろ。
それくらい自分で調べろよ。。
164 :
162 :2006/08/04(金) 00:14:46
昔、調べたのですがOpenCVのような ほとんどの人がこれつかってるよ 的なものがないみたいだったので、 やっぱりそんなものなのかなという理解でいいんですよね
165 :
デフォルトの名無しさん :2006/08/04(金) 23:35:32
WinXP上のアプリで8bitのビットマップを作っているんですが、 システムパレットでの20の予約色のみを使って描画している場合は、 その色のインデックスは固定されていると考えて良いのでしょうか? 特定のピクセルが白色かどうか判断するのに該当の1バイトがFFhかどうかで 判断しているのですが。
そんなもの、あらゆる場合を想定するものだ
パレットのエントリの内容と比較しないとダメでしょ。インデックスだけでは 一般には分からない。なにかのデフォルトのパレット実装を前提にしてるなら別だが。
画像の回転である程度の速度、 例えばアニメーションなどを実現したいときはどうしたらいいでしょうか?
>>168 アニメーションの最中は多少品質が悪くても目立たないので
高速で低品質なアルゴリズムを使用する
>>168 つかえる状況が限られるが、処理するピクセルを間引くのも効果的。
286-386時代のトンネルの実装などではよく見た。
172 :
デフォルトの名無しさん :2006/08/05(土) 07:52:51
あ、やってみたら、十分な速度で動いてるっぽいです。 ありがとうございました。
>>172 (゚Д゚)
ちなみに、
>>170 >アニメーションの最中は多少品質が悪くても目立たない
いわゆるテレビアニメとかムービーとかだとそうだけど、
アフィン変換をアニメと称するなら、品質が悪いともろに
目立つこともあるよ。
例えばバイリニアフィルタリング有り無しだと倍率によっ
ては雲泥の差になる。
>>173 いやそんな微妙なこと気にしてる場合じゃないっすよ。
GDI+の回転ですし、ちょっと量を増やしたり、妙な処理を入れるとすぐに処理落ちって感じですよ。
このスレに描いてるのだから、自分でピクセルいじくり回してるのかと思った
>>175 回転の4分の1のパターンだけを用意して90、180、270度回転だけをするとか
色々と実用的(?)な技ってあるじゃないですか。
その中で最善の方法をと思ったんですけど・・・。
>>168 前スレで回転処理の速度についてのレスがたくさんあったが
ところで、
回転をshear処理でやると速いかどうかって結論でたの?
>>177 場合によるとしか言いようがない。アルゴリズムってそういうもん。
>>176 回転って、90度単位のみ!?
そんな単純な処理で重くなるのが気になる
ケースって、GDI使って2Dシューティング
でも作ってるの?
orz
182 :
デフォルトの名無しさん :2006/08/05(土) 20:33:43
このなかで、ピンボケ画像を鮮明化し、映画のようにナンバープレートの番号と変わりだせる方いませんか?
可能性をピックアップすることはできるけどね。
>>182 refocus-itでぐぐれ。そしてソフトウェア板のGIMPスレに行け。
186 :
デフォルトの名無しさん :2006/08/05(土) 21:10:01
フィルタリングっていうみたいなのですが、ソフトを何使っていいかわからなくて、 たぶん画像のパターンからどうたらこうたらするみたいです、
>>182 過去スレに複数枚の動画から高解像度の静止画を構成するという話題があったな
super resolutionでググれ
>>186 普通、累積度数はiと共に増えていくもんだ。
だから(2)の問題文の「以上」は「以下」だろうな。
>>182 できるけどピンボケの度合いによる
とりあえず画像見せてみて
>>182 エロ画像なら俺の脳細胞がフル活動して鮮明化してくれる。
>>186 大学卒業して8年になるから式で証明ってのがどう書いていいかよく覚えてないが
ΣH(qi)=(A(qi)-A(qi+1))+(A(qi+1)-A(qi+2))+…+(A(qj)-A(qj+1))
だから、展開するとA(qi)-A(qj+1)以外は消えるね。
>>193 大学ってのはそんなくだらねぇことやんのか?
式変換トリックの数学の問題ってのはマジで役にタタネェからな。
>>194 トリックって・・・186は、問題に従って、左辺を展開しただけじゃん。
1+2+3+・・・+10はいくつ?という質問に、55、って答えたのと本質は一緒。
>>196 だから、日本の大学生ってのはアホなのか。
>>191 基本的にはオーバーサンプリングしたフレームを
平均すればいいのかにょ?
ときどき出てくる話題だね
201 :
デフォルトの名無しさん :2006/08/06(日) 10:16:03
>>197 日本の大学生でいたことがないか外国の大学を卒業したか、どちらかでないと言えないセリフですね。
確率的には(ry
>>201 いや、中卒で就職がすんなりいく時代に大手に入った。
ITバブルは何でもアリだったからな。
Basic弄ってた程度でずいぶん優遇されたなw
いまじゃありえんw
就職厳しい時代に 独法研究所に就職決めた それも大手だぜw
>>205 わかったぞ。
そこで最新のエロ画像のモザイクはずしを研究してるんだな。
>>199 平均するだけじゃボケてしまう。ボケをモデル化して
観測値と推定値との逆問題を解くことになる。
208 :
デフォルトの名無しさん :2006/08/06(日) 14:55:01
>>207 詳しそうな人ですね
出来れば解説お願いします。
y_i:観測低解像度画像ベクトル x:求める高解像度画像ベクトル Fi:画像のずれを表す作用 B:ボケ作用 D:ダウンサンプリング作用 として、 Σ_i‖DB(Fi)x - y_i‖^2 の最小化問題を解くのが基本。 ちなみに複数枚画像を位置あわせして平均やメディアンを とった後に先鋭化してもそれなりの結果はでる。
モザイクはずしだけど、今のSuper resolution手法は画像間のずれが 簡単なアフィン変換で正確に合わせられることを前提にしているから、 それが出来ない場合は難しいと思う。
>>208 え・・・?それも分からないの? (^-^;;
ここってそういうレベルなんですか?
そう、解説できるほどのレベルの人はいないよ。
214 :
デフォルトの名無しさん :2006/08/06(日) 19:29:45
jpg描画プログラム書きたいのですが、 資料はどこをあたればいいですか?
>>214 何がしたいの?
普通に描画するだけならjpgかどうかなんて関係無く
GDI+使えば、これがサポートしてるフォーマットすべて描画できるけど?
jpgをどうしたいの?
216 :
デフォルトの名無しさん :2006/08/06(日) 22:50:19
画像処理について質問させてください ある2値化された画像の濃度データ?(濃度データって言うかわかんないけど) まぁ各ドットごとの値をエクセルに貼り付けたいんですが、どうすればいいですか? できればフリーソフトを組み合わせたいんですが、自分で探しても都合のいいソフトが見つからなくて・・・ ちなみ128*128〜160ぐらいの大きさの画像です。
perlあたりでサクっとスクリプト書いちゃえば早いんじゃね?
元の画像が読めさえすればcsvで書くのなんて1分もあれば書ける。
安易にテキストのppmとかにしてもexcelのシートの桁数制限にひっかかるんだよな。 まあ217のいうように自分でコード書くのがてっとりばやい。ここム板だし。
>>216 エクセルで画像処理するの?頑張るねえ。
じゃあ既に持ってると思われるソフトを組み合わせてもうちょっと頑張ってもらおう…
(1) まずは使われている色の濃淡値00〜FFを得る。R,G,Bの平均でいい。
(2) 仮にそれがF0なら以下の表に当てはめ 46, 30 を得る。
0 → 30, 1 → 31, 2 → 32, 3 → 33, 4 → 34, 5 → 35, 6 → 36, 7 → 37,
8 → 38, 9 → 39, A → 41, B → 42, C → 43, D → 44, E → 45, F → 46
(3) その値を前後逆にして末尾に2Cを付けて新しい色を #30462C とする。
(4) この色でそのF0な場所を塗り潰す。もう片方の色も同じ事をする。
(5) 対象画像を右に1ピクセル広げて広がったところを #000A0D の色で塗り潰す。
(6) 画像を上限反転させる。
(7) 24bitビットマップで保存する。
(8) 拡張子をcsvにしてエクセルで開いてA列を削除する。
90%くらいの確率でいけるはず。壊れても知らん。
221 :
デフォルトの名無しさん :2006/08/07(月) 01:22:28
>2値化された画像の濃度データ っていってみんな通じてるの? 俺はわけわかんないけどね。 2値化ってなに?0か1? 濃度って何?α値のこと? 自分用語なのか、一般的に使われる用語なのか俺にはわからんけど普通にわかるのか?みんな。
普通にわかるが。
221じゃないけど俺も分からん 実は2値画像じゃなくて濃淡画像だったって話なのかね
224 :
デフォルトの名無しさん :2006/08/07(月) 06:50:03
2値化でドットごとのデータってんならデータは 0,1,0,0,0,0,1,1,1,1,0,1,0,1, 0,1,0,0,0,0,1,1,1,1,0,1,0,1, 0,1,0,1,0,0,1,0,1,1,0,1,0,1, 0,1,0,0,0,0,1,1,1,1,0,1,0,1, 0,1,0,1,0,0,1,1,1,0,0,1,0,1, みたいになるはずだよな? 別に疑問なんてでねーじゃん。 サイズも128*128なら横サイズの256制限にひっかかることもないし。 これで掲示板に質問にくるって脳みそがまず理解できん。 この馬鹿何やってんだ?PG組んだことあるのか? それとも質問の意図が通じてねぇのか?はぁ?って感じw
>>224 ソフトがどうこうっていってるんだから、まずプログラムを組もうと思ってないんでしょ?
>>221 濃度データというのか不明っていってるじゃん?
おまいらもう少し好意的に相手の意図を組みとって答えてあげたらどうだ?
このスレはすぐ重箱の隅をつつきたがる傾向があるな。もっとこう友好的に
半年ROMってからこいこの池沼が
>>216 2値化されてるんなら濃度って言うようなもんじゃないだろうとおもう。
もしかしたら2値化する閾値も設定したいのかな?
どっちにしろ、元の画像のフォーマットがわからないと、なんとも言えん。
>>226 別におかしかないだろ。単に0%と100%ってだけじゃん。
EXCELじゃ領域足りない気もするけど
もっと画像処理ぽい話しようぜ
なんのためにVBAがあるのか知ってるか?w
>>220 凄いけどさぁ、単にxpmかpgmでも使って変換すればいいだけの話じゃないのか?
>>225 > ソフトがどうこう(ry
で、スレ違いどころか板違いであることを認識してるんだから
おまいさんが好意的に誘導してやればいいのにな
>>233 それってそっくりそのまま君に返っちゃわないか?
235 :
214 :2006/08/07(月) 18:13:01
>>215 勉強のために自力でコーディングしたいんです
>>235 こんな所で聞かないで自力でやってください。
237 :
デフォルトの名無しさん :2006/08/07(月) 18:19:08
箸より重い物を持ったことがありません><
>>235 自分でコーディングっつっても
ライブラリ使うのか、圧縮展開まで自分で
やるつもりなのかが分からん訳よ
後、自分で情報探すのも勉強の内だと思う
239 :
デフォルトの名無しさん :2006/08/07(月) 18:33:36
ライブラリは使いません 本当に基礎の部分からコーディングできないとマスターできないでしょう? 応用するために基礎に潜りたいのです
その心意気があってなぜここで質問…
無謀だからやめた方がいいよ。
JPEGの基礎から学ぶってことはDCTの勉強になるからいいんじゃない?
244 :
デフォルトの名無しさん :2006/08/07(月) 18:49:30
ネタとしか思えないw
245 :
デフォルトの名無しさん :2006/08/07(月) 18:51:56
毎日少しずつ勉強して 2年後あたりにおまえらと議論できるレベルに到達してやるぜ
わかったから2年間ROMってろ。
>>214 =239
1)まず、プログラミング全般をマスター(言語は一つでOK)
2)特定のライブラリを使って画像ビューアをつくる。
3)Jpg のファイル構造、圧縮アルゴリズムを勉強。
4)自分で3)のコードを書く。
2)までは、ひとによるが初心者でも2,3週間でOK
3)以降は、誰にでもできることではない、と予め警告しておく。
今どれくらいの知識があって、何が出来るのかによって回答は変わってくるな。 中高生なら、まず基礎的な数学をしっかり身につけることだ。 いきなり高跳びしても、基礎となる知識が足りなかったら理解は出来ないよ。 ソースコードを丸暗記したってんなら話は別だが。
249 :
248 :2006/08/07(月) 18:55:04
ミスった(´・ω・`) s/したって/したいって/
250 :
デフォルトの名無しさん :2006/08/07(月) 18:57:17
私立理系大卒ニートです>< 独習C++は読み終りますた
あんなクソ読みづらい本読んだからってどうしたんだ?
252 :
デフォルトの名無しさん :2006/08/07(月) 19:40:36
次の本よろ^^
完全自殺マニュアル
おいしい珈琲の淹れ方 上級編
255 :
デフォルトの名無しさん :2006/08/07(月) 20:09:25
茶化さないで下さい><
コーヒーだし
257 :
デフォルトの名無しさん :2006/08/07(月) 20:26:47
喫茶店で珈琲飲むじゃないですか><
夏だね
259 :
デフォルトの名無しさん :2006/08/07(月) 21:20:05
>>209 BとFiが特殊(ガウス過程で近似できる?)なときに観測値の平均でうまく行くということ?
BとFiは既知という前提。BとFiが交換可能でxはホワイトノイズと仮定する と,解がピクセル毎の平均を取ったものをdeblurしたものに収束するという 論文があった気がする。ノイズが両側指数分布の場合はメディアン。
少し調べた。 Bで表されるPSFの影響で 平均とるだけじゃぼけが残るのかな? どっちにしろ最低限の復元作業はいるんじゃないかな… MAP推定の場合事前確率モデルは何が一般的? あとPOCS詳しい人いる?
事前確率モデルは対象にもよるか…自然画の場合ね。
263 :
デフォルトの名無しさん :2006/08/08(火) 01:27:32
画像処理ってそれ自体学問になりそうだね
イミフメ
>>263 欧米では、画像処理専門の学部や独立した研究所もあるよ。
そんなの日本でもいくらでもありそうだが
SIGGRAPHいってきた人挙手
270 :
デフォルトの名無しさん :2006/08/10(木) 08:28:02
細線化処理した二値のラスタ画像をベクトルデータに変換したいのですが、 何か適当なアルゴリズムはありますか?
>>271 AutoTraceは輪郭線のベクトル化専用だと思っていた。
OpenCVの質問です。 IplImage *im1 = cvLoadImage("a.jpg", -1); IplImage *im2 = cvLoadImage("a.jpg", -1); のように、まったく同じ画像を2枚読み込んで、 im1->imageData[i]とim2->imageData[i]を全てのピクセルで比較して行くと、 普通全て同じ値になるはずですよね? 実際大抵の画像はそうなるのですが、 たまに、いくつかのピクセルの値が違う結果になる画像があります。 なぜなのでしょうか?
気のせい
275 :
デフォルトの名無しさん :2006/08/10(木) 21:07:00
画像処理やるなら何大がお勧め?
代アニ
それは大学ではありません。
美大
浅井愼平のアホが「くだらない」って言っちゃった件
281 :
デフォルトの名無しさん :2006/08/10(木) 23:41:23
282 :
デフォルトの名無しさん :2006/08/10(木) 23:42:57
>>275 画像処理つーてもいろんな分野があるからな・・・。
> ピクセルの値が違う結果になる
まさか「ピクセル」とかいって、
>>281 の指摘のようにパディングのゴミ値を比較してないよね?
まさかね・・・
俺、いまだにパディングってどういうときに入るのかわかってないw 構造体とかだと頭から4バイトだっけ? 構造体をmemcpyで強引にコピーしたときとかおかしくなるよね。 配列のときもでるんだっけ? 後、DirectXのサーフェイスかWin32APIのデバイスコンテキストか忘れたけど 単純に y * w + x っでピクセルを取得できないって奴だっけ? なんかピッチ幅とかいうのがあってそれが1行になってんだっけ?
>>284 この場合のパディングとは、アライメントとは関係なく、例えば、BMPなら横幅が
4バイトの倍数にそろえられることを指すのではないかと思います。
>>285 各行(スキャンライン)の開始ピクセルのアドレス間の差が、というべきでは。
ピッチ(pitch)とかスキャンライン長さ(scanline length)とかいうのかな。
幅変わったら困る。
287 :
デフォルトの名無しさん :2006/08/12(土) 05:29:56
幅を持つ直線(線分)の描画方法について教えてください。 線幅が1ピクセルの直線を描画するアルゴリズムについては、 様々な文献やネット上でもたくさん見つかるのですが、 幅を持つ直線については探し方が悪いのか全く見つかりません。 参考になりそうなWEBサイト等があれば教えてください。
289 :
デフォルトの名無しさん :2006/08/12(土) 19:25:04
昔はieとかjpgってまず全体像がモザイクっぽく見えて だんだん細部を表示ってパターンじゃありませんでした? 今はいきなり細部を左上からラインずつ表示してると思いますが 気のせい? 昔のおおざっぱ→細部描画の方が好きだったんですが アプリケーションで再現するには自力でjpg描画コード書けないと無理ですか?
プログレッシブJPEGで圧縮して、 低速回線で転送・受信しながら表示すれば今でもできるでしょ。
291 :
デフォルトの名無しさん :2006/08/12(土) 19:56:22
低速CPUであるだけでは駄目ですか?
あれって最初はブロックの直流成分を表示してるのかな
293 :
デフォルトの名無しさん :2006/08/13(日) 02:38:43
>>287 フルスクラッチによるグラフィックスプログラミング入門
294 :
デフォルトの名無しさん :2006/08/13(日) 03:12:22
プログレッシブは粗い画像>精細画像の順に送ってくるから最終的な 送信データ量は粗い画像の分だけ余計に増えていい事無いんじゃ? エロサイトが客逃がさないために使ってただけのような気がするが。
>エロサイトが客逃がさないために使ってただけ 一番重要な用途ではないか。
296 :
デフォルトの名無しさん :2006/08/13(日) 03:43:46
死活問題だな
JPEG はプログレッシブのほうが一般的に圧縮率がいいよ. (その代わり処理能力は嵩む) インタレースPNGはサイズがかなり大きくなるのでお勧めできない. 場合によっては粗い表示が出るまでの容量と、通常PNGの容量が同じというケースも. 規格自体が凝り過ぎで失敗してる.
>>294 ひょっとしてプログレッシブ形式は、荒い画像と精細画像のデータを
別々に持っていると思っているのか?
>>298 294 ではないが日本語をちゃんと読んだほうがいいのではないか?
いや、>294を読めば読むほど粗い画像を別に持っていると理解しているように読める。
>>301 同意しているのに、いや、とか言うあたりなんなんだろうね
いや、乗りで書いているという発想をしてみた。
300<可能性は少ない 301<いや、全く無い
いやーん、のび太さんのエッチ
いや、今では送信速度は充分なんだから総診療増やす必要ないだろ。 j・・ごめん、いや、って言ってみたかっただけ。
311 :
デフォルトの名無しさん :2006/08/15(火) 14:16:46
openCVで白黒反転画像を作りたいのですが、 真っ白のイメージを作って、二値化された元画像から差し引いて作ろうと思ってます。 openCVだと cvSet(イメージのアドレス,色,マスク) で設定できる見たいなんですが、 色のcvScalarの設定の仕方が分かりません。 分かる方いらっしゃいましたら、宜しくお願いします。
openCVは全く使ったことないけど、 cvSet(screen,cvScalarAll(255),NULL); cvSet(screen,CV_RGB(255,255,255),NULL); とかじゃねーの?
313 :
デフォルトの名無しさん :2006/08/15(火) 20:58:10
>>311 cvSet2DとcvGet2Dじゃね?
つか画像全体をスキャンするんだったら、関数介してアクセスするよりもメモリを直接扱う方が一般的じゃない?
ピクセルへのアクセス方法はFAQに書いてあるよ。
314 :
デフォルトの名無しさん :2006/08/15(火) 21:01:06
cv_scalarだけど、定義とその周辺のマクロはマニュアルに書いてあるよ。 どこがわかんねーの? typedef struct CvScalar { double val[4]; } CvScalar; /* the constructor function: initializes val[0] with val0, val[1] with val1 etc. */ inline CvScalar cvScalar( double val0, double val1=0, double val2=0, double val3=0 ); /* the constructor function: initializes val[0]...val[3] with val0123 */ inline CvScalar cvScalarAll( double val0123 ); /* the constructor function: initializes val[0] with val0, val[1]...val[3] with zeros */ inline CvScalar cvRealScalar( double val0 ); #define CV_RGB( r, g, b ) cvScalar( (b), (g), (r) )
315 :
デフォルトの名無しさん :2006/08/16(水) 12:32:44
2Dスクロールを高速にやるにはどうしますか? 新しく描画する分だけ描画して残りの部分はそのままずらせると良いんですが そのままずらすという行為をどう実装すればいいのでしょう?
>>315 環境依存。該当環境スレにでも逝ってくれ。
スーファミとかPCエンジンならBGスクロールレジスタを操作するだけなんだけどねぇ
>>315 そんなの駄目。
全然早くならない。
3DにしてZバッファ使って前から描画。
2Dだと頂点数が問題になりにくいからフィルレートの最適化に特化したほうがいい。
どこからがスレ違いなんだろう…
OpenCVでBGRを修正HSVに変換したいのですが 計算効率の良いソースは落ちていませんか?
またOpenCVか…
そういえばOpenCV1.0rc1リリースですよ。 linuxverも数日で出すってMLで流れてた。
OpenCVって まだVer 1.0すら出てなかったのか。 ようやくRCだったとは。 かなり昔からあるのかと勘違いしていた。
iplから数えれば長いんじゃない?
OpenCVの最新版だけど VC2005にも対応したみたいだね。 でもVC2005はファイル名に日本語使うとおかしな動きするから (MSの公式HPにもバグと書いてある) 使ってないんだよなあ。 VS2005使ってる人いますか?
>>326 ファイル名に日本語なんか使わんから問題ない
大きさや傾きなどを揃えるために非線形正規化を行いたいと 思います。本とネットで調べながらやっていますがよくわかり ません。何かいい本またはプログラムなどがあれば教えて下さ い。宜しくお願いします。
>>329 「大きさや傾きなど」の「など」って何?
図形のピクセル密度による非線形正規化だと、傾きさえ直っていれば、
基本的には縦横のヒストグラム正規化
お返事頂き本当にありがとうございます。 大きさや傾きを揃えるって書いたつもりですが、 間違えて「など」が入っていました。 ごめんなさい。 また、質問なんですが、 図形のピクセル密度による非線形正規化について 詳しく教えてくれませんか。 また、傾きさえ直っていればのところですが、 傾きを揃えるためにはどうしたらいいんでしょうか。 縦横のヒストグラム正規化についても教えてもらえないでしょうか。 また、それについての本やソース(C言語)があればうれしいです。 お忙しいと思いますが宜しくお願いします。
複数の色の中からある色に一番近いのを選びたいときってどうすれば良い?
>>331 パターン認識をやってんの?
色々調べたのなら、どこの何がわからないのか、もっと具体的な質問にしないと
あまりに広範囲で漠然としていて答えようがないよ。
330じゃないけれど、図形のピクセル密度による非線形正規化というのは、
例えば32x32の図形を4x32 の8つのブロックに分離してそのブロック内の
図形の特徴を抽出しておくとき、この特徴にピクセル密度を使うということかな。
この場合の非線形正規化とは、認識対象の図形に対して、やはり横を8分割した
ブロックを作って、元の図形と特徴が同じになるように個々のブロック単位で
拡大縮小を行うってこと。
>>332 普通は3次元ベクトルにして、ユークリッド距離が最小になるものを選ぶ。
335 :
332 :2006/08/20(日) 01:52:58
>>334 それって各成分の差の二乗の和が最小になるのを選ぶってことでおk?
>>335 おk。ただ色が近いってのはどういうことなのか考えるだけで研究にもなりうる。
有名どころな色空間でもいくつかあるし( RGB, YCrCb, HSV )、
距離だってユークリッドだけじゃない。
ま、普通にやる分には上の3つの色空間のうちどれか+ユークリッド距離だと思うけど
>>337 揚げ足じゃなくて疑問。普通 YCbCr じゃないか?YCrCbとも書くんだろうか。
表色系は各パラメタの順番入れ替えて呼べることが多いと思う。
わかればいい
>>331 大きさや傾きだけなら、ヘルマート変換(線形正規化)でもいいんじゃまいか
アフィンでも線形だし。
ソースや解説などいくらでも転がっている。
むしろ、傾きや大きさを求めるほうが難しそう
はい、パターン識別をやっています。 例えば、手書き数字の場合、数字が書かれている位置や大きさ が異なっているのが普通です。 その時に、数字の部分の外接矩形を求め、長辺の長さが32画素に なるように大きさと傾きを正規化しようとしています。 正規化に使うアルゴリズム(c言語のソース)を教えて頂きたいのです。 また、質問ですが、ヘルマート変換(線形正規化)についてのソースや 解説はネットでよく転がっているとありますが、全然見つかりません。 どのような探し方をしたら見つかるのですか。 教えて下さい。 宜しくお願いします。
ビットマップの回転で検索して出てくるソースの大部分がヘルマート変換 シェアーなど変な方法を除いて、ビットマップの回転=ヘルマート変換でFA あと、バイリニア補間程度は使ってね 手書き数字の認識だったら、斜めの数字を書くやつなんかめったにいないと思うので、 回転なしで 1 大きさを正規化 2 ストローク密度正規化(非線形正規化) とする方がいいのでは、 ストローク密度の正規化は、縦横のプロジェクションプロファイルをとって、ヒス トグラム正規化をすればよし。超簡単。 2やっても、ストローク位置の変動は残るので、特徴はストローク位置の変動に 強いものをどうぞ。あとは線幅に影響されない特徴をどうとるかだな。 まあがんがってくれ。
最初の段階として、手書きの数字でやっていますが、 本当は魚の画像でやらなければなりません。 それについてはなにかいい手法とかありますか。
>>344 そういう特殊用途のパターン認識になると、様々な手法で特徴抽出してみて、
良さそうなものを自分で選ぶ必要が有るんじゃないの?
例えば淡水の鮭科の魚の幼魚の個体認識だったらパールマークの位置関係とか。
もしかしたらその手法を開発するのが君の仕事なのでは・・・
うまい方法が見つかったら報告してください。
画像って泳いでる奴?地ベタに置いてる奴? どんな分野で使うの?
>>344 魚と文字とじゃアプローチが違うんでね?
正規化はしないで、類似画像検索の手法を使ったら?
特徴点の抽出+対応付け
輪郭が取得できるなら、自己回帰係数の比較など
あとは色分布(構図)や全体のカラーヒストグラムを補助に
とりあえず、安い類似画像検索ソフトに魚の画像を登録してみて、
どの程度できるか調べてみたら?
簡単に言いますと魚屋さんから頂いてある地ベタ画像です。 画像処理できれいな魚ときたない魚の自動識別をめざしています。 それで、魚によって個体差があるため大きさを揃えて、傾きも揃える ために正規化をしようとしてます。 そのためにどうしても正規化のC言語のプログラムが入ります。 1ヶ月ぐらいで正規化のプログラムって完成するもんなんですか。
>>348 画像処理屋なら1時間だと思うけど
ヘルマート変換がわからない人がやるとなると大変そう
正規化したとして、汚い魚をどうやって識別するのやら
画像を見んと何とも言えんが、「きれい」「きたない」を区別する特徴の値を
面積で正規化すれば良くて、位置と傾きの正規化はいらない気がする。
>>349 きれい/きたないを識別する処理を一般化するのはおそらく無理。
色情報もあてにならないし、模様情報もあてにならない。
強い光を当てて、反射係数を計測したりすればドロの部分がわかるような
きもするが、それにしたって、各魚の種類毎にチェックのアルゴリズムを
変更するしかないと思う。
すくなくとも、正規化に手間取るような人がそれをコード化するのは
絶対に無理だとおもわれるので、プロに依頼することをおすすめします。
汚い部分と綺麗な部分の識別が出来ているのなら、349の言うとおり
正規化しなくても、汚い部分と綺麗な部分の面積比を求めれば良いと
思います。
NN使えばそれなりの結果が出ると思うけどね。
352 :
デフォルトの名無しさん :2006/08/21(月) 00:12:23
今レポートを書いていて、わからない所がいつくかあるのですが教えて下さい!
353 :
デフォルトの名無しさん :2006/08/21(月) 00:15:21
↑ ×いつく ○いくつ でした
354 :
デフォルトの名無しさん :2006/08/21(月) 02:55:34
きれいな魚というのは一般のスーパーで売られている正常の鯛(タイ)です。 きたない魚というのは一般のスーパーで売られていない異常の鯛(タイ)です。 そして、異常の鯛についての形状を説明しますと正常の鯛(タイ)に比べ極端 にお腹の部分が出ていたりします。また、お鼻の部分が急にへこんだりしてい ます。350の部分で言っている色の部分についての測定は非常に困難であるため 現在、やっていません。その理由は正常の鯛と異常の鯛の色がよく似ているため です。
人間がやれ! なんでも自動化にすればいいと思ったら大間違いだ!
357 :
デフォルトの名無しさん :2006/08/21(月) 06:39:55
これはいいラダイト運動ですね
359 :
デフォルトの名無しさん :2006/08/22(火) 19:08:54
WindowsでIEEE1394のカメラをOpenCVで扱う方法どなたか知りませんか? direct Showを使えばよいんでしょうか? 指針だけでも教えていただけると助かります。 宜しくお願いします。
ググって出て来るヤツじゃ駄目なのかいな
361 :
デフォルトの名無しさん :2006/08/23(水) 01:27:48
>>359 立派なアプリを作るのでなければ、cvcamかhighguiに含まれてるAPI使えば?
DirectShowのラッパーだよ。
362 :
デフォルトの名無しさん :2006/08/23(水) 16:15:29
359です。
>>360 ググって出るやつは、リナックス上でのやつが多く、
windows上でやってるやつは見つけられなかったのですが、
力不足でしょうか??
>>361 そうなんですか。調べてみます。
コメントありがとうございます。助かります。
363 :
デフォルトの名無しさん :2006/08/23(水) 18:01:25
画像処理で、主にライティング技術と2値化画像の判別・判定について勉強したいのですが、 オススメの資料や教科書ありますでしょうか?
>>363 確かにライティング技術を勉強したほうがいいようだね
理科系の作文技術 「木下 是雄」
積分について以下の内容がなぜ成立するのか誰か教えて下さい。 現在以下の内容をC言語で書こうとしています。 ∬(x-α)i乗(y-β)j乗f(x,y)dxdy=Mijと記述されます。 ここでα,βは位置の正規化において決まります。 そしてこの値を用い、 大きさの正規化基準:M40+M04=1,傾きの正規化基準:M22=1 と設定するのが標準的な手法であります。 最後にこれについては重心周りのモーメントが必要です。
なぜもなにも、そう定義したということだけじゃん
乗を ^ と書いてたら真面目に読んだのにね
2chで数式を説明する時にtexで書いてしまうのですが 画像処理スレの人はtexは分かる人多いのでしょうか?
( ^ω^) おっおっおっ
365の質問の内容誰か教えて下さい。
「質問の内容を教えてください」ってのは意味不明也。 何がわからないんだ?何もわからないのかな。
文字通りだろ。 俺も365の内容がさっぱりわからん。
では、モーメントを用いて、重心と求め 外接長方形で画像を囲んで、大きさと傾きを 揃えるアルゴリズムはわかりますか。 お願いします。
だんだん釣り臭く見えて来た
いや、365も374も質問になってないし。 うちの嫁が、なにやら新しい情報を仕入れるたびに、ねぇねぇ、〜って知ってる? と聞くのと大差なさそうだ。どうやら、知らないと言って欲しいらしい。テラカワイス。
>>374 >アルゴリズムはわかりますか。
判りません。
378 :
デフォルトの名無しさん :2006/08/27(日) 22:17:45
塗りつぶした円を描画する一番速い方法教えて
379 :
デフォルトの名無しさん :2006/08/27(日) 22:17:51
>>374 すでに一般化してて何通りもアルゴリズムがあるんだけどさ。
モーメント使う方法も当然ある。
つーか、あんたは画像の高次モーメントが何を意味してるかわかってる?
式の上っ面眺めてるだけじゃわからんだろうけどさw
380 :
デフォルトの名無しさん :2006/08/27(日) 22:19:50
>>378 「一番」とか「最」の付く言葉を使うのはタブー。
それより速い方法がないことを証明する必要がある。
最中
最上川
384 :
デフォルトの名無しさん :2006/08/28(月) 00:47:07
画像処理ってプログラム界でもトップレベルのハードな分野じゃない?
いや、一番いい加減な分野だと思う。
だれかナイソウの式を教えて下さい。
388 :
デフォルトの名無しさん :2006/09/01(金) 02:58:49
君の言うナイソウの式とは、「点A,Bをm:nに分割する点の座標を求める式」でいいか?
決まった2点をとおる直線の式 中学生の数学 決まった4点をとおる3次式だと 高校生の数学
内挿ってこの漢字やったっけ。(>。<)
そんなことはナイソウ
imeの手書きパッドの文字認識アルゴリズムって分かる人いますか? 調べてもあまり出てこないけど公開されてないんやろか
394 :
デフォルトの名無しさん :2006/09/01(金) 18:16:24
>>392 まずは特許を調べてみては?MSの所有する文字認識アルゴリズム関連で。
MSが発表した研究論文を調べてもいいが、買収した企業の保有する権利を使っているのだとしたら、
いくら調べてもアルゴリズムの内容までは分からないんじゃないかな。
(買収前の企業が自社名で研究発表しているだろうから)
関係ないが、一般的な手書き文字の認識アルゴリズムとしては、
端点座標+ストロークの情報で認識ってことになるのかな?
MS-IMEの場合は書き順を考慮している感じ
NECだかどっかのは楔形文字にヒントを得て縦横のライン判定だっけ
東大情報理工学系研究科システム情報学専攻第1研究室にでもいってらっさい
Lanczos3による拡大縮小を行うプログラムを作りたいんですが よさげな解説ページ見つからないです・・何処にありますか
その5?
402 :
392 :2006/09/02(土) 00:53:48
>>394 特許を調べるという発想は無かったです
さんくす!
403 :
398 :2006/09/03(日) 19:45:44
>低域通過フィルタ ? >この台形の範囲内にある原画像の画素に、台形の(全てを足し合わせるとトータルで 1 になるように正規化された) 高さを掛けて畳み込み、縮小後画像の1画素を決定するわけです。 どんな範囲?正規化?畳み込む?? >帯域制限 FIR 形式の低域通過フィルタ ??? >実は Lanczos2/Lanczos3 フィルタこそが、その低域通過フィルタをそのまま デシメーションに使ったフィルタなのです。 意味不明 >Lanczos フィルタ(正確には Lanczos 窓関数を使用した FIR 低域通過フィルタ) >Lanczos2/Lanczos3 フィルタの形は次の図のようになります。 ('A`)・・・
おまいさんは、半年間ROMって、まず窓関数の根本的なことから勉強しろ
406 :
デフォルトの名無しさん :2006/09/03(日) 22:02:08
>>405 いやー。
本物の研究者様は馬力が違うね〜
>>403 意味がわからなくてもコードには落とせると思うけど.
実際に俺あんま意味わかってないけど実装してるし(w
>403 俺も理論はイマイチよく分からんけど、コードに落とせば どういう処理をしてるのかは理解できた。 なんでこう小難しい言い方をしなきゃならんのか理解に苦しむ・・・ あ、それはそのサイトだけの話じゃなくてね。
教科書とかも、難しい専門用語を使ってるだけで、実はやってることは (コードに直すと)単純。てのはよくあるよね。 100の説明よりは1のソース、みたいな。
いろいろなアルゴリズムを研究して、高品質縮小アプリを作ったが... 携帯でもヌケルエロ画像作成ツールだったorz
>>409 全然難しくないよ>用語
自分が知らない=難しいという発想はやめた方がいい。
PCの使い方の説明を全くの素人に説明しようとして苦しんだ経験は、
ちょっとPCをつかえる人には必ずあると思うが、専門用語を使わずに
理解しようとすることは、それに準ずるところがある。
思考の基本は言語で、複雑な概念を名詞化することで、より簡単に理解
できるようになるんだよ。
頑張って用語を学んでください>元記事の方
正直、画像を周波数として扱う概念自体がイマイチピンとこない
光の波動なんて感知できないでそ。
お前の目はモノクロかよw
そもそもラジオなんかないだろうなぁ
>>412 学問的に画像処理は信号処理の一部ですよ。
2次元への拡張さえできれば信号処理のテクニックが使えるのですよ。
フーリエ変換ぐらいやったでしょ?
ってかどの分野がどの分野を含んでるかすらわかってないって
その状況だと勉強のしようがないんじゃないか?
(将来的にある分野とつながったとかはおいておいて)
419 :
412 :2006/09/04(月) 14:27:29
実際学問やってるわけじゃないから、そういう部分は完全にすっぽ抜けてます。 仕事で画像処理(拡大縮小とか回転)が必要になり、ネットで調べつつ実装しただけなんで。 プログラム的に何をやってるかはわかる。だから、コピペじゃなくコードは書ける。 けど、それが理論とか概念上でどういう意味を持つのかは、あまり気にしてる暇はなかったり。
OpenPNL使ってるやつがあまりいないみたいなのはなんで? 便利だと思うのになあ
>>419 言ってることがむちゃくちゃですよ。
理論や式を理解せずに実装することなんか、絶対に出来ません。
それをやろうとすると、どこかのソースコードを参考に記述することに
なりますが、元のソースにもしバグがあっても、それを認識することが
できないではありませんか。
プログラムが原因の事故って、過酷な労働環境が原因だと言われているけれど
こういう考えのプログラマが増殖していたら、実はそのほうがずっと危ないん
じゃないだろうか。ちと不安。
なんか、嫌味たらしい性格の悪いやつがいるな。 Kusakabeみたいだ。
424 :
412 :2006/09/04(月) 16:39:03
>>421 まあ、もっともです。が、絶対にできないってのは言い過ぎかと。事実できてるし。
フーリエ変換なんてしらないし、ローパスフィルタとか言われてもよく分からないけど、
例えばLanczosを実装するためにどういうプログラムを組めばいいかは理解できてるよ。
たんに、Lanczosを実装するためには フーリエ変換やローパスフィルタ を知らなくてもできる、ってことであって、「画像を周波数として扱う概念」とは 直接関係ないだろ。
だから何?
だから、 > けど、それが理論とか概念上でどういう意味を持つのかは、あまり気にしてる暇はなかったり。 の例になってない。
そうか? >403には、Lanczosはローパスフィルタをつかったフィルタだって書いてあるが。
429 :
412 :2006/09/04(月) 17:00:40
418さんが、画像処理を信号処理で扱う代表のようにフーリエ変換をあげていたので それを例に出しただけ。 403を読む限り、Lanczosの理論はその信号処理(周波数とか?)の概念から 生まれたような印象を受けたけど、その概念そのもの(フーリエに代表されるもの?)や Lanczosの論理(ローパスフィルタ?)が分からなくても問題なく実装できてるってのが 言いたかっただけです。 バカ自慢もいい加減恥ずかしくなってきたのでこの辺で。
↓さあ、次の話題をどぞ
>>41 理論に興味ないんならライブラリ使えば終わりだったのでは?
LanczosじゃなきゃだめでどのライブラリがLanczos使ってるか調べるより実装したほうが早い
とか独自実装じゃないとダメとか何か理由があったの?
いや、どうでもいいけどさ
>>429 およよ。それは自慢じゃないにょ。プレゼンかなにかがあったとしたらその時に
「実際、どういう理論なのかはわかってないのですが・・・」って恥じる所だと思うにょ。
うん、本当に恥ずかしいと思っていいと思うにょ。
お前のその口調が恥ずかしいわ
434 :
デフォルトの名無しさん :2006/09/04(月) 20:57:24
>>421 >理論や式を理解せずに実装することなんか、絶対に出来ません
とてもプロの発言とは思えない。
できます。余裕で。
それがどういう演算の集まりによって出来ている式なのかは理解しなければ実装できないが、 何故そういう演算をしているのか、なにを求めているかというのを理解しなくても実装はできる。
dialog "jpg",16,"gazo" buffer 2:picload refstr sizex=ginfo_winx:sizey=ginfo_winy buffer 3,sizex/2,sizey screen 0,sizex/2,sizey/2 mes ""+sizex+","+sizey dim r,3:dim g,3:dim b,3 wait 100 title "横方向補間中・・・" /*横方向補間*/ repeat sizey y=cnt repeat sizex/2 x=cnt gsel 2 pget x*2,y r=ginfo(16):g=ginfo(17):b=ginfo(18) pget x*2+1,y r.1=ginfo(16):g.1=ginfo(17):b.1=ginfo(18) r.2=(r+r.1)/2:g.2=(g+g.1)/2:b.2=(b+b.1)/2 gsel 3 color r.2,g.2,b.2 pset x,y loop loop gsel 0 title "縦方向保管中・・・" /*縦方向補間*/
repeat sizex/2 x=cnt repeat sizey y=cnt gsel 3 pget x,y*2 r=ginfo(16):g=ginfo(17):b=ginfo(18) pget x,y*2+1 r.1=ginfo(16):g.1=ginfo(17):b.1=ginfo(18) r.2=(r+r.1)/2:g.2=(g+g.1)/2:b.2=(b+b.1)/2 gsel 0 color r.2,g.2,b.2 pset x,y loop loop redraw 1
>>理論や式を理解せずに実装することなんか、絶対に出来ません >とてもプロの発言とは思えない。 プロってレベルひくーーー
>>438 プロとは仕事を金にする人間のことだ。
理論ばっかりで商品作らんような奴らは学者というのだよ。
他人が書いたソースは読みにくい (読む気が起きない)
441 :
398 :2006/09/05(火) 00:08:37
理論が書いてあるページはありますが 実装方法はどこに・・
>>438 そうそう。
作ってナンボ。
いちいち理解して組んでない。でも完成はさせる。
これがプロ。
迷える子羊な
>>398 を放置して、総員揚げ足取り体制。
プロってレベルひくーーー
学者や研究者に比べれば、たいていのプロはレベル低い。 でも、きっと一番レベルが高いのは才能と情熱にあふれるアマチュアだろうな。
元々比べる物差しが違う
今ひどい自演をみた
449 :
デフォルトの名無しさん :2006/09/05(火) 01:23:00
土方も工員もプロだしなwましてやデジタル土方w
しかしこのスレは毎度だれかがポストすると 本題がわからない人でもワラワレと集まってきて本題以外の部分で叩きたがるな
ワラワレって orz ○ワラワラ ハイハイ
>>448 ざっと見た感じ、補間するのに線形だと、ボケるので、ガウスで中央値に
比重を掛けよう。しかし、sync関数のほうが周りを下げてエッジをきかせることにより
より、みえがよくなるんじゃないか?って方法かね。図だけ眺めててきとうに解釈したんだが
こんなのsync直接だと重そうだから、テーブル&ベジェ補間あたりで簡易的に実装すると
いいかも知れんね。
まぁ、使うときにはACMでも探しに行くがね。
>398 まるものプラグインのソース見れ
グラフィックエディタを作ってます。 今、3次ベジェ曲線を引く機能を作っていて、 アンカーポイントを増やしたときに、 そのアンカーポイントを通る接線上にハンドルを 置きたいんです。 が、接線の求め方がわかりません。 どうすれば接線を求められるでしょうか? よろしくお願いします。
>>455 実際にやったことはありませんので、もっと良い方法があるかも知れませんが、
三次のベジェ曲線を描く過程である座標における接線はすでに求めていると
思います。その接線を利用されてはどうでしょう。
研究者とプログラマーの違いだけど 例えばboostのソースコードの読みやすさと OpenCVのぐちゃぐちゃさを比べると一つの側面を知ることが出来る boosted cascadeの論文に原理はわかりやく書いてあっても あのコードじゃ・・・
写真に写っている人だけをある程度正確に抽出したいのですが、どういった方法がありますか? 背景や来ている服にはできるだけ制限をかけないで行いたいのですが…。
>>458 服は背景にしないってことだから2次元画像だと難しそう。
ステレオ視して3次元画像なら楽にできそうな気もするけど
>>458 人が写っていない画像との比較で
というのなら、たくさんあると思うが。比較なしで?
461 :
デフォルトの名無しさん :2006/09/05(火) 23:10:36
画像処理に興味があるんですが、どなたか理解しやすいサイト知りませんか?
462 :
455 :2006/09/06(水) 00:01:44
>>456 制御点だけ与えてやれば、ベジェ曲線の描画は、
ライブラリがやってくれるんで、
自分で接線の計算とかしてないんです。
463 :
デフォルトの名無しさん :2006/09/06(水) 02:21:09
>>458 人のどういう状態をどういう条件で撮像した画像から抽出するのかで難易度が変わってきそうだな。例えば、
・固定カメラで撮像した画像に映った一人
・固定カメラで撮像した画像に映った複数人
・非固定カメラで撮像した画像に映った一人
・非固定カメラで撮像した画像に映った複数人
1つ目なら背景画像との差分だけでOK(背景と同じ服装だったら抽出できないが・・・)。
2つ目以降なら下に行くほど難易度が高くなる(例えば、動画像処理によるトラッキングが必要だったり・・・)。
それと、人の初期輪郭(大まかな領域)は抽出前に与えていいの?
それとも、動いている領域(車とか風に揺れる木の枝とか)から人の動きを先に選別してやらないといけない?
(いや、ひょっとして人は静止しているのかな?)
>>461 現在どの程度の知識を持っているのか分からないが、CG検定エンジニアリング(画像処理部門)の2,3級の
テキストでも立ち読みしてみたら。去年の秋に刷新されて前より良くなってると思う。画像処理と一言で言っても
顔認識や文字認識、三次元計測などいろいろ分野が分かれてるので興味を持った分野が分からないと紹介する
のは難しいね。
>>458 まずセグメンテーションで色領域の形状を分割する
これとは別にニューラルネットで構築した人形の位置を大まかに検出するもので位置を特定する
該当する位置に属するセグメントを合体させて結果とする
465 :
デフォルトの名無しさん :2006/09/06(水) 18:51:02
>>464 ニューラルネットの学習はどうするんだよ
466 :
458 :2006/09/06(水) 19:29:00
>>459 >>460 >>463 >>464 様々な意見ありがとうございます。参考にします。
なお条件を補足しますと、
・写真に写っているのは静止している直立した人間一人。
・できれば1枚の写真から抽出したい。
となります。
467 :
デフォルトの名無しさん :2006/09/06(水) 21:14:34
>>466 条件はそれで全部だよね。
まぁ、とっかかりとしては、次のような処理手順になるのでは?
1.人の顔領域の抽出
・肌色(顔)と黒色(髪)のカラーの値をテンプレートとして準備(数値は実験的に求める)
・全画素を対象に上記テンプレートにマッチする画素のみ検出
・検出できた画素を使って領域作成
・作成した領域の中から顔らしい配置(一定の大きさの肌色領域の上に黒色領域が位置する)の領域の組み合わせを求める
・求まった複数の領域の組み合わせに対し、形状に関するデータ(例えば、楕円近似度)を計算して最も顔らしい領域の組を選択
2.人間全体の領域を抽出
・1で求まった最も顔らしい領域の大きさを計算し、首から下の胴体・脚の領域を比を使って推定
(日本人なら6頭身ぐらい、幅は顔の2.5倍程度と適当に仮定、赤ちゃんや外人ならその都度補正)
ただし、この方法では人が正面を向いて髪の毛が普通に見える(禿は不可)人だけしか検出できない。
影や帽子の有無に弱いし、横顔には無力だ。別の人が書いているように、ニューラルネットにいろんな見え方のパターンを入力してやって、
上で書いた各パラメータを学習させるというのも一つの方法だと思う。
てけとうに機械学習させたらできちゃったりはしないかな。むりか。 顔領域なら機械学習でけっこういいかんじ。OpenCV にあるよ。
469 :
デフォルトの名無しさん :2006/09/07(木) 00:18:21
えたいの知れないものだからといって、えたいの知れないものでてけとうにやっつけようとするなよ。 そんな奴研究でも現場でも使えん。
>>467 の解析プログラムがダッチワイフを捕捉しました!
サーモグラフもとりいれましたが、使用直後だったらしく熱源反応も感知していた模様です。
改善方法としては・・・
472 :
デフォルトの名無しさん :2006/09/08(金) 21:45:16
真剣な質問だ。まじめに答えてくれ。 今日、あるおっさんに怒鳴られた。「画像処理をまともに覚える気があるのか?」と。 数分の時間を置いてそいつは言った。漏れの書いたドキュメントをちらりと眺め、 「 P N G ってなんのことだ? 」 とりあえずこれはやばい、やばすぎるとおもって冷や汗たらたらだったんだが おまいらこれをどう思う?
473 :
デフォルトの名無しさん :2006/09/08(金) 21:57:37
そのオサーンは上司(で、かつ技術者)か? もしそうなら、転職を考えたほうがいいんジャマイカ? おまいはこれからもまともに評価してもらえんぞ。 シャチョさんとか営業なら技術的なことはその程度だろう。
474 :
デフォルトの名無しさん :2006/09/08(金) 22:00:03
>>473 一応上の人で、画像処理専門誌なんかにもたまーになんか書いてるらしい。
やっぱり逃げたほうがいいよな・・・。
ハテシナクフルクテヤバス。
475 :
デフォルトの名無しさん :2006/09/08(金) 22:19:13
結構年寄り(写真付きで掲載されているから分かる)が専門誌に解説記事書いてるのをよく見るな。 技能系(技術系でない)の話が多くてでうんざりすることが多いが。 例えば「これこれの画像処理に適切な照明系とカメラの位置関係はこうだ!」みたいな。 確かに産業応用ではそういう話は大事だな。 そんなオサーンにとっては、PNGは ま っ た く 関 係 な い だろう。
476 :
デフォルトの名無しさん :2006/09/08(金) 22:30:52
>>475 なるほど。んじゃ、ぶっちゃけソフト屋って広く枠くくって画像処理を考えたとき
そのてのおさーんから得るものはゼロに近いって考えたほうがいいんだな?
477 :
デフォルトの名無しさん :2006/09/08(金) 22:46:40
結構社員が多い会社に勤めているのか? ソフト屋とハード屋が明確に分かれているような。 出世とか独立を考えているんなら、得るものゼロってことはないだろう。 経験から得られたオサーンの知識もあながちバカにはできん。 一生ソフト屋で通すなら知ったことじゃないが。 俺的には「ハード知りましぇん・・・」のリーダーの下では働きたくないな。
478 :
デフォルトの名無しさん :2006/09/08(金) 22:56:24
しかしここはプログラム板なわけで・・・。 ま、ありがとう。とりあえず漏れはハード少しだけわかるソフト屋を追求してるが 別にめかめかしい光学系に興味津々というわけじゃないからなぁ。 あまりうるさいようなら逃げるわw
479 :
デフォルトの名無しさん :2006/09/08(金) 23:15:09
そうだな、ここはプ板だったな。気を悪くさせてスマン。 今のシステムはハードよりソフトの比重が大きくなっているは確かだ。 装置をどこからか買ってきてソフトで商売する(例えばケイタイでの画像処理)みたいに。 それならハードは仕様さえ読めればいい。 ウェハの検査装置の開発みたいなものなら、やっぱりハードは大事だけどな。
プ板なんて始めて聞いたな。 結局ムなのかマなのか分からん。
481 :
デフォルトの名無しさん :2006/09/09(土) 00:09:15
プログラム 板 プログラマー 板 別になってるな。
482 :
デフォルトの名無しさん :2006/09/09(土) 00:27:22
それじゃ、ここはム板で、もう一個の方はマー板か。
>>479 >ウェハの検査装置の開発みたいなものなら、やっぱりハードは大事だけどな。
規模と金額がべらぼうなので、ソフト屋はハード屋を苛める以外の理由でハードの知識は要らない罠。
光学検査系は、最早限界に近づいていてそろそろX線技師でもない限り触れなくなるしな。
#今は未だUVレーザーだけど。
上で論争になった「理論が分らなくても実装は出来る」ってのは
知識が無くても使うのに支障がないという意味だろうから
>>483 と言ってる事は一緒だな。
ということは学者の場合は理論が分らないと説明出来ないわけだから
当然ハードの知識(≠操作方法)も完璧なんだろうな。
485 :
デフォルトの名無しさん :2006/09/09(土) 19:15:13
俺は483でもその論争に加わったものでもないが・・・ >ということは学者の場合は理論が分らないと説明出来ないわけだから >当然ハードの知識(≠操作方法)も完璧なんだろうな。 俺の少ない経験から言えるのは、ハードよりの研究をしている先生はハードの知識が豊富。 ソフトよりの先生はハードの知識をあまり知らないという当たり前の結論です。 ソフトの先生でもそのソフトと関連性のあるハードの知識には詳しいね。
487 :
デフォルトの名無しさん :2006/09/10(日) 11:31:22
>>486 >[画像処理ソフトでの応用]の項で、赤と青のチャンネルを左右にずらす、
>とありますが、この処理だけで、ホントにサブピクセルを利用した、
>横方向の解像度が実質3倍の縮小になっているんでしょうか。
(R,G,B)が(0,0,0),(0,0,0),(255,255,255)(0,0,0),(0,0,0)の5ピクセル
だけが横一列に存在する場合を考えてみる。こうしたのは理解がしやすいため。
書いてある通りRとBをそれぞれ左右に1ピクセルずらしてみる。すると、
(0,0,0),(255,0,0),(255,255,255),(0,0,255),(0,0,0)になる。
RGB値から濃度情報のみを算出する。
ずらす前の5ピクセルの濃度 :0, 0,255, 0,0
ずらした後の5ピクセルの濃度:0,85,255,85,0
ただし、この濃度を求める工程は簡略化のため単なる平均化。
これで、3倍の高解像度化作業は終わり(確かに滑らかな濃度変化になってる)。
ただ、このままだと画像サイズが大きすぎる。
(元々3倍サイズの画像を使っていたんで)。
よって、1/3に縮小。これで画像サイズも本来必要な大きさになった。
こういうことなんじゃない?
>>486 1/3の縮小と1/2の縮小の違いは実際にデータを加工して見れば判るんでない?
1/2の方が品質の劣化の度合いは少ないと思うよ。
ClearTypeってモニターのRGBの配置によって見え方変わって来ない? RGBが縦に並んでたり横に並んでたり三角の頂点に並んでたりとか、 並び方によって色の選択をちゃんとやらないとうまく見えるような 気がしないのだが、 PnPでモニタからRGBの配置をOSがモニタからもらってるのかね?
液晶だと文字に奥行きが生まれそうだ。
>>487 3倍のサイズで1ピクセルずらすってことは、ようするにサンプリングポイントが
1/3ピクセルずれるってこと。
大きすぎるから縮小とかじゃなくて、RGBごとに1/3ピクセルずつずれたデータを
作成するのが目的だから、そういう手順になっているだけ。
>>489 当然変わる。一応RGBの順番は設定可能。
Pivotや変則的な配列には非対応。
492 :
487 :2006/09/10(日) 18:01:06
>>491 >3倍のサイズで1ピクセルずらすってことは、ようするにサンプリングポイントが
>1/3ピクセルずれるってこと。
>大きすぎるから縮小とかじゃなくて、RGBごとに1/3ピクセルずつずれたデータを
>作成するのが目的だから、そういう手順になっているだけ。
どうもありがとう。教科書的な説明だね。
拡大・縮小の件は元のwikiの方に3倍の大きさの画像でRBをずらしてから縮小
するっていう手順が書いてあったんで、そのまま引用して説明しただけだよ。
「大きすぎるから・・・」うんぬんっていう意図で書いた訳じゃない。
それじゃこの辺で消えるわ。
本来のClearTypeってのは、 CRTモニタのRGB発色素の位置関係を踏まえているはずだよなそういえば。
494 :
デフォルトの名無しさん :2006/09/10(日) 20:31:16
gnomeとかkdeのフォント表示設定はRGB配置の指定ができたね。
>>494 サブピクセルの順番ね。> GNOME
これってpangoがやってるのかな?
スレ違いスマソ
496 :
デフォルトの名無しさん :2006/09/11(月) 10:31:42
画像縮小でバイリニア法というのの説明かソースコードを探してぐぐっていますが、 見つかりません。ご存知の方がいらっしゃいましたら教えて下さい。 (整数分の1に縮小するのは、RGB毎の平均を取るのかなあと想像していますが、 任意の比率はどうしているんだろうというのが疑問です。)
C++で画像処理やりたいんですけど、いい参考書ありませんか?
499 :
496 :2006/09/11(月) 14:11:30
>>497 教えていただき有難うございます。見ました。
画像拡大は、線形補間になっているようですが、縮小はニアレストネイバーという
やり方しか載ってないように見受けました。
バイリニアというのは、縮小ではいわないんでしょうか。
>>499 拡大だろうと縮小だろうと回転だろうと、変形後の座標に対応する元画像の座標を求める
わけですから、その際のアルゴリズム(元画像の座標から実際のその位置の色を求める
アルゴリズム)は好きなものを使ってください。
そこにバイリニアを適用すれば、バイリニアです。
>>500 ,
>>501 お教えいただき有難うございます。
難しいところまではまだ分かりませんが、浮動小数点演算は避けられないそうも
ないので、もう腹をくくって試そうと思います。(縮小前後のサイズの最小公倍
数の画像を一旦作るってのは、利口だなと感心しましたです。)
>>502 扱う画像サイズと要求精度にもよりますが、固定小数点で整数演算に
還元することもできます。
もっとも最近のCPUは速いので、気にしなくて良い場合も多いです。
>>503 ご助言を有難うございます。
先ずは、feasible な手順を作って、後、計測しながら計算速度を上げる工夫を
しようと思います。
パイズリ法について解説してくれ
ネタはネタスレでやれ
507 :
デフォルトの名無しさん :2006/09/12(火) 10:46:43
テンプレートマッチングを使って円を抽出したいのですが、うまくできません。 下が判定部分のソースですが、おかしいところがあったら教えてください。 niti[i+x][j+y] //原画像のデータ(ゾーベルフィルタ後に2値化) PBM[x][y] //テンプレートのデータ(判定に使わない部分の値は100) nHeight,nWidth //原画像のサイズ Th,Tw //テンプレートのサイズ count //一致した数 for(i=0;i<nHeight-Th;i++){for(j=0;j<nWidth-Tw;j++){ for(x=0;x<Th;x++){for(y=0;y<Tw;y++){ if(PBM[x][y]==100) continue; else if(PBM[x][y]==niti[i+x][j+y]){ if(PBM[i][j]==255) count+=3; else count++; } }} if (count>=2){ for(x=0;x<Tw;x++){for(y=0;y<Th;y++){ QR[i+x][j+y]=255; QG[i+x][j+y]=0; QB[i+x][j+y]=0; }} } }}
今度は津波かwwwwwwwwwwwwwwwww
誤爆した
>507 つっこみどころは多いがとりあえず x軸が縦なのか横なのかはっきりしてくれ >for(x=0;x<Th;x++){for(y=0;y<Tw;y++){ >for(x=0;x<Tw;x++){for(y=0;y<Th;y++){
511 :
デフォルトの名無しさん :2006/09/12(火) 19:49:41
>>510 507自身が言っている「おかしいところ」は一番怪しいところはその箇所かと思われ
>>511 「おかしいところ」を指摘したレスに何を突っ込もうとしてるの?
513 :
デフォルトの名無しさん :2006/09/12(火) 21:36:17
>niti[i+x][j+y] //原画像のデータ(ゾーベルフィルタ後に2値化) >nHeight,nWidth //原画像のサイズ 普通、こんなふうになるのでは? niti[nHeight][nWidth] //原画像のデータ(ゾーベルフィルタ後に2値化)
514 :
GG :2006/09/13(水) 02:02:27
2つのほぼ同じBMPのずれを"pixel以下の精度で”知りたいのですが、よい方法を教えていただけないでしょうか。 現在は、それぞれの画像を256x256に切り出し、FFT変換してからcross-correlationをかけて、 相関画像のピーク位置を適当な関数でfittingして求めようとしています。しかし、どうも、cross-correlationの 本質的な問題からか、ずれが実際よりも10%程度小さく出てしまい正確な値を求めることができません。 例えば、5pixelわざとずらして、上記の方法の精度を調べましたが、4.5pixelのずれになってしまいました。 相関画像はフリーソフトのImageJというソフトを使って求めていますが、ソフトの問題でしょうか? 画像処理は全くの素人で、いきづまってしまいました。 どなたか教えていただけないでしょうか? よろしくお願いします。
515 :
デフォルトの名無しさん :2006/09/13(水) 02:12:55
このスレが適切かどうかわからないのですが、DMAについて教えてください。 DMAにていて、「メモリをコピーするのにCPUを使わずにHWのサポートで 行う仕組み」というぐらいの知識しかないのですが、これは周辺機器との間での メモリの転送にしか使えないのでしょうか? (たとえばプログラムからアクセスしている配列同士で任意にデータをコピー する、memcpyのような用途に自由に使えるものなのでしょうか?) グラフィックを画面に描画する仕組みがよくわかっていないのですが、 フレームバッファがCPUのメモリ空間にとられている場合、フレームバッファ→グラフィックチップ の転送はDMAで行われると思うのですが(あってます?)、このフレームバッファに データを書き込むときは、プログラムで別に計算したバッファの中身を 流し込むと思うのですが、その転送にはDMAは使えないのでしょうか(普通にmemcpyする?)? それと、いわゆるダブルバッファというのは、フレームバッファ→グラフィックチップで フレームバッファを複数用意して、DMAで転送する元アドレスを複数指定できる 仕組みのことなのでしょうか?それともフレームバッファは1つで、ユーザが計算している バッファを2つ持つというようなことなのでしょうか? よくわかっていないので的を射ない質問かもしれませんが、よろしくお願いします。
516 :
デフォルトの名無しさん :2006/09/13(水) 02:24:29
それと、これはグラフィックのチップによるかも知れないのですが、 たとえばプログラムの中で適当にmallocして取得したメモリを、 任意のタイミングでフレームバッファのアドレスとして設定するようなことは 可能なものなのでしょうか?それともフレームバッファのアドレスというのは ハード的に固定されているようなものなのでしょうか?
BitBlt・・・・
.
>>515 DMAはIDEの通信プロトコル?
ハードウェアアクセラレータがある場合はWindowsがそれをラップしてAPIに吸収してるので
memcpyするだけでアクセラレートされます
>>517 BitBltというのは単純なメモリコピーとは違うのでしょうか?
何かハードウェアのサポートがある?
それともソフト的な仕組みなのでしょうか?
おいおい、そりゃないぜ。適当にも程がある。
というかDMAを何か理解してないだろ Z80から勉強しなおせ
ダブルバッファはVRAMよりもメインメモリの方が早いという特性を利用した手法です VRAMはリフレッシュレートにより定期的にアクセスされてディスプレイに送信されてます VRAM上で何重にも描画作業をするとアクセスが遅い上に、描画途中のデータが転送されてしまいます そこでメインメモリにVRAMと同じサイズの領域を確保し描画はメインで行い いっきにVRAMに転送するというやり方がダブルバッファです
そんな古い時代の話を クマーーーー
>>519 ありがとうございます。
これまで純粋にアプリケーション的なプログラムの経験しかないのですが、
組み込み系やハードの勉強をしようと思って、下位部分の動作が気になっている
次第です。
失敬な DMAくらい知ってるぞ 魚に多いよね
DMAなんか大昔からあるだろ というか適当なレス信用すんなよwwww
じゃあ画面の描画とDMAというのはまったく関係がないものなのでしょうか? (DMAは一切使われていない?)
最近はAGPでは?w
すげえ、みんな鬼だ。 一つもまともな事が無い。
PCIもAGPもPCI-Expもぜんぶバスマスタ転送=DMAだから心配すんな。
質問が抽象的すぎるとこうなるという例ですね
たとえば、DMAを司っているのは誰なのでしょうか? 周辺機器がDMAを持っているのか、CPUがDMAを持っているのか それとも別のDMAを司るチップが別にいるのか… そして、そのDMAのトリガーを引く(レジスタをたたく)のは、 画面描画だと誰なのか(グラフィックのドライバがソフト的に? それともハードが自分で行う?)、というようなことがまず知りたいです。
>>533 SH-1でも8086でもなんでもいいから、CPUのデータシート読みなさい
>>533 本気でしりたいならちゃんと基礎からやれ
それをすっとばしても理解できるもんじゃない
補足すると、何か書きたいグラフィックアプリケーションがあって質問しているわけではないです。 たとえば動画を再生するようなシステムやテレビを受信して表示するシステムを設計するとして、 ハード、ソフト含め完全に内部動作を理解して最適化できるようにまでなりたいとしたら 何を勉強すべきかということが知りたいというか… その中でひとつ、デコード以外のデータ転送に関して画面表示の一連のプロセスが気になって、 何か奥の深い部分や勉強すべき部分が明らかになったらなあ、というのがもともとの 質問の意図です。
>>534 それは、8086などで使用されるDMAも、もっと高級なシステムで使われる
DMAも、使い方はほぼ同じということでしょうか?
それとも8086のDMAは単純で理解しやすいからということで、最近の
高級なチップでは別の高度な仕組みを持っていたりもするのでしょうか?
>>536 機械をバラして解説してる本とかあるじゃねえか
読めよ
使ってるチップには名前が書いてるじゃねえか
大抵のPDFは手に入るだろ
ゆとり教育の世代か?
一つひとつ自分で調べろ
>>533 DMAを司っているのは
バス・アービタ
バス・アービトレーション
コンピュータの仕組みなんか基本は昔から何も変わってない アナログ回路とデジタル回路を勉強して Z80のトレーニングボードでも買って弄ればいい
>>537 釣りっぽいけど
Z80や8086の頃は一つのバスを周辺と共有していたが
近頃のバスはノースブリッヂとサウスブリッジとかに分かれている
>>538 すみません。
資料を読んで勉強するのは絶対避けられないと思うのですが、
一人で引きこもって資料ばかり読んでるより、同じ資料を読むにしても
いろいろな人の経験を聞いたり、相談したりしながら勉強したほうが
情報の取捨選択や勉強の効率が独りよがりで勉強するより
あがると思ったもので…
というかここ何スレだっけ
>>533 >そして、そのDMAのトリガーを引く(レジスタをたたく)のは、
>画面描画だと誰なのか(グラフィックのドライバがソフト的に?
>それともハードが自分で行う?)、というようなことがまず知りたいです。
昔の話でよければ
DMAのトリガーはディスプレイコントローラー側はVSYNCで。
CPU側は単にメモリアクセスで。さらにそれぞれが衝突しないように
>>539
>>544 あ、ありがとうございます!
そういうことが知りたかったんです。
みなさん、どうもありがとうございました。 無知を承知で質問した甲斐がありました。
548 :
デフォルトの名無しさん :2006/09/13(水) 04:41:54
メモリ(従)と、DMAC(主)と、CPU(主)の3つが同じバスに接続されているときに、 バスを使用してメモリにアクセスすることができるのは、 ある時間をみるとDMACかCPUのだけです。 DMACとCPUが同時にバスを使用しようとすると、 バスアービターが設定された優先度に従い、バスの使用権をCPUかDMACに与えます。 実際はバスは多重化されていることもあり、 CPUがバスのあるレイヤーを使用していても、 DMACは別のレイヤーを使用してCPUがアクセスしている資源以外の資源を操作できます。 これは、ある資源はCPUかDMACからしか制御できないからで、 ここの部分はバスアービターが制御しているわけではありません。 この例では(主)としてDMACとCPUが1つづつしかでませんでしたし、 (従)もメモリしか出てきませんでしたが、 それぞれが複数存在する場合があります。 DMACが複数ある場合、その数だけバスのレイヤーがある場合が多いと思います。 バス上でのデータ転送には、ブロック転送とシングル転送の2種類あり、 ブロック転送がDMAの行う転送となります。 ブロック転送やシングル転送ができるかできないかは、 (主)と(従)の両者がブロック転送またはシングル転送に対応している必要があります。
あえて言うが、仕様書読めとか一人で勉強しろとか言うのは 詰まらん。知識がなくても誰でも書けるから煽りと変わらない。 ここはやり取りを楽しむ場じゃねーか。参加する気が無いなら 書かなけりゃいいのに。
>>548 詳しい解説、ありがとうございます。
たとえば一番最初の質問にあったような、周辺機器がまったく関係ない状態で、
単にCPUが自分の管理下のメモリ間のコピーをPIOでなく行いたいがために、
DMAでコピーを行うようなアーキテクチャというのも考えられるのでしょうか?
DMAを考えたときに、ソフトウェアから見るとMMUなんかでのアドレス変換も
いやらしく影響してくるような気がするのですが、それはそんなものでしょうか?
(これ以上は画像処理の本論からはちょっとかけ離れてしまいそうですが…
画像処理関係の人がやはり必然的にこういったことに詳しそうですので…)
>>549 ありがとうございます。
でも
>>538 さんも、言葉は厳しいですが
解説本なんかからチップの名前を元にデータシートを引っ張ってきて
調べるものだという学習の方法論を、大変有益な情報として提供してくださったと
思います。
そんなこともわからないぐらい私はこういったことに経験がありませんので…
そもそもDMAの話は激しくスレ違いか、下手したら板違いだと思うが。
>>514 数ピクセル程度のずれで平行移動だけなら
空間的にずらして差分を取るだけでよいのではあるまいか
0.01ピクセル精度くらいは軽いだろ
555 :
デフォルトの名無しさん :2006/09/13(水) 12:08:10
>>554 ありがとうございます。
直接相関という手法でしょうか?
FFTを使った方が早いということを聞いたので、FFT-相互相関をしていたのですが、
精度は、直接相関の方が高いのでしょうか?
>>555 いや、相関でなく差分、つまり引き算
差分が一番小さくなる位置にずらせばOK
誤差を2つの画像の差分で評価するなら、そりゃ差分で最小になる点を探したほうが精度高いだろうな
誤差を相関で評価するというなら別だけど
2つの画像の明るさが異なる場合は、やっぱ相関かな
>>514 bit別冊 1994年11月号に
「画像の位置合わせ手法の概観」
てのがある。まあ、輝度差の絶対値が使えるんだったら、それが一番効率よいと思うが。
559 :
デフォルトの名無しさん :2006/09/13(水) 20:27:36
>>514 ずれた結果が出て当然だよ。
画像全体を5ピクセルずらして、256x256全体で相関取ってるんでしょ?
画像は完全に重ならないよね。
ずれた分、それぞれの画像には違うものが入ってるっしょ。
部分領域ごとの相関を計算するようにしたら期待してる結果が得られると思うけど。
FFTで処理するんならちょいと工夫が必要。
境界条件を無限連鎖に汁
>>560 アルゴリズムの検証だけならそれがお手軽だね。
562 :
デフォルトの名無しさん :2006/09/16(土) 19:27:57
画像処理を定義づけてみてくれまいか、おまいら?
delete(画像)
565 :
デフォルトの名無しさん :2006/09/18(月) 14:16:36
>>564 ざっと見ただけだけど、結構ポイントを押さえて書いてあるね。
それに関連項目の画像処理ソフトウェアも参考になった。
562の質問とかぶるんだけど、画像処理のバイブル的な本って何なんだろう?
567 :
デフォルトの名無しさん :2006/09/18(月) 20:42:29
>>566 サンクス。購入を検討してみるよ。
でも、外国の書籍で高いね。
日本人の書いたもので良いのがあるといいんだけど。
著者の名前、初めて見たけど有名な人なのかな?
キタw
571 :
デフォルトの名無しさん :2006/09/18(月) 23:28:01
あなた、ここの仙人?www
学会(MIRUとかPRMUとか)ってなんであんなに質問しにくい 雰囲気なんでしょうか?
気のせい
ここで質問してもよろしいでしょうか? 二つの画像があり、一つは背景として使いたく、 もう一つはその中心の対象だけが使いたかったとします。 その対象は複雑な形をしています。 うまい具合に対象だけを背景の画像に移すことはできないでしょうか? 経験豊富な方、ご教授お願いします。
中央の対象による。 色などの特長により、その中心の対象が取り出す事が可能であれば、簡単
色の特徴ですか。 どういったことが好ましいのでしょうか? ちなみに対象はゲームの画面を スナップショットした画像です。
>>576 要はその抽出対象の部分が他の部分と明らかに違う特徴が無ければならない。
ゲームだと色は多彩だろうから無理だな。
つまりとにかく問題はいかにその対象物とゴミを分けるかに掛かっている。
これが俺の知っている事や。
>>577 なるほど、そういうことでは仕方がないですね。
アドバイスありがとうございました。
579 :
デフォルトの名無しさん :2006/09/22(金) 23:38:28
ある画像の中心の対象領域だけをくり抜いて、もう一枚の画像に貼り付ければいいのかな? だったら、手動だけど、次の手順で概ねできると思う。 1.Phtoshopの「なげなわツール」で大体の領域を指定 2.余分な背景領域を「消しゴムツール」で消去 3.処理した領域をもう一枚の画像に貼り付け 既に指摘されているように、全自動は余程対象に色などの一様性が無い限り困難。
>>579 あぁそういう話なのか。
Segmentation はこの論文がいいにょ。とか書くところだった
にょってw
Photoshopが半自動で切り出す作業をしてくれるけど どういう仕組みでそれをやってるのかを知りたい
輝度に変換して一番明るい点を探す 明るい点の周囲の画素を調べていき谷にぶつかったらそこが境界線
>>580 >>574 ではないが、セグメンテーションのいい論文を教えてちょ
色空間でのLBGクラスタリング使っているけど、もっといい方法があるのか知りたい
585 :
デフォルトの名無しさん :2006/09/23(土) 14:56:28
>>580 Segmentation に関するいい論文を紹介して欲しいにょ。
586 :
デフォルトの名無しさん :2006/09/24(日) 20:52:07
ImageMagickのconvertでマルチページなTIFFから特定のページのみを変換したいのですがそのような オプションがあったら教えて下さい
587 :
586 :2006/09/24(日) 20:53:03
誤爆った…逝ってくる…orz
588 :
デフォルトの名無しさん :2006/09/26(火) 09:48:26
3次元の点データからメッシュを貼るライブラリ(できればjavaかC++で)とかって何かないですか?
DirectX
高画質な減色のできるライブラリを探しています。 またはアルゴリズムの仕様書や論文でもかまいません(英語可)。 フルカラーから32色程度のパレットカラーへの減色を主な用途に考えています。 良い物をご存知でしたら、教えてください。 (できればOPTPiXやpag1テトラヘドロン並の画質がほしいです)
591 :
590 :2006/09/26(火) 10:27:56
減色というか、パレット最適化が目的なので、 色の量子化に関係する部分のみで十分です。
>>590 padieというフリー減色ソフトがソース公開していたと思うけど。
>>592 公開している場所を教えてもらえないでしょうか?
検索してもVectorやレビューのサイトしか出てきません。
ソース公開していたのは、より高性能のxpadieだけど公開をやめちゃったね。 xpadieのソースを元にした後継ソフトがいくつかあるみたいだけど、ソース公開しているかどうかは知らん。
インターネッツ・アーチヴェーで入手できるモヨン。
>>595 web.archive.org に残っていた。
でも2005/03の1つしか保存されていないので、そろそろ消えるかもしれん。
>>591 アルゴリズムそのものはそれほど難しくない。ポイントは下記の2。
代表する色をどう決めるのかが難しい(というより、汎用の最適解がないのかな?)
1.全ての色を3次元ベクトルにする。軸に何を使うかがポイント
2.全ての色を代表する2色の色を決定する。色の選び方が品質のポイント。
3.全ての色を、どちらかの色にまとめる(2-3.クラスタ分割)
4.これで、2色(AB)に減色されたことになる。
5.Aに対して、2.〜3.を実行する(CD)
6.Bに対して、同上(EF)
7.これで、4色に減色されたことになる(CDEF)
8.あとはこれを必要な色数になるまで繰り返す。
1.の代表的な軸は、RGBやYCbCr等です。
2.3.の代表的なアルゴリズムは、メディアンカットです。xpadieもこれ。
他にもいろいろありますが、実行環境(メモリの量やCPU)によって
も適したものが違います。
あとは言葉をキーワードにググってください。
>>596 へー意外と単純な処理なんだね。
減色する際の重要なファクタはむしろディザ分布とかの方?
ありがとうございます。WebArchiveで落とせました。 ソースを少し修正して、VC.net2003でコンパイルできました。 最終的にJavaで使う予定なのでここからさらに読み進める必要がありますが、がんばりたいと思います。 (フレームワークがMFCで助かりました。.NETだったら全然知らないのでお手上げでした。)
>>599 あのソースコードは致命的なバグがいくつかあって、
それが派生アプリが少ない原因だと思うんだが、がんばれな
おっと、減色の話題はそろそろ終わりにしておこう鶴亀鶴亀
601 :
596 :2006/09/26(火) 19:19:03
>>597 16色のようにものすごく色数を落としたいときはディザも重要になるかも
しれませんが、ディザは工夫しないと逆に汚くなることの方が多いです。
なぜなら、ディザに最適化された色分布と、単純にクラスタ分割していった
色分布は異なるわけですが、このディザ最適化を行った色分布を求めるのが
とても難しいため、単純にクラスタ分割した色分布でディザをかけてしまうことが
多いからです。
実際にコードを書き始めればわかると思いますが、最も重要なのは、
596で示した2番の代表色の選択です。
ある色がどちらの色で代表されるのかは、単純にノルムを取るくらいしか
やることがないので、結局、軸の決定と代表色の選択が減色の全てだと
言っても良いくらいです。
まともにやると、とても思い処理になりますので、高速化の工夫も色々あるようです。
結果も是非公開してください。
>>600 減色の話題は過去スレで何度も出ている
画像処理 その4あたりは、減色自作している漏れには参考になった。
そろそろmedian cutよりいい方法でてこないかねえ そうすればPag1の特許云々を気にしなくて済む
604 :
597 :2006/09/26(火) 19:45:30
ベクトル量子化 (or Vector Quantization) でぐぐれば一杯あると思うよ。 有名簡単どころでは k-means とか。
>>606 減色でそれ使うと、あまりに遅いんだよな
どこかでまともに実装された例ってあったけか
>>588 です。
よく分かってないんですが、
>>589 のDirectXにメッシュ化の関数?)があるんですか?
ソースとかありましたら教えて頂けないでしょか
点群からメッシュを生成したいんだよね?DirectXにはそんなの無いよ。
質問です。
http://www.geocities.jp/numada777/ip08.html このサイトで紹介されているパターンマッチング手法の1つに
【幾何マッチング】
ここ数年で流行し始めた、ターゲットパターンの回転やリサイズの影響を
受けないマッチング手法。エッジ点列を用いる。
とあり興味を持ったのですが、「幾何マッチング」や「エッジ点列」等でググっても
それらしきサイトが見つかりませんでした。これらについて詳しく解説されている
サイト、あるいは文献などありませんでしょうか。
>>610 よくわからんが、幾何学的ハッシング法のことかな?
デジカメで本のとあるページの写真を取って白地が黒っぽくなったのを うまいぐあいに自動で白地を白に戻すにはどのような手法が良いのでしょうか? Histogram Equalization ぐらいで良いかと最初は思っていたのですが、 光の当たりぐあいで一部白に近くなっているところがあったりするので、 うまく行きませんでした。
ガンマ補正してみるとかコントラストを上げてみるとか。 #どちらもやることは大して変わらないけど。 要は、入力値に対して出力値が決まる関数になればいいわけで。 #つまり、濃度値が0-255なら256エントリの変換テーブルを用意するだけ。
614 :
610 :2006/09/28(木) 11:48:16
>>611 目的の資料が見つかりました!
ありがとうございました。
>>612 一部だけ照明があたっているならシェーディング補正
全体をグリッド分割して、判別分析等で白地・黒地判定をしてコントラスト調整をする。
グリッドの境界で不連続にならないように補間する。つまりピクセル毎に異なる値でコントラスト調整。
背景だけ、前景だけのグリッドではおかしくなるので、輝度の分散値を使って調整する。
ってところかな。
>>615 その白地・黒字判定のパラメータの見つけ方が・・・
あとそのコントラスト調整はどの手法を想定しているのでしょう?
少なくとも Histogram Equalization ではないですよね?
どのシェーディング補正技法が今回のような場合いいのでしょう?
カメラの特性値から計算、などいろいろあったのですがそれはやらないとして
ローパスフィルタ?
そもそも>616はデジカメ写真の補正処理をプログラムでやりたいのか手作業でできればいいのかどっちなんだ?
>>617 「うまいぐあいに自動で」と書いたので必然的にプログラムになると思うのですが、
どうでしょう?
>>616 判別分析を使うならパラメータはない。
パラメータがあるとすれば、グリッドサイズと分散の閾値かな
白地と黒地を判定するのは、単に平均輝度では文字が多いか、照明が暗いかの区別ができないから
コントラスト調整は、
>>613 の変換テーブルを分散値の大きいグリッドで各々作成する。
分散値の小さいグリッドは分散値の大きい周辺のグリッドとの距離の逆数をかけて補間
あとはピクセルをスキャンして、ピクセルを囲む4つの変換テーブルでバイリニア補間して輝度調整
まあ、この手法では「本の」写真限定かもしれないが
JPEGはどうやって読み込むんですか?
libjpegなり そこらのライブラリ使うなりする imgctl.dllとか TJPEGImageとか
ライブラリを使うのが一般的です。 Windows なら GDI+ も楽で良いです。
WindowsならOleLoadPictureでもJPEGは読める
TEOとかいう変なの使うのはやめてくれ。 あと、右手座標&上をx軸とか変なの使うのもやめてくれ。
MAGはどうやって読み込むんですか?
>>625 susie プラグインでも使えば?
簡単に同じコードで多種多様な画像フォーマットに対応できるぞ。
このスレ的にはやはり、xv用のMAG/MAKIデコードソースを入手して解析するしかw
631 :
デフォルトの名無しさん :2006/10/07(土) 14:37:29
画像処理っていっても、いろいろあるけど 只、海外製のツール使ってるだけなのにブラックボックスにつめて 3倍以上の値段で売りつけるところもあるから、担当者は注意汁。 代理店の中にはごみも存在する。(つか、コンサルできもしないのに するって言い張るとか、詐欺に近いんだけど)
tpami毎月かかさず読んでたらコンサルできるかな
634 :
デフォルトの名無しさん :2006/10/10(火) 14:29:21
java初心者なんですけど、ある画像から画素値を取りたいんですけど、どういうプログラム書けばいいんですかね・・・?
ここは幼稚園じゃありませんよ
たしかに、634は酷すぎる
32色っていうとディザとメディアンを組み合わせるのか? どうやるんだ?
そうそうディザリングでぐちゃくちゃにされた画像を滑らかに増色する方法ってある?
高周波を落とすってことになるだろうなあ
単純にぼかすとエッジが失われるからダメだよ
画像のフーリエ変換についてお聞きします。 簡単のため、8bitグレースケールで考えます。 画像のピクセルデータは、8bitの実数で、 フーリエ変換すると、、複素数になり、 出力画像のピクセルデータには、この複素数の絶対値の二乗を入れるのですよね? 出力画像を逆フーリエ変換して元に戻そうとした場合、 得られるデータは強度だけなので、元に戻せないのですが、どうすればいいのでしょうか?
>>641 出力データ以外に、複素数のデータを持っておく。
それは、出力の画像ファイルに含ませられる、ということでしょうか? それとも、別のファイルを用意する、或いはプログラム中で保持しておくということでしょうか
>>643 出力画像を逆フーリエ変換して元に戻ると思ってるのなら、フーリエ変換を勉強し直した方がいいよ。
>>644 今北だが、言わずもがなそれを今やってるんじゃないの?
646 :
デフォルトの名無しさん :2006/10/11(水) 17:42:46
Digital Image Processing (3rd Edition)ってまた延期になったのね。 10月発売予定だったからAmazonでチェックしてみたら2007年のAprilとか書いてあるし。
画像処理の開発環境はlinuxが基本って聞いたのですが みなさんlinuxなのでしょうか?
VC大好きっ子ですが何か
>>648 画像処理にプラットフォームなんて関係ないと思うが。
OSに依存しない部分がメインなわけだし。
いくつかの数値計算ライブラリーはlinuxはフリー winは5万ぐらい払わないと使えない 開発環境のユーザーインターフェイスはVCのほうが便利 (eclipse使えばlinuxもOK?) VCはtemplateまわりでgccと挙動が少し違う。他人のコードを流用するとき不便
客先はLinux、会社はCygwin、自宅はMacX。同じソースが使えることが前提。
>>651 >開発環境のユーザーインターフェイスはVCのほうが便利
井の中の蛙乙。
俺はVC6は好きだったな。 .NETになってからはあまり好きじゃないが。
つーか画像処理なんて機種依存する部分なんてまったく無いのだから 汎用的に書けばいいだけでしょ
>>653 linuxで使いやすい開発環境ってどんなのあるの?
おしえておねえさまぁ
画像から音声処理に宗旨替えしないといけないぽい30台の俺 共通して使えるのは数値計算や統計の知識ぐらいか 音声でもwaveletぐらいは使ってるみたいだけど
>>656 それAAじゃなくてただのブラーじゃね?
最初のレンダリングのとこから2x2とか4x4でやんないと。
>>659 やらない奴をわざわざ普通のAAと区別してFSAAと呼んでいる。
将来はどうかわからないけど。
フルスクリーンアンチエイリアスでググルとASCIIの記事で図が出てるな。
VCのデバッガはかなりイイ。
662 :
656 :2006/10/12(木) 22:42:22
>>659 そうですか・・・
もちろん、レンダリングの段階でやるのが普通だとは思うのですが、
PS2などから出力されたあとの処理でジャギーをなくせないかと模索していまして。
>>660 アスキーの記事を見ていてもレンダリング段階でのAAのようですね・・・
Photoshopの合成モードで描画色と被描画色それぞれの 不透明度を考慮した計算の資料ってありませんでしょうか?
>>648 Delphi で画像処理してる.
算術シフトがないのが悩みの種 orz
野良コンポーネントのおかげで多種多様なフォーマットの読み書きは楽.
Lanczos3の拡大縮小も、バイリニア(←弱い)の回転も、減色も、各種定番フィルタもどれも自前で実装したぞ.
>>664 多分藤の中の人、つか、しーやん乙
Vectorでとりあげられてよかったね
とかいって実はJTrimの中の人だったらどうしよう
まあ、JTrimは、Lanczos3だけじゃないしな。
> Vectorでとりあげられてよかったね ご丁寧にどーも > まあ、JTrimは、Lanczos3だけじゃないしな。 藤も 近傍補間, 線形補間, 多項式3次補間, 多項式5次補間. Lanczos2, Lanczos3, Lanczos4, 平均画素法 と Lanczos3 専用じゃないけどね :-)
>>660 FSAAはエッジアンチエイリアスと区別するための言葉だと思うが。
本当にしーやんだったのかよwww いつまでDelphi使ってんの???
内輪ネタで盛り上がっているスレはここですか?
そうそう、算術シフトないんだよね、Delphi・・・ まあとはいえ、Delの最適化はクソなのか、自分でアセンブラで書けば 厳密な最適化を意識しなくても大概速くなるから、俺は画像処理系は 全部アセンブラで書いてるよ。MMXも使うしね。
671 :
デフォルトの名無しさん :2006/10/13(金) 11:22:55
同じプログラムならwinとlinuxどっちが速い?
>>671 単純なプログラムでは殆ど同じ速度だった。
でも実際にはファイルI/Oやらメモリ管理やらの影響が出るだろうから一概には言えないと思う。
#つーか、画像処理と何の関係があると言うのだろう。
>>672 サンクス。
俺の場合、同じ処理を大量のファイルに行うから
結構時間がかかることがある。
だから、linuxのほうが早いんだったら
乗り換え検討する価値があるかもと思って聞いてみた。
>>673 マジレスすると、画像データは大抵ある程度の大きさがあり、かつファイルは
圧縮されているので、ファイルのI/Oに費やされる時間は、処理を行う時間に比べて
ずっと小さいんじゃないかな。
アルゴリズムを見直すか、それが出来ない(または、すでに最高効率)なら、
マシンを早いものにした方がずっとマシだと思うよ。
漏れの感覚では小さいファイルをたくさんアクセスするなら、 sync しない限りファイルバッファ内で処理を行ってくれてかつ ジャーナリングなど余計な処理もしないext2fsあたりが最適。 停電でひどい目にあうけど。
そういう状況だと、FATなんか最悪だね。
initrdはext2、rootはext3、homeはntfs、さてvfatはどこに使うといいでしょうか。
USBメモリの類。
linuxの開発環境って結局なんだったんだろう emacs + etc は昔使ってたけど、VCほど便利ではなかった eclipse/CDT は便利だけど本格的には使ったことないので、 使い込んでる人の感想が聞きたかったな
>>675 自分は自作の画像処理ツール(Python+C++製)をWindowsで
動かすときは、実行前にデータファイルファイルだけ
Sysinternals Freewareのcontig掛けてる。
>>679 HINT:「使いやすい」は、個人の主観。特に慣れに負うところが大きい。
ほぼ10年前だがemacs lispでVCコンパチ環境をつくっていたよ。 fsspecでfopenを定義したり、bcopyでmemcpyを定義したり、いろいろやったな。 当時は、dos/win/unix/mac、cisc/risc all okのコードが当然だった。
Linux:シェルでバッチ処理大好き Windows:VC大好き どっちも素敵だよ。
高速でそこそこ綺麗に画像を縮小できるライブラリって無いかな・・・
バイリニアでいいじゃん
パイズリマニアでいいじゃん
平均画素
>>680 読んできた
winといったりきたりする可能性も考えると
eclipseかemaxの2択だな
画像というか色についての質問なんですが、グラフの描画なんかで 使えるような、相異なるN個の色を自動生成したいと考えています。 このためにLch(L*a*b*)色空間を飛び回って色を拾っていくような コードを書いたのですが、それでもまだ似た色が結構早期に 生成されることがあります。彩度(C)もしくは照度(L)が低い領域で 飛び回ると結構発生します。 まずは練習台としてWeb-safeな216色から拾うという縮小問題で やっているのですが、 1.起点となる色を選択 2.それまで選ばれた色群からの色空間距離が最も遠い色を次色とする 3.1に戻る という生成方法では、極端な例では - L,Hが(ほとんど)同じでCだけX違う - H,Cが(ほとんど)同じでLだけX違う というようなケースで同程度の色差が感じられないことが あります(ほとんどの場合は期待通りなのですが・・・)。 ちょっと基本的な確認なのですが、Lch/L*a*b*色空間は等方であり、 どの方向に対して移動しても、移動量が同じなら人間の認知距離は ほぼ同等である、ということであっているでしょうか?それとも 各々の軸方向についてはそれはいえるものの、異なる軸同士では それはいえないのでしょうか? もしより適切なN色の生成方法などがあれば、それも助言頂けると ありがたいです。
もうちょっと短くまとめて
LCHは明らかに等方じゃないので、 とりあえずLab でやってから調整してみて。
693 :
デフォルトの名無しさん :2006/10/18(水) 23:08:44
c言語で3次補間法のプログラム書きたいんですが 計算式がわかりません.誰か教えてください
>>692 距離計算ですが、単純なユークリッド距離については現在もLabに
落としてからやっています。ただ、ユークリッド距離以外の距離でも
やってみようかと、重み付けのために独立性の高いL/C/Hを使うため
Lchに一回持っていっています。
あと、LchとL*a*b*は軸の取り方が違うだけで空間特性は同じという
理解だったのですが、同じ2色間の距離はどちらで計算しても同じに
ならないのでしょうか?
視覚的距離ならhsvのがいいんじゃないの?
なんかよくわかんないけど、グラフを塗り分ける色を取得するだけなら、 色相環の一番外側を角度だけで取得すればいいんじゃないですか? 120度で3原色を渡り歩くから、それをふまえて適当な角度で。 視認性を重視するなら、mod 360の世界だから120前後の値で、なるべく重ならないような 数値を選べばいいんじゃないでしょうか。 類似性のある項目をn個作るなら、これを、mod (360/n)の世界にすればOKでは ないでしょうか。ここでは便宜上度で表現しましたが、実際はラジアンでもなんでも 自由にお使い下さい。
連投スマソ。わかりにくかったので修正。 なるべく重ならないような→何周してもなるべく重ならないような
>>694 >移動量が同じなら人間の認知距離は
>ほぼ同等である、ということであっているでしょうか?それとも
>各々の軸方向についてはそれはいえるものの、異なる軸同士では
>それはいえないのでしょうか?
あってる。二色のL*a*b*のユークリッド距離が一緒なら
人間にとっての認知距離はだいたい一緒。異なる軸どうしでもいえる。
あくまでだいたいだけど。
>>696 も書いてるけどLCHは極座標表現だから、
>軸の取り方が違うだけで空間特性は同じ
ということは無い。
>We are glad to inform you that OpenCV 1.0 >has been uploaded to SourceForge Congratulations━━━━(゚∀゚)━━━━Congratulations!!!!
OpenCV のなにが新しくなったのか本家に行くのダルいから誰かまとめて
704 :
デフォルトの名無しさん :2006/10/24(火) 23:53:53
WindowsでOpenCVからFFMpegの関数を使えるようにするにはどうすればいいのでしょうか?
>>704 OpenCV からって何?別に OpenCV 使ったらほかのライブラリが使えないわけではないぞ
706 :
704 :2006/10/25(水) 02:01:21
OpenCVのcvCaptureFromFile関数から、 MPEGファイルを読み込めるようにしたいんです。 linuxでは、FFMpeg→OpenCVの順番でインストールするだけで できたんですが、Windowsではそういかなかったんで・・・
1.0って OpenCVのcvsからダウンロードできるやつのこと?
CvSVMってlibsvmそのままみたいだね。 ベイズ認識ってただの混合ガウスなんだけど, PNLとの統合はいつ?
709 :
デフォルトの名無しさん :2006/10/25(水) 16:11:13
C++で、色空間を変換するクラスを作ろうと思っていますが、 Rgb2Yuv()とか、Rgb2Hsv()などのメンバ関数で実装するよりも、 テンプレートを使って、 color_convert<Rgb>( Hsv ); ※ Rgb, Yuv, Hsvは構造体 (中に記述されている変数名はそれぞれ違う) という風に記述したいのですが、うまいクラス設計が思いつきません。 どのように記述すれば上記のような記述が可能になるか、わかる方いますか?
>>710-711 ありがとうございます。
参考にしてみます。
できなければまた来るかもしれませんが;;
つーか、どっちもライセンスがゆるいオープンソースライブラリなんだから、丸パクリすればいいんじゃないか?
>>713 使ってみて、使えそうなら丸パクリしますw
c++だったら、.netやjavaみたいに toRgb(Hsv) toRgb(Yuv) : というふうにオーバーロードすればいいんじゃないか
>>710 GIL試してみたけど
VisualStudioユーザーには敷居高いライブラリだね
画像からの文字抜き出しをしたいんですがおすすめの本などを教えてもらえないでしょうか? ちなみにC言語で使っているコンパイラはC++BUilderXです。
>>717 「進化的画像処理」 長尾智晴
にいろいろ載っていたな。Cのソース付
>>718 それおいらも持ってるからわかるけど、載ってるソースは遺伝的プログラミングじゃなく、
遺伝的アルゴリズムのほうだから対した成果でないよ。
>>719 GPとGAの違いを3行で説明してくだされ
P と A
GAを使ってプログラムを生成するのがGP
え!買ってにソースコード書いてくれるってのか!? なんじゃそりゃ。うさんくせえwww
>>720 その本で本質的な違いとしているのは
ツリー構造であるか(プログラミング)
そうでないか(アルゴリズム)
>>723 GPは最初の紹介でそういうのに使っただけで、
別にプログラム生成にだけ使うわけではないし、他の機械学習でも同じようなことはできる。
プログラミングってのが誤解させるよな。
>>724 その人って別に本の先生の弟子でもなんでもないよな(本の先生は横国)
ほぼまんなトレースしたってかんじで、プロジェクトってかんじっつーか。まぁ修論だしな。
2D Gabor filter の式にいろいろな派生形があるようなのですが、 結局はほぼ同じなのでしょうか? まぁプロットしてみればわかるとは思いますが、誰か詳しい人いたらなぁと思いまして。
729 :
デフォルトの名無しさん :2006/11/01(水) 22:17:58
>>728 正規化のための係数が落ちてたりすることはあるけど、基本は指数関数と三角関数の積でしょ。
モフォロジー処理って難しい部類でしょうか? 軽く調べてノイズを除去することが出来るらしいことは分かったのですが なんというか・・・どうしてANDやORをとるとノイズが除去できるのか理解できません。 ちょっと原理を教えて貰えたりしませんか?
なにがしたいのか分からないけどopening closingのノイズ除去のことを言ってるのなら 簡単な原理だから、もうちょっとググってみるといいよ モフォロジー よりも モルフォロジー or Morphology でぐぐったほうがよさげ
もうちょっと調べてみますね
733 :
デフォルトの名無しさん :2006/11/03(金) 00:31:46
>>730 その手の研究ってまだやってる人いるの?
jpgファイルの幅と高さを書き換えるとたまにプレビューが正常に出なくなるのは何故でしょうか? 16x16の画像をバイナリエディタで画像サイズを15x15に直したとき、表示される場合とされない場合があります。 構造上16ドット単位で記録されているので15ドットも16ドットも内部では同じデータでいいはずなんですが。
誰か座布団もってけ
あ、できたわ。ごめん。まぁ宿題なんだけどね。
>>734 Cool!!
Youのサイトを公表しちゃいなよ!
740 :
デフォルトの名無しさん :2006/11/08(水) 14:44:06
画像に対してハニング窓というのを適用させる方法を教えてください。 調べると1次元の式は出てくるんですけど、画像の場合は2次元ですよね?
>>740 画像とは単にある量のピクセルの集合であって、それを目で画像としてみるためには
2次元のデータとして認識する必要があるが、メモリ上では1次元のデータに過ぎない。
また、窓関数の適用は、通常ピクセルを構成する成分に着目したりピクセル間の関係に
着目したりして導かれたデータに対して行われるので、好きな次元で成分に分解して
好きな軸のデータに対して適用すればよい。がんがれ。
2次元なハニング窓を作ったら conv2 でいいのか?
うおっと matlab スレかと思った。conv2 は matlab の関数ね。
やっぱりみんなMATLAB使ってるの? Rやoctabeとかいう異端はいないのかな
そりゃいるでしょ。OpenCV (C++) も便利だし。
746 :
デフォルトの名無しさん :2006/11/09(木) 22:38:31
>>740 cosの中のxをベクトルでかんがえたらだめなんかね?
そもそも、なんたら窓っていろいろあるけどどういう理屈でみちびきだしてるんだろ?
その辺のことも調べて2次元に拡張してみれば?
747 :
デフォルトの名無しさん :2006/11/11(土) 21:31:59
どのスレッドで質問したらいいのかわからないので、
画像処理ということでここで質問します。
やりたいのは、ペイント系ソフトから生成したトレースデータ(マウスの軌跡情報(XY座標)、色、太さ)
から画像を再描画することです。
今はImagiMagickのConvert -polylineでやったのですが、
かなりアバウトな画像となってしまいます・・・・・。
(画像例)
http://mproxy.ddo.jp/test/text.html Imagimagickのdrawで丸型先端とラウンド結合を指定するオプションは
あるのでしょうか?
またはほかにトレースデータから画像を生成する方法があれば教えてください。
初歩的な質問ですみませんが、お願いします。
特定のアプリの話はここじゃないよ
ペイント系はまずブラシの形状、色、半透明、筆圧など細かく設定されて描画してるんです まったく同じにしたければまったく同じにしなさい
俺はむしろCAPTCHA破りはエログリッドの方が 衝撃的だったな。
>エログリッド 今初めて聞いて軽く衝撃を受けた 赤の他人を利用すればいいのか 画像ソーシャルブックマークと見せかけた画像検索エンジンとか作れそうだな
平均画素法を用いた縮小アルゴリズムを実装してるんですが、処理を行う関数名はHeikinGaso()でいいでしょうか
754 :
デフォルトの名無しさん :2006/11/13(月) 10:25:35
>753 AveragePixel()とかの方が良いんじゃない? (個人的には…ですが) とか、MethodOfAveragePixelとか…かわっていないかw 参考まで。
そういや、関数名に全部食べ物を使用してた人がいたなあ。
美味しそうなプログラムだな...
面積平均法、ともいうからAreaAverage()とかな
758 :
753 :2006/11/13(月) 12:32:13
AveragePixelでいこうと思います レスありがとう
CalcDirectCurrent
名前を気にするってことは、public のメソッド名だろうから、迷わず、resize(const int nMode, ....) かな。 まあクラス名にもよるかもしれないが。 同一処理のメソッド名が、アルゴリズムの数だけあるって言うのは、結構イヤじゃね? private:なら、なんでも好きなのつけろ。
いいかげん、たかだか関数の名前のくそ相談にのるのやめてケロ
C言語でテンプレートマッチングを行いたいのですがお勧めの書籍やサイトを教えてください。
テンプレートマッチングぐらい適当にぐぐれ
raster_scanを汎用な形で書こうと思うのだけどどちらの方がいいと思いますか?
template<typename ImageType, typename FunctionObj>
raster_scan(ImageType src, ImageType dst, FunctionObj fobj)
{
for(y..)
for(x..){
dst ... =fobj(src...)
}
}
template<typename ImageType, typename FunctionObj>
raster_scan(ImageType src, ImageType dst, FunctionObj fobj)
{
//sub_imgを表すiteratorを
http://opensource.adobe.com/gil/html/gildesignguide.html#PixelIteratorSectionDGを参考に定義 iterator s0(src.begin());
iterator s1(src.end());
iterator d0(dst.end());
std::transform(s0,s1,d0,fobj)
}
766 :
デフォルトの名無しさん :2006/11/17(金) 14:46:18
右カメラで撮った道路の画像を、 路面の部分だけが左カメラの画像と重なるように 変換するプログラムを作りたいのですが、 どなたかお知恵を貸していただけませんか? 右画像の座標が(xr,yr) 左画像の座標が(xl,yl) 消失点のy座標がxy のとき、 アフィン変換 xl=xr+b*yr-b*vy yl=yr を使って作るという方針は 見えてきたのですが…
いきなりそんなこと言われても
769 :
名無し募集中。。。 :2006/11/17(金) 16:48:38
自分の作った地図生成アルゴリズムを検証したいのですが ステレオイメージシーケンスのサンプルってどこかにあります? 連続画像とか、ステレオのペアイメージはたくさん見つかるんですが ステレオの時系列連続画像って見つからないんです。
770 :
デフォルトの名無しさん :2006/11/17(金) 17:49:08
ごめんなさい… 素人はこれだから困りますよね とりあえずxv見て計算やってみます
771 :
デフォルトの名無しさん :2006/11/18(土) 01:17:33
輝度調整をするプログラムを作ってみましたが、 輝度調整できていません。 どなたか知恵を貸してください。
772 :
デフォルトの名無しさん :2006/11/18(土) 01:18:50
tran_ysh(in_y, out_y, out_hue, ym) int in_y[DATSIZE][DATSIZE]; int out_y[DATSIZE][DATSIZE]; int out_hue[DATSIZE][DATSIZE]; int ym; { int i,j; for(i = 0; i < DATSIZE; i++){ for(j = 0; j < DATSIZE; j++){ out_y[i][j] = in_y[i][j] * ym; if(out_hue[i][j] > 120) out_hue[i][j] = out_hue[i][j] - 120; if(out_hue[i][j] < 0) out_hue[i][j] = out_hue[i][j] + 120; } } }
773 :
デフォルトの名無しさん :2006/11/18(土) 01:45:23
卒論の季節かw
話とは関係ないけどさ その書き方久しぶりに見た
#GPGPUスレにも書きましたが・・ Mpegのエンコードにおける、動きベクトルの算出に GPUが使えたらと考えています。 参考になるようなサイト等ありましたら教えてください。
776 :
デフォルトの名無しさん :2006/11/20(月) 20:32:57
ある位置を中心に、少し移動する(上下,左右,前後,回転)カメラから撮影した写真から、 回転や伸縮処理をして、同じ画像になるよう揃えたいのですが (デジタルカメラの電子式手ぶれ補正みたいな感じ) いい感じの方法ないですか? 適当に何箇所か切り抜いて、画像変換しながら、 テンプレートマッチングしてそれぞれの写真の移動量を求めるとか無謀ですよねorz 一言でもいいんで、ヒントプリーズ
ヒントでピント
グレースケール変換もしくは二値変換してあとは力技で
なわけねえだろ
780 :
デフォルトの名無しさん :2006/11/21(火) 00:14:01
>>776 ん。山ほど論文があるけど。
オーソドックスなやり方は(1)画像間の対応付けをやって、(2)変換行列を求める、つーほうほう。
特徴点位置の対応付けとか、変換行列の上手な求め方とかいろいろ研究結果があるよ。
論文探してみたら?
781 :
デフォルトの名無しさん :2006/11/21(火) 00:28:20
勿体ぶらずに教えてくれよ 出し惜しみするな
だって出し惜しみした方が賢そうに聞こえるじゃん。
784 :
776 :2006/11/21(火) 15:07:55
パノラマ画像,モザイク画像とか投影変換の存在すら知らなかったんで助かりました。 メインの処理じゃないんで、複雑な計算は避けたいんですが、 勉強したりプログラム作りつつ考えま… 画像間の対応付けが結構悩みますね。 特徴点の正確な対応とかむずそう
特徴点抽出もいろいろある。 変換が微小ならHarrisでもOKかな? 金澤研で論文やソースが公開されている。
OpenCVにはいくつか画像処理の関数がありますが、それについて質問です。 F行列を求めるFindFundamentalMatとか、 エピポーララインを求めるComputeCorrespondEpilinesといった関数があるのですが、 これらは画像の座標を引数として渡す関数です。 で、画像の座標って左上が原点だったり左下が原点だったりすることがありますが この関数らはどっちを原点として処理を行っているのかが知りたいのです。 OpenCVのドキュメントは読んでみたのですがそれらしい記述はみつけられませんでした。 一般的な左上と考えて良いのでしょうか? どなたかしっている方はいますでしょうか。 もしくは何か良い調べ方などあったらお願いします。
>>781 一線から退いて今では他の仕事してるもんで。
論文検索しようにも、大学図書館のアカウントが無いんで…
788 :
初心者 :2006/11/21(火) 22:05:06
GdkImlibImageの構造体 im->rgb_dataって1次元配列ですけどわかりにくいので3次元配列(縦、横、rgb) で表す(に変換する)方法ありますか??
789 :
デフォルトの名無しさん :2006/11/22(水) 21:04:21
>>788 3次元配列で表現し直す代わりに,座標とrgbでアクセスするためのマクロ使えば?
790 :
デフォルトの名無しさん :2006/11/22(水) 21:09:12
ちなみに、むりやり3次元配列にしようとするすんごく面倒な方法しか思いつかなかった. unsigned char ***pix; int i, j, k, height, width; pix = (unsigned char ***) malloc (sizeof(unsigned char ***) * height); pix[0] = (unsigned char **) malloc (sizeof(unsigned char **) * width * height); for(i = 1; i < height; i++){ pix[i] = &pix[i-1][width]; } for (i = 0, k = 0; i < height; i++){ for (j = 0; j < width; j++){ pix[i][j] = &im->rgb_data[3 * k++]; } } free(pix[0]); free(pix);
class Pixel { unsigned char* ptr; public: Pixel(unsigned char* ptr_):ptr(ptr_){} unsigned char& operator[](int i){return *(ptr + i);} enum {Components = 3}; }; class PixelVLine { unsigned char* ptr; int line; public: PixelVLine(unsigned char* ptr_, int line_):ptr(ptr_), line(line_){} Pixel operator[](int y){return Pixel(ptr + y * line);} }; class VImage { unsigned char* ptr; int line; public: VImage(unsigned char* ptr_, int line_):ptr(ptr_), line(line_){} PixelVLine operator[](int x){return PixelVLine(ptr + x * Pixel::Components, line);} }; GdkImlibImageとやらで使えるかどうかはしらん。
>>794 これ見てやる気失せた。
--
116 名前:78 ◆h340fzU7jQ [sage] 投稿日:2006/11/23(木) 12:17:04
>>101 お前、ホント迷惑。
質問がスルーされるからやめてくんない??
まぁ、それが目当てなんだろうけどさ。
--
98 名前:78[sage] 投稿日:2006/11/23(木) 00:43:38
>>90 は私の質問ではないので。
つか、90さん、ファイルの中身がどうあれ、私に断りもなくファイルのリンクを
貼るのは、いかがなもんでしょうか?
99 名前:デフォルトの名無しさん[sage] 投稿日:2006/11/23(木) 00:45:19
>>98 ワロタ
100 名前:78[sage] 投稿日:2006/11/23(木) 00:55:37
分かったらさっさと答えんかいボケナスども
101 名前:デフォルトの名無しさん[sage] 投稿日:2006/11/23(木) 02:15:02
>>100 先生に断りもなくファイルをアップして公開のは、いかがなもんでしょうか?
分かったらさっさと削除せんかいボケナス!
ゲームで透過画像を回転させたいのですが 元画像より一回り大きい領域のすべてのドットから 元画像の回転前のドットを逆算していく方法以外に何かありますか? 透過部分がおおいと無駄な気がするので
転送先アドレスに、転送元のどのピクセルが対応するのかを計算しないことには、 そこが透過色かどうかはわからないので、アドレス計算自体は省略のしようがありません。 データや回転角に対して汎用でなくてもよいなら、省ける可能性はありますが そうでなければ、省けるのは、最後の転送くらいです。 しかし、そこで条件判断を書くべきかどうかは、最終サーフェースに描画しているのか、 中間バッファ(やレイヤー)へ描画しているのかによっても異なるでしょう。 書かれている情報だけでは、ないとしか言いようがありません。 ところで何で一回り大きい領域なの?
799 :
797 :2006/11/26(日) 12:04:19
一回り大きいのは画像が縦や横に大きいからです。 プログラム始めたばっかりで単語がよく分からないのですが 穴の位置を求めたりすることはできないと言うことですね 回答ありがとうございました。
背景差分法を行って、画像の中央に突っ立っている人物を抽出したいのですが、 2枚の画像に若干のずれが生じてしまい上手くできません。 何かいい方法はないでしょうか?
801 :
デフォルトの名無しさん :2006/11/27(月) 21:51:22
ヒント: 画像の中央に突っ立っている人物以外を一方の画像に複写すればピッタリ!
psdファイルをレイヤー書き出ししたいんだけど、 どこかにいいサンプル無い?
エッジ検出のアルゴリズムを2x2オペレータの類と以下以外であげてみてください ・Laplacian ・Sobel ・Prewitt ・kirsch
image registration ならITK
濃淡画像の画素値のx軸,y軸方向の分散ってどうだすんでしょうか? x軸,y軸方向の分散を出して2*2の分散共分散行列を作りたいんです 画像全体の分散だったら V=ΣΣ( f(x,y)-E )^2 で出せるのは分かるんですが,,, あるx行,あるy列の分散でもないんです
全行を横一列に合体ってことじゃない?
あれ、でもそれって結局同じだよな。ほほほ
>>806 濃淡画像から分散共分散行列を作る場合,3*3の行列にならない?
x=横,y=縦,z=画素値って感じで.
|Sx^2 Sx*Sy Sx*Sz|
|Sx*Sy Sy^2 Sy*Sz|
|Sx*Sz Sy*Sz Sz^2|
(S* = 標準偏差
ようわからんけど.
810 :
デフォルトの名無しさん :2006/11/28(火) 21:34:30
CG検定受けた?
>>804 Consistent gradient operators [Ando, PAMI 2000]
画像処理 機械学習についてコアな議論が行われている MLやニュースグループってどこかにないでしょうか? yahooのOpenCVのグループみたいな感じで頻繁に話題が出る けれど話題のLVは低くない というような場所を探してるのですが
813 :
デフォルトの名無しさん :2006/11/29(水) 14:32:57
opencvで聞いた方がよくね?
背景差分法を行って、画像の中央に突っ勃っているチンポを抽出したいのですが、 2枚の画像に若干のずれが生じてしまい上手くできません。 何かいい方法はないでしょうか?
>>814 去年の
IEEE TRANSACTIONS. ON. IMAGE PROCESSING
にサーベイがあるので、それをお読みください
てけとーに smoothing して色距離の閾値を見つけるのがんばればなんとかなるんじゃないの? サーベイ後で読んでみよっと。暇あったらリンクきぼんぬ。去年といわれても何冊もあるち。
818 :
デフォルトの名無しさん :2006/12/03(日) 07:55:06
IEEE IPとってるの?
819 :
817 :2006/12/03(日) 12:45:43
820 :
デフォルトの名無しさん :2006/12/03(日) 21:56:39
あぁ学生さんか
821 :
デフォルトの名無しさん :2006/12/04(月) 08:30:24
基本的な質問かもしれませんが教えて下さい。 移動平均法にはボケを抑制した移動平均法とエッジ保存平均化法というものも あると聞いたのですが、その2つは調べても出てきません。 どういうものなのか教えてもらえないでしょうか?
822 :
デフォルトの名無しさん :2006/12/04(月) 10:51:01
823 :
デフォルトの名無しさん :2006/12/04(月) 11:49:40
スレ違かも知れませんが質問させてください。 iアプリを使って画像処理をしたいと思っています。 カメラから読み込んだ画像の2値化などをするには どうしたらいいでしょうか?
824 :
デフォルトの名無しさん :2006/12/04(月) 11:54:08
iアプリの参考書→アマゾンで調べる
画像処理の参考書→
>>822
825 :
デフォルトの名無しさん :2006/12/04(月) 14:56:24
OpenCVの日本語解説ページって、まともなのがないな。 1.0の安定版でたんだし、まともなページ誰か作ってくれや。 WIKIにすら解説ページがないし
2枚(以上)の画像を比べて、 その両方に部分的に一致している領域がないかどうか、どこが一致しているかを調べられる ツールみたいなものはないでしょうか? @ □×○■ ☆△◎@ #▲■□ ×○★+ A +▲★□ ×○■□ △◎@☆ ×■○# @,Aの両方に ○■ ◎@ というパターンが存在している、と、 ただし、 ○■ ◎@ というようなパターンを前提としては与えず、2枚(以上)の画像の中からそのような一致部分を自力で見つけ出す
ツール探してるならスレ違いで板違いだな。
830 :
デフォルトの名無しさん :2006/12/05(火) 17:01:57
828みたいな奴っていらない
結婚式などで流す昔の写真をアルバムにしたいのですが、 どのようにしたらベストですか? デジカメで写真は撮ったものの、画像の鮮明度がかなり悪くて。。。 初心者でも使えるようなソフトウェアお紹介してください。 それと、何かいい方法はないでしょうか?
>>831 風邪ひいたのを桶屋に文句言わないで下さい
>>828 一致してない部分を抽出するツールなら作ったことあるけどな
モノクロなら一致する部分を抽出するツールも作ったけど…… 目的は全く違いそうだ。
836 :
デフォルトの名無しさん :2006/12/07(木) 19:19:39
専門学校生の課題だろ
837 :
デフォルトの名無しさん :2006/12/08(金) 14:46:45
>>835 モノクロなら一致する部分を抽出するツールも作ったけど……
言語は何で作りましたか?
OpenCVでしょうか?
>>837 なんかその文章を読むと OpenCV という言語があるみたいだな。
Office文書の1ページ目を画像として抜き出す方法ってご存知の方いらっしゃいますか? 一応 ・ VB/VBAで1ページ目を表示し、キャプチャして画像保存 ・ VBフォーム上などに1ページ目を表示し、ビットマップ系APIで画像吸い上げ保存 ・ そういう事が出来る印刷ドライバを探す など考えているのですが・・・
画像処理とはなんも関係ない気はするが、 Office>ポストスクリプトプリンタドライバ>GhostScriptの類 とかでできそうな気はするな。知らんが。
842 :
デフォルトの名無しさん :2006/12/09(土) 00:40:08
adobe::gilはboostに採択されたが やっぱりvigraのほうが優秀な気がする そう感じる人、挙手
845 :
デフォルトの名無しさん :2006/12/13(水) 09:38:05
adobeがゴリ押ししたんだろ?
だからそもそもboostに提案されていないライブラリは採択の対象になりえないってだけだろ? なんでごり押しとかいう話になるんだ。
質問: MPEG4やH.264みたいな動画のエンコード方式の話で、 「空白のインターフレーム」という言葉は存在するかな? この後に何か単語を付け足せば無理やり解釈できるけど、このままで意味が分かる人いる?
848 :
デフォルトの名無しさん :2006/12/13(水) 21:34:36
gimp
すごくあほな質問なんだけどさ, 互いに異なった猫の絵が2枚,互いに異なった林檎の絵が2枚と 計4枚の絵があったとするじゃん. 何の情報をもあたえずに4枚のうちどの2枚とどの2枚を組み合わせて グループを二つ作らせるかっていうのは画像処理なの?
類似画像の検索処理をするんなら、そうなんじゃない?
853 :
デフォルトの名無しさん :2006/12/14(木) 17:38:36
幼児と画伯が書いた猫と林檎じゃあ上手くカテゴライズできないと思うよー
856 :
デフォルトの名無しさん :2006/12/15(金) 09:31:45
ジュリア集合とかマンデルブロー集合かと思った
>>847 たぶん blank i frame (←これも別に一般的な用語ではないが、理解可能) のことだろう。
映像ストリームの末尾を I-Frame にしておくときに、最後のフレーム(の絵)を I-Frame 化
するのではなく単に黒や白のI-Frameを入れておくとかそんなとこかな。
やっぱりルイスウェインの猫か
859 :
デフォルトの名無しさん :2006/12/18(月) 01:32:09
素人なんですが、デジカメで虫の卵を撮ったのですが、 卵の個数を一気に数えられるソフトないですか?マジお願いします
日本野鳥の会の元メンバーでも雇え
この板はプログラムを作る人のための板です。 あらゆる質問はまずすれ立てるまでもない質問はここでスレにしてください。 その他、お勉強ページへのリンクスレ、 推薦図書・必読書スレ もあります。 プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。 ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。 Javascript は Web 制作板、CGI は Web プログラミング板へ。 業界談義、愚痴はプログラマ板へどうぞ。 ゲーム関係の話題はゲーム製作板へどうぞ。 ネタ、板とは関係の無い話題はご遠慮ください。
>>859 小さくて数えることが大変で、多少の誤差が問題ないなら
面積比を使えばいいんじゃないかな。簡単だし、そこそこ正確だろう。
>>859 NIH ImageとかImageJとかそういう機能あるよ。
寒天培地にできた細菌のコロニー数えたり。
蓮コラの予感
写真画像から、焦点の合っている領域付近を抜き出したいんだけどなんかいい方法ない?
>>866 特許公報でいっぱい出てくる。
特許庁データベースで検索してみたら?
868 :
デフォルトの名無しさん :2006/12/19(火) 15:39:34
OpenCVを使って、画像処理しているものですが。 全ピクセルのRGB情報を取得するプログラムを作っていて、 一つずつ表示するのはできたのですが、 画像の全ピクセルで行う方法がわかりません。 for(x=0;x<100;x++){ for(y=0;y<100;y++){ のような繰り返し文をみこしているのですが、書き方を教えてください。 なお、使用している画像はビットマップ画像です。 nChannelとかwidthを使用するのでしょうか・・・
870 :
デフォルトの名無しさん :2006/12/19(火) 18:08:01
えええええ!?
>>871 vigra使ってるけど便利
他のライブラリーに乗り換えても使えるのがGIL
vigraをGILでwrapして使うのがいいのかなあ
動画ならOpenCVが機能が一番充実してそう
>>872 ありがとうございます。
OpenCVは色々便利そうなアルゴリズムがあらかじめ実装されてる
ので、是非とも利用したいんですが・・・Cで書くのがちょっと面倒なんですよね。
とりあえずとっかかりとして、Vigraを使ってみて、
機を見てGILに挑戦してみようかと思います。
gil でraster_scanがこれだけで実現できることを発見。 感動した。 class subimg_from_locater_obj { public: std::size_t width,height; subimg_from_locater(std::size_t _width,std::size_t _height):width(_width),height(_height) {} template<typename Loc> gil::image_view<Loc> operator()(Loc &loc) { return(gil::image_view<Loc>(width,height,loc)); } }; std::size_t sub_width=10,sub_height=10; gil::bgr8_view_t bgr_sub_view=gil::subimage_view( org_img, 0,0, org_img.width(), org_img.height()); subimg_from_locater_obj sfl(sub_width,sub_height); for_each_pixel_position(bgr_sub_view, sfl) ;
875 :
874 :2006/12/21(木) 16:35:39
一部間違ってた書き直し class subimg_from_locater_obj { public: std::size_t width,height; subimg_from_locater(std::size_t _width,std::size_t _height):width(_width),height(_height){} template<typename Loc> gil::image_view<Loc>operator()(Loc &loc) {return(gil::image_view<Loc>(width,height,loc));} }; std::size_t sub_width=10,sub_height=10; gil::bgr8_view_t sub_view=gil::subimage_view( org_img, 0,0, org_img.width()-sub_width, org_img.height()-sub_height); subimg_from_locater_obj sfl(sub_width,sub_height); for_each_pixel_position(sub_view, sfl) ;
すいません、ググれって怒られそうなんですが、 フリーの画像ライブラリについてのお勧めサイトってご存知ありませんか? 1からいろいろサイト見てはいるのですが、 知見のあるみなさんの見ているサイトを教えてもらえたら 一石二鳥(意味違うかな?)かと思って・・・ (当方現在はImageGearで画像処理関係を行っていますが値段のわりに出来る事が・・・)
opencvのC++バージョンてどうなの?? webに情報がさっぱり無いもんだから、 存在に気づかずCを使っちゃってるんだけど。
>>878 ありがとうございます。
最初タイトルで「まさかそんな」と思ってしまいましたが、
ほんとにこんな名前で見つかるなんて・・・
脳味噌ぶら〜んでしばらく勉強させてもらいます_(^_^)_
>>877 ためしに使ってみたことあるけど うんこ
881 :
デフォルトの名無しさん :2006/12/22(金) 02:10:58
OpenCVのcvResizeメソッドで、どこもかしこも 元の画像の1/2やら1/8やらなんですが、 普通にwidhtとheightを決めて、pixel数で ウィンドウサイズを決める書き方って、 どうなってるのでしょうか?
882 :
デフォルトの名無しさん :2006/12/22(金) 10:30:06
べつに
テストチャートの解像度をプログラムで解析するって難しいですか?
一概に言えない。
Java で画像処理やろうと思うか? 速さを求めて C か、いっそのこと matlab だと個人的には思っている。
別にJAVAでもRubyでもHSPでも何でやってもいいよ
レイトレで一枚まる一日かかってた時代にくらべれば、どの言語であろうとこんな世界ほろんでしまえサンタなんていないんだよ俺がサタンとなって世界を
開発効率と速度のバランスだとC++でtemplate+intrinsics+場合によってはインラインアセンブラか最初からフルアセンブラの二択だと思うが。 少なくとも素のCとかありえない
速度なんて何台か増やせばいいだけじゃん
>>892 並列処理の存在は知っているが、それをどう実現すればいいのかを知らない人が
よくそういうことを言うね>増やせばいいだけじゃん
>>889 そいつらより絶対に matlab のほうが効率よくね?
matlab に比べて Java が早いわけでもねぇし。
C, C++ なら早いからまだその気持ちがわかる。
>>892 「すればよい」ってのは「しなければならない」
ってのと等価だってことを頭の悪い人は気付いてないよな。
>>893 画像処理じゃないけど、実際に作って使ってるんだけどな
最大17台程度だからしょぼいけど
>>895 仮にアセンブラで書いて、17倍の速度出せるのかね
17台=17倍だってw 勘弁してけろwwww
>>898 たしかに1枚の画像とかならその反応は正しいよな
動画を前提としていた俺も悪いと思う
アセンブラとか痛いアホな書き込みが目について反応したのが悪かったよ
>>894 計算処理を書く効率だけで考えたらそりゃ最強だろうが、
画像処理をしたい場合って、全てが計算だけでは済まないだろうよ。
そう言う意味で、汎用的な言語で画像処理をやるのは意義がある。
例えば、なかにはCGIで画像処理をしたい奴だっているだろうしさ。
つ適材適所 プロはこんなくだらない議論はしないから、アマチュアだろう。 ある場所になにが適切なのかの話は大いにやって下さい。
某所の画像処理ではXeonを積んだPCが数百台。 次期システムは同等以上のパフォーマンスで、Woodcrest*2のPCで何台まで減らせるかに挑戦。 こんな応用もあるにはある。
>>901 そんな当たり前の結論をわざわざ悪態と一緒に出されても困っちゃう
>>887 C++/CLI
があるのにC#wrapなんて意味あるの?
>>894 メモリーや計算時間のかかる処理はc++
Boost.Python
と
Python.WSH
経由でmatlabでもexcelでも自由自在にデータ引渡し
>>904 単にC++/CLIが嫌なんでしょうね
サポート言語が多いに越したことはないと思うし(特にVBや各種スクリプトて扱えるとなると人口が一気に増えるし)
C++/CLIも将来どうなる事やらというのはあるよな
908 :
デフォルトの名無しさん :2006/12/26(火) 01:00:00
そんなことよりおまいら論文{よも|かこ}ーぜ
画像処理系のベンチャーって、少し前に話題になったOCR会社(解散したけど)以外では、どんなのあるの?
ss
adobe
912 :
デフォルトの名無しさん :2006/12/27(水) 17:10:43
279ってほんとくだらない
913 :
デフォルトの名無しさん :2006/12/28(木) 01:39:16
日本じゃ少ないのかな?画像関連のベンチャー。 つか、商売になるんかね? 確率過程理論を駆使するにしても、パタン認識アルゴリズムとかデジタルフィルタ作ってもあたり前の評価しか受けられない。 一方で、同じ確率過程理論を用いて金利予測のソフトを設計するとこれはエリート扱い。
914 :
デフォルトの名無しさん :2006/12/28(木) 17:44:55
画像から赤色だけを抽出して描画するのにRGBの割合を使って抽出しろって言われたんですが、 Rの値でじゃなくて割合を使う意味って何なんでしょうか?
915 :
デフォルトの名無しさん :2006/12/28(木) 17:49:24
単に、Rが255でもG,Bも255なら白になるからじゃないのか?
915の顔色が赤くなっています。
言ってることは間違ってないが、もっと単純な話だっただけだな。
915は正しい 916は915の一例 917が一番アホ たぶん専門学校生
ヒント:冬休み
921 :
デフォルトの名無しさん :2006/12/29(金) 00:55:49
厳密に考えるなら、使用するセンサーの波長に対する感度特性+信号変換+量子化過程と検出したい色の波長帯の関係から割合を求める。
>>914 Rの値だけで判別すると、薄紅やブラッディローズは赤ではないということになって困る。
>>921 心的色空間についても考慮したほうがいいんじゃないか?
類似画像の検索に使われるアルゴリズムってありますか? 色の重心位置で調べるんだっていうのは聞いたのですが、 ほとんどの画像(とくに白黒)が、RもGもBも画像のほぼ中心に重心が くるので、これでどうやって類似をチェックするのかよくわかりません。
>>924 彩度が極端に低い画像は、単純に輝度の重心で考えればいいんじゃないか?
>924 >RもGもBも画像のほぼ中心に重心 あぁー重心の意味がちがうぞ、それw
640*480の画像の(320,240)に重心が・・・・というのはさておき、 今日明日はたくさん見られそうだな 重臣
928 :
デフォルトの名無しさん :2006/12/31(日) 23:22:02
該当スレがないので、ここで質問させてください。 H.264のフォーマット解説のドキュメントとかどこかで公開されてませんか? 日本のITUのサイトでは、講演会のドキュメントしか出てきませんでした。 H.323の本は持ってるんですけど。
買えば?
内容が良ければ買い、ですね。
ITU-T H.264 の勧告書じゃなくて、一般向の解説書がほしいの?
932 :
デフォルトの名無しさん :2007/01/04(木) 01:53:26
これで出来る!H.264
やっと規制が終りましたorz
>>930-932 レスサンクス。
欲しいのはH.264の勧告ですね。MPEGの勧告書は英文のほうを読んだことが
ありますが、実際のコードと付き合わせてみないと分かりづらかったので。
解説書のほうが親切丁寧ならば、そちらにします。
934 :
931 :2007/01/04(木) 19:24:30
>>933 ITU-Tなら年間3つまでWebShopからダウンロードできるよ。
それ以降は有料。あとスペイン語版かフランス語版のPDFなら無償。
935 :
デフォルトの名無しさん :2007/01/06(土) 00:29:56
サルでも判るH.264
質問です。 ICP(Iterative Closest Point)アルゴリズムについて調べています。 詳しい説明のある書籍、あるいはサイト等ありませんでしょうか。 サンプルコードも掲載されていればありがたいです。
ウインドウに線などを描くときに、光っているように描くにはどのようにしたらよいのでしょうか?
>>937 ・線の色を短周期で変化させる。
・線に影をつけるようにハイライトをつける。
・背景色と線の色の組み合わせを選ぶ。
あー未だあった。 ・線の色をグラデーションさせる。 ・線の一部を太らせて色を乗せる。 ・線の周囲にスタースパークを描く。
・線の始点あたりにレーザー発射装置みたいな絵を置く
・線を無視して赤と青の点滅を全画面で行う。
・線に一定の割合で周囲の絵を映り込ませる
・線の横に「←光っている」と書く
・線の横にハゲ頭を描く
・線が宮崎美子
・ユーザーの視線をトラックして、視線と光源から反射光を計算する。
・おまいら、暇をもてあましすぎ
・周りのオブジェクトが線から出た光に照らされているように見せる。
printf("\||||||/"); printf("−━━━━━━−"); printf("/||||||\");
printfって改行してくれたっけ?
16*3くらいの液晶なんじゃねえの?
>>936 ちゃんとググってないだろ。
ググったら一番上に論文来たぞ。
もっとレベル高いスレかと思ってたのに
955 :
デフォルトの名無しさん :2007/01/09(火) 09:43:00
【ネガティブ派遣根性チェック】 3つ以上、思い当たる点があればアナタの性格はひん曲がっており、ネガティブ負け組人生を歩んでいます。 □派遣先の社員の意見にはたとえ間違っていても反対しない □派遣先から「いつまでもここで仕事してくださいね」と言われるようになりたい □自社に仕事を持ち帰れるように言われるとムカつく □自社で仕事なんてできるわけがない □派遣/受託の差異を指摘する人間はムカつく □派遣先には仕事だけでなく自分のプライベートについても指示して欲しい □自分の月額金額を知らない □派遣先社員より自分の生涯収入が低いのは当然だ □派遣先に尻尾を振り、いつまでも一緒に仕事をすることが大切だ □今のプロジェクトが終わっても同じ派遣先に常駐したい
956 :
デフォルトの名無しさん :2007/01/09(火) 18:19:57
画像から4点指定して、画像の切り出しをしたのですが、 その変形型の四角形(長方形で無いもの) を長方形に変形するプログラムを教えて下さい。
2次元の線形補間すればいいだけじゃないん?
直線が直線のまま投影されるから、アフィン変換でいけるな
アフィンって台形変換できたっけ?
投影前後で 直線維持が必要十分条件だから できるでしょ
>>956 目的は?
パースの補正だったらアフィン変換ではできない。
>>937 「グロー効果」でググるといいかも。
簡単に言うと、光っている部分をボカして加算合成。
963 :
936 :2007/01/09(火) 21:53:51
>>953 すいません。(;´Д`)
もう一度しっかり調べてみます。
ありがとうございました。
964 :
デフォルトの名無しさん :2007/01/10(水) 14:20:31
カメラに魚眼レンズを付けて撮影した画像を透視変換させるプログラムを教えてください。。
マルチすんなボケが
>>964 色空間に学習アルゴリズム組み合わせたらいけるんじゃね
>>956 自分は、観光地の案内板などの写真を長方形に修正するのに
>>956 のいう線形補間
というのだろうが、写真の四隅の座標を得て、辺の長さを求めて長い辺を縦横の
辺とする長方形が求めるものと見なして、各ピクセルのRGBを横の辺の比、縦の辺
の比から元の写真の対応する点のRGBを持って来て埋める方法を取っている。
元の写真の対応点は、上下X軸の2点を通る直線と左右Y軸の2点を通る直線の交点
で計算。
元の写真の四隅の座標が分かれば、仰俯角、左右振角から縦横比がもっと正確に
求められると思うが、今は手抜き。
だいぶ亀レスだけど…
>>880 どういう風にダメ?
俺もCで書いてたクチだけど、C++でかけるんならそっちで書きたい
パッと見、Cの構造体やら関数やらをラップしてある感じだけど。
>>956 対象が平面だと仮定して、他になんの情報もなければ、ラスタ単位で横に
拡大縮小した後、縦を拡大縮小するだけでいいんじゃねーの?
つか、それ以外方法がない気がする。もちろん、他に付帯情報があれば別だが。
>>968 まずレファレンスカウンターがバグってる
>>967 細かい画像だとモアレが出てきたりしない?
>>970 なるほど。
自分でラップしたほうが早そうだな。
Cで書いてるとどうもメモリリークが怖くて・・・
>>967 細かい話をすると、パースが付いたときの変形は直線補間にはならないよ。
「田」な形の正方形を、上下方向で奥行きが変わるようにパース変形したときは、
_____
/ | \
/---+---\
/ | \
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
みたいに、上下方向が等間隔になるのではなく、
_____
/ | \
/  ̄ |  ̄ \
/ | \
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
といった感じで、近くほど広く、遠くほど狭くなる。
これの逆変換は直線補間になりません。
まあ、ほぼ平行でちょっと歪んだだけ、って程度なら気になるほどじゃないと思うが
>>971 私はオーバーサンプリングして平均を取ってる。
マジメに、変換先の個々の画素の領域(正方形)に対応する、変換元の領域(四角形)を算出し、
その領域に入ってる画素を抽出、なんて方法もやったことがあるが、
ものすごく重いわりに、対して画質が良くならなかった…
974 :
973 :2007/01/10(水) 23:22:19
ありゃ、AAがずれてた。スマン _____ / | \ /---+---\ / | \  ̄ ̄ ̄ ̄ ̄ ̄ ̄ と _____ / | \ /  ̄ |  ̄ \ / | \  ̄ ̄ ̄ ̄ ̄ ̄ ̄ です。
質問なんですが、テレビ画面に2か4分割で出力されるゲームとかありますよね。 たとえば、4分割した場合左上をA、右上をB、左下をC、右下をDとします。 そのときのA,B,C,Dを別々のテレビに出力することって(コードやケーブル類を使って)可能なのでしょうか? それともゲーム自体の出力方法(プログラム)を変えないと無理なんですかね?
977 :
967 :2007/01/11(木) 09:04:13
>>971 ,
>>973 懸念されている通り元の絵が歪んでいるとナントカ全体で長方形という程度になる。
駅の時間表などは中の線が真っ直ぐにならないことがある。撮るとき中心に立って
レンズも標準焦点近辺でと注意して回避している。
球形や円筒形のものに絵柄をマッピングする処理の逆をやればいいと思って始めた
のだが、段段手抜きになった。テレビで気象衛星の写真を真上から見た絵に修正し
ているのを真似たいのだが、位置関係やレンズ特性を反映するのは、大変だなあと
素人の限界を感じているところ。
OpenCV だかどこかで、一旦白黒パターンを撮ってそれを使う方法があったが、
ズームレンズでは、Exif 情報見てそれをやるのはなかなか面倒。神社仏閣の縁起
の説明などは読めればイイジャンってところ。
>>975 テンプレに「画像処理プログラミング」のスレということを明記しない?
>>976 スレ違い。ちなみに、ケーブル程度で解決できる問題じゃない。
試しに、じゃねえよアホか。氏ね。
画像処理アルゴリズム だろ
‖ ___ ‖ / `ヽ‖ ,:' 、ゑ ,' ; i 八、 |,! 、 ,! | ,' ,〃ヽ!;、 |!| l川 l リへ'==二二ト、 リ川 !| i′ ゙、 ', ', lルl ||,レ′ ヽ ,ノ ,〉 |川'、 ,,.,.r'" ,,ン゙ `T" ! ,/ '.ノ,/| / ,!´ !゙ヾ{ | / ,' i ゙ ! ,l゙ ,r‐'ヽ-、! ', l| { `ヽ ! 「゙フ ,>┬―/ ; i,`{ / /リ川' ', ゙、 / ,/ ゙、 ゙、 ノ / ', `、 \_/ ; ゙、ヽ、 l__ ! ___〕 ,、l  ̄`‐┬―r┬‐r'´ `'‐'′ | .! | | | | .| |
C++で開発できるステレオカメラがあるんですが、 それを使ってステレオマッチングによる距離計測をしたいと思っています。 つきましては、ステレオマッチングなどが勉強できる本があったら教えてください。 ちなみにみなさんはどういうところから知識を得ましたか?
Robot Vision, Horn Multiple View Geometry in Computer Vision, R. Hartley and A. Zisserman
1000個ぐらいサンプリングされたn次元の点の 密度関数を近似するのって k-mean でいいのかな k-mean -> 密度関数を近似 -> joint histgramの近似 -> 相互情報量 という計算をしたいのだけど
988 :
デフォルトの名無しさん :2007/01/12(金) 23:08:06
カメラに魚眼レンズを付けて撮影した画像を透視変換させるプログラムを教えてください。。
989 :
デフォルトの名無しさん :2007/01/12(金) 23:09:39
ちなみに言語はjavaでお願いします。 かなり困ってます・・・。
それどこのデジャヴ?
セルラーオートマトンって面白そうだけど 実際のところどうスカ
かなり面白ろいっスww
埋め
1000get
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。