1 :
デフォルトの名無しさん :
2009/07/09(木) 09:52:04
2 gotten
ポニーテール
アイスラッガー
ズレてるだけ
6 :
デフォルトの名無しさん :2009/07/10(金) 13:38:25
7 :
デフォルトの名無しさん :2009/07/10(金) 17:30:00
画像処理って、C言語オンリーでもできるの? っていうか、ライブラリ関数の中身が知りたいんだけど・・・
8 :
デフォルトの名無しさん :2009/07/10(金) 19:00:54
OpenCVつかいますか? 中身も自作?
むしろC言語でライブラリと組み合わせてやるのが主流。
>>7 C言語で出来ないんなら、ライブラリはどうやって作ってるんだ?
pythonで使ってみた うちのpythonは2.5だったのに OpenCV1.1pre1aを入れたらpython2.6用で使えずorz OpenCV1.0を入れ直してうまくいったので快適
誤爆したorz
13 :
デフォルトの名無しさん :2009/07/11(土) 01:28:13
>>10 C言語の学習っていったら、だいたいライブラリ関数の使い方だからさ
どうやったらいいのか不思議でたまらないんだ
>>13 画像処理系の教科書読めば書いてあるだろ。
>>13 ライブラリ使ってると内部で何やってるのか不明で気持ち悪いのはわかる。
暇な時にBMPファイルの構造やC言語での読み込み方について調べてみるといい。
OpenCVにしろ何にしろ、ライブラリはその読み込み手順とかを関数化しただけだから。
最近思うんだけど、画像というのはメモリに展開される「データ」であって、ハード(OSとかのネイティブシステム)に依存しないでしょ。 簡単にいえば、bmp,jpgとかは別にmsとかmacじゃなくてもx windowでも開けるし編集も出来る。 だからネイティブに依存しまくってるCでライブラリを作る必要ってあまりないじゃないの? 画像解析とか1ピクセルごとの処理が必要でハード資源が必要だから、携帯とか組み込みとかでは やらないからCコンパイラ対応である必要もない。 つまりjavaとかc#とかで画像処理ライブラリ自体を仮想化すればいいんじゃないかな。 アルゴリズムの方をvmのコードで作って、各ハード(GPUとかカメラICとか)のIOの方は今までどおりCにして住み分ければいい。 そうすると、GPUのストリームプロセッサで処理されるかどうかを気にしなくてアルゴリズムに集中できるようになる。
意味不明
19 :
デフォルトの名無しさん :2009/07/11(土) 02:09:16
Java厨なのはよくわかった
>>17 JavaとかC#で実用的な速度出せるようになればいいね。
アルゴリズムの方は、せっかく発明したから隠しておきたいって言うのもわかる。 だけど、結局同じような機能は別の方法で再発見できるわけで、それが多少高速か、アルゴリズムが分かりやすいかの差でしかない。 同じソートアルゴリズムでもクイックソートが必ずしも万能でなはなく、見方によってはマージソートの方が扱いやすいとか。 2Dでは、輪郭を抽出するとかあるけど、結局誰もが同じようなアルゴになるわけで、多少早いか実装しやすいかとかいわゆる「経験と勘」の差でしかない。 この車輪の再発明で、お互い利益競争(各社高額な画像ソフト)して、足踏み(クローズド)するよりは、それを(賛同者は)公開して共有して、 そのアルゴをブラックボックス化(ライブラリ・モジュール化)して次のステップのアルゴを考えたほうがよっぽど(その分野は)存続していけるとおもうよ。 ただ、輪郭抽出アルゴをあたりまえとして次の話題に進むからより専門化していくのは確かだけど、 若い技術者が、すでに完成している分野のアルゴで立ち止まる必要はなくなり、若い「知」のリソースを有効活用して次のアルゴが生まれるようになると思う。 有効ではあるけど、ピクセルごとにforとifでまわすだけとか、forのなかにifばっかりとかはいいかげん卒業して、ブラックボックスとして自作ライブラリにして、より高度な機械的な処理を目指して欲しい。 ifばかり使うと収拾がつかなくなりそのうち分岐が多すぎて管理できなくなるから、それは高度な処理はとはいえず、for + if だらけのコードは使い捨てコードに等しいよ。
22 :
デフォルトの名無しさん :2009/07/11(土) 02:31:50
なんだライブラリが欲しいだけか これだからC♯厨は
>>20 3Dの解析じゃないなら、クライアントPCは1G...1.4G程度で十分では?
600MHzでも十分だと思いますけど。
そのかわりメモリはキャッシュとして使うので、画像アプリ用で多量(300MB)とか必要ですけど。
3Dの方は今のPCリソースでも、何をやりたいのかはっきりしないし3Dの画像解析の定義とか意味付けがはっきりしないのでどれだけリソースが必要で、どれだけの速度で応答する必要があるのとか未知数ですけど。
10年前は800...1GぐらいのCPUだったんですけど、その当時の画像処理ソフトは従来の変色フィルターとか歪みフィルターとかで、その当時からあまり高機能に進化してませんよね。
結局「実用的な速度」という概念自体が、理想なものでしかなく、「実用的な速度」という測定できないような空想の速さを追い求める「あなたの理想」だったのでは?F1とかの走り屋の心境と同じなんでしょうか・・・
ある程度満足がいく画像処理アルゴを、より「理想的は速さ」を求めるためにチューニングするよりも、最新のハード(や専用プロセッサ・ハードエンコード)で処理したほうが、よっぽどリアル世界での「実用的な速度」だと思いますが。
妙な略語を使うのは初心者の特徴だな。
>>23 そもそも、最新のハードをJavaやC#で制御できるの?っていう話が。
Cでさえ遅いってことで CUDAやOpenCLのような並列処理をサポートした処理系を持ち出してるのに。
画像処理物を自分で実装することはあまり無いし、JNIとか使いこなせるんで別にCで実装してあってもいいんですけど… JAVAとかC#でOOPやってる、どうも原始的なんですよね。CとかGTKとかのフレームワークが。 たぶん、JAVAとかJAVASCRIPTとか現代的な言語を身につけると、言ってる意味が分かるようになりますよ。 ある意味アルゴリズムの実装方法(for + if)自体が変わる( img.filter(*func) )ぐらいのパラダイム変化があるでしょうし。
画像処理を実装しないのに、なんでこのスレにいるの?
言語なんて関係なく、とにかく自分で実装するのが嫌だから、ライブラリ作ってくれって言ってるだけじゃん。
>>25 その最新のハードは上にも書いてありますが、IO(データ、ストリームの入力と出力部分)なので当然Cで実装します。
双じゃなくて、画像処理のための仕組みは、最新ハードに依存しないソフト物(メモリ上でしかない)ので、javaとかで十分です。
関数呼び出しコストとか20年以上前のしがらみにこだわってる人だと、ある種の宗教なので話は通じないでしょうけど(足踏みしてる人なんでしょう)。
メモリ上で処理ですけど、GPUの場合はGPUのVRAM内なのでCしかないんでしょうけど、まだ最新技術(ハード)でいくつか仕様がありかつデファクトにもなってないから、
上の処理ライブラリの仮想マシン言語での実装はCPUとPCでの話ですけど。
GPUのGPU内のメモリ(VRAM)にアクセスする手段が確立したら、結局同じ議論になると思いますよ。
>>29 JavaとかC#で実用的な速度出せるようになればいいね。
>>27-28 とはいうけど、OOPで作られている現代的フレームワークとか使ったことありますか?
そういう大規模なアプリとか作ったことないでしょ。
自分で実装するのが嫌とか面倒とかじゃなくて、車輪の再発明とは何か、なぜよろしくないのか、もう一度車輪の発明とコードの再利用(旧来はモジュール化とも称していたけど)とはどういうことなのかを勉強したほうがいいと思うよ。
なんだ ただの低レベルな勘違い君だったか
仮想マシンとネイティブとの関数呼び出しコストがあるかもしれないけど、 1.4G以降のPC(ネットブックとかも)ならもう測定不能誤差って範囲で、関数呼び出しコストは発生せずってところだと思うよ。 400MHzのPC(パームとかスマートホンレベル)だと仮想マシンにあるライブラリを呼び出すのは、呼び出しコストは少しあるかもしれないけど、 そもそもそんな非力なリソースしかないのに高度な画像処理をすることは向いてない。つまり変色フィルターと3Dとかのゆがみ、アフィン変換程度で十分。 画像処理の方法(アルゴ)を考えるよりも、まずこういうリアルの感覚が大事。
なんで関数呼び出しとかの話になってるんだよw
やあアルゴ君 久しぶりだね
つまり関数呼び出しがボトルネックになると思いこんでたのか
どうでもいいが、以上によってIOに関係しない画像処理(フィルターとか次世代の検索・動き検知・補正技術)を書くなら、Javaを見据えてJava用のライブラリを書いてくれ。 そのライブラリをCから呼び出す方式(JNIとか)にしてね。
自分で書けゴミ
>>31 何を主張したいのか分からん。
言語に関わらず、誰かが実装したものがあればそれ使えばいいんじゃないの?
(タダなのか有償なのかはライセンス次第だろうけど)
誰も実装してなかったら、もしくは高くて買えなかったら残念ね。
諦めるか、自分で実装するか、お金を出して実装してもらうかするしかないよね。
あ?書き方が変で分かりづらかったね。 Cのネイティブ・プラットフォーム(winとかcudaとか)を中心に考えるんじゃなくて、JavaとかC#とか仮想マシンのプラットフォームを中心に考えて処理の設計・アルゴの実装してね。 JavaとかならライブラリAPIへのアクセス方式(の規約)が統一されてるから、他の人のライブラリも同じような使い方だし、自作でも使ってくれる人も多くなるし、すぐその世界で有名になれる。
>>37 Cでかかれたライブラリならまだ他言語から使いようがあるが、
Javaでかかれたクラスライブラリは他言語から使いにくい(車輪の再発明を強いられる)。
よって、Cで書いた方がよい。
変なのは書き方じゃなくて頭
そういや、アルゴってマンガがあったな。
>>34-36 最悪1ピクセルごとに処理するために関数呼び出しするんですけど、コスト無いんですか?
メモリ上の画像処理で、いつも遅い原因はここだと思ってたんですけど、このスタックへの値渡しがコストじゃないとすると、何がコストの元になってるですか?
for (;;){
c=getPixel(x,y)
delegateFilter(c);
setPixel(x,y,c);
}
とかですよ?
値渡しは関数(の引数)ローカルスタックへのコピーのことで、int cというわけでもなくstructもありえます。 これ以外は全てどの処理系どの言語でも省けない処理(画素の取得、加工、更新)なのでコストとはいえない思うですけど。 for (;;){ c=getPixel(x,y) delegateFilter(&c); setPixel(x,y,c); }
コストが掛かるかやその大小は実装方法や環境による
>>41 分からなくも無いよ。その発想は。
もともとCはシステム(OS)を記述するために開発された汎用・移植用の言語であって、汎用性は高いけど、画像処理とか2D(GUI)の処理には向いてないよ。
とくに、画像処理は他の画像処理に依存することもあるから他のオブジェクトへのメッセージ、つまりOOPが適しているし、
そもそも画像データとその処理が一体なのであって、これも突き詰めるとOOPとなる。
OOPの言語ならどれでもいいけど(ruby,javascriptとか)、デファクトなJavaかMSのみがターゲットならC#となるだけ。
批判するならもうちょっとちゃんと勉強してからにしたほうがよかったね。でも分かるよ、その自分の知ってる言語で全部済ましちゃいたいって言うその発想は。
結局BasicとCしか手になじまなかったってことで、Java, OOP云々よりも君のスキル不足ってだけなんじゃないの?
つまんね
>>46 じゃ「実用的な速度」ってなんのことですか?
それならCで実装する必要はありませんよね。
速度やコストがすぐ話題になりますが、結局Java,C#で実装したアルゴリズムが原因ではなく、IO(ネイティブ)じゃないですか?
そういうところをちゃんと分かって、そういう視点で設計を考えたことありますかね?
CPU boundか IO boundかは処理によって違う。 ものそごく単純化すると、単純な処理ならIO boundになりやすいし、 処理が複雑なら CPU boundになりやすい。
なぜ極狭い一面を見ただけで一般化しようとするかな。
>>51 GPUには期待してますけど、今までのCPUとはまた違うパラダイムでしょうね。
上の議題は、GPUではなくCPUでの画像処理(所詮2D)での話ですけど。
GPUは、ifによる分岐じゃなくストリームのパラダイムなので、2D処理(つまり従来からの画像処理・探索)は向いてないと思いますよ。
CPUは4Gぐらいが限界と分かったので、これ以上はいくらハード・アルゴをチューニングして頑張ってももはや速くはならないでしょうし、0xffff * 0xffffの画像とかデジカメならすぐ到達するんで、2Dのアルゴも違う発想が必要になるでしょう。
54 :
デフォルトの名無しさん :2009/07/11(土) 04:09:37
ここ何人いるの?
多分日本人
車輪の再発明の話は散々出るけど、ならなんで新しい言語が次から次へと登場するのかね。 しかも似たりよったりの言語が。あれは車輪の再発明とは呼ばないのだろうか。 ライブラリの話を見ていて、なんだかそんな気分になった。
言語は、言語開発者がそれを作る目的によって違うので、いくつもの似たような言語があっても目指すものが違うんですよ。 コンパイラとか作ったこと無いと分からないんでしょうけど。 似たように感じるのは、文法が似てるからだとは思いますが、ハスケルみたく奇抜な文法だと多分あんたじゃ習得できないでしょう。 分かりやすいところでは、Cでは2D,GUI向けの言語ではないので、「ウインドウを作ってボタンを押してハローワールド」 これだけのことをやるのに、win32だと50行ぐらいは必要でしょう。 それ用のランタイムライブラリや言語だと2−3行でしょうけど、この違いは文法(リテラル)の差ですよ。 この言語上の文法が内部で車輪(よりネイティブに近い実装ライブラリ)を呼び出してるんですけど、これを再発明する必要はないでしょう。 変色フィルターとかアフィン変換とか通常の画像処理はjava,c#でライブラリとしてほとんどあるんで、勉強目的以外なら普通は自分で改めて書いたりませんけどね。 何とかの分離とも言いますが、とくにかくCのコードはIOだけにしてそのハード用の使い捨てにして、画像処理のアルゴリズムなら、javaとかvmのプラットフォームを中心にすえてコードを書くといいですよ。 後2−3年で携帯とか他のOSでもそのアルゴが何の変更も無く普通に使える(再利用できる)ようになるでしょうし。
>>57 >作る目的によって違うので、いくつもの似たような言語があっても目指すものが違う
ライブラリもそうじゃないのかw
またなんか凄いのが沸いてるな。 OOPって単語覚えて嬉しいのはわかるけど、 画像処理技術と設計技術はなんの関係もないので、よそで喚いてくださいね。
60 :
デフォルトの名無しさん :2009/07/11(土) 07:49:23
ARMは固定小数点の方が速いんだよな。
携帯で「高速な画像処理が出来る」とか期待しないけどね。普通の人は。
>>59 画像処理技術とかたいそうな漢字を並べてみても、君なんか所詮未熟者でしょ?w
>>58 そのライブラリとか、自作の処理を関数化したりを突き詰めると結局「それ用の言語を作ったほうがいい(つまり文法とリテラル)」ってなるんですよ。
例えばマテマテカとかRとか使ったこと無いでしょ。君みたいな貧乏低学歴じゃ。
多少難しいこと買いても、このスレでは無能ばかりだしついてこれようなるまじめな人もいないみたいなので、これぐらいで勘弁してあげましょうかね。w
64 :
デフォルトの名無しさん :2009/07/11(土) 09:08:57
>>59 OOPが未だに理解できないのも分かるんですけど…
そんな万年石頭のオジサンに、返して差し上げる言葉ありませんよ。
65 :
デフォルトの名無しさん :2009/07/11(土) 09:40:12
きちがいうぜー
トリップ入れろ てかactionscriptでいいんじゃない?
要するに、画像処理専用の言語があればいいんだな。 そういうのはあるよ。たぶん、JavaとかC#には乗らないけど。
スレタイとスレ番に期待して覗いてみたら… 半年後にまた来ます。
正しいと思うなら自分で作って証明すればいいだけだし みながそうしてきた結果が今の状態だろ
イミフ
頭の悪い高校生(だよね?)のために現状を解説すると、 アルゴリズムの検証や研究などには Matlab などの簡便で高級な環境を使う。 実用品の実装には C 等の高速な言語を使う。 ので、記述力がない上に遅い Java や C# を使う必要があるケースは少ない。 個人的には Matlab 使えないけど手軽に検証したいときには C# は便利だと思うけど、 そういう状況があるのって非専門家だけだからなあ。
マットラボ乙
別に10Bitの浮動小数点数が使えるから 喜んでPascal使ってる俺みたいのがいてもいいじゃんか
Byteだったお
1024ハアハア
fp10って奴だろ RGBを10bitずつで、あと2bitをαとか
Matlabって画像処理に使いやすいかぁ?
頭の悪い高校生なんだから相手しちゃダメ
去年matlabからC++への移植+高速化の仕事があった。 matlab100行がC++で3000行、速度は4〜6桁高速化。
それは高速化したんじゃなくて、もともとマトラボのそのコードが糞遅かったんだろw
4〜6桁って、1万倍から100万倍ってこと?
高速化してくれって言う案件を受けるってのが凄いな。 いくらなんでもそんな要求はキリ無いだろ。 もし最適化してプロトタイプ実装しても、その仕様を満たさないならいくら準備料を積んでもらっても無駄骨だしな。 おまえのところは、明日の飯を食うのも困るほどの零細なハウスなんだろう
>>83 確かに組み込み関数を並べているだけの芸の無いコードだった。
コアのコードなんて10行くらいw。
高速化の内容は
処理時間の大部分はconv2(fft + ifft)の膨大な繰り返し
conv2の繰り返し処理に対応する部分を2〜3桁高速化
今度はmaxに対応する処理が時間の大部分を占めるようになったので、そこを2〜3桁高速化
>>84 1000倍から100,000倍(画素数による)
>>85 あなたはエスパーですか?
他社がさじを投げた案件ばかり回ってくる零細ソフトハウスです。
そんなの受けて無駄な時間を使うな。 もし受けざるえないなら料金を吊り上げろ。 お前みたいな低脳低学歴が下らないおせっかいをするからソフト業界の案件受諾価格が下がるだろが。 もしこういうのがやなら、お前のところはフリーソフトでも作ってろカス
なんなんだこいつは
87はプロダクト・マネージャーの精霊です
特化したソフトを作る会社があってもいいじゃないか
>>88 それで高速化さん、マットラボと画像処理はどう関係あるの?
ttp://www1.axfc.net/uploader/He/so/234773 VC++2008 を使用しています。
PNG 画像を扱う時に _aligned_malloc でメモリ確保する方法を使ってみた所、
sample1.png の画像は読み書きに成功したのですが、sample2.png の画像は
「libpng error: Too many IDAT's found」と出てうまくいきませんでした。
何かやり方が悪いのでしょうか、どなたかご教授下さい。
OpenCV使え。デフォルトでPNG読み込める。
この画像で何がしたいんだ?
>>93 LIBPNGを使う前提でやっていますので…。
>>94 この画像でという訳ではなく、
読み込みに失敗する場合があるという点が問題なのです。
sample2.pngの中身が分からんと解決しようがない
画像でないが、とあるツールのログ解析するソフト、チョロッと作ったら、10H が20secに短縮したな。 SED等の組み合わせでやっているのを、rubyで字句解析入れてやった。w
さっきから画像関係ないよな… 変なのがいついちゃったな
LIBPNGを使った画像の読み書きは、 このスレではスレ違いなのですか? どちらのスレでなら大丈夫なのでしょう?
環境依存OKのC/C++スレか、スレ立てるまでもないC/C++スレ辺りじゃね?
なるほどです。 教えて下さりありがとうございました。
>>101 失敗した場合のエラーコードくらいみたら
105 :
デフォルトの名無しさん :2009/07/19(日) 13:00:45
>>17 超高速プロセッサと超高性能コンパイラがあれば「僕の考えた最強の開発環境」が実現できるよね
>>48 画像処理にはOOPの方が向いているというのには納得するけど、Javaは糞言語だからC#にするべき。
画像処理? 使う言語はverilogとFPGAに決まってるだろ?
どのように使っていますか
うわー堕ちたなーこのスレ
きちがいうぜー 正しいと思うなら自分で作って証明すればいいだけだし みながそうしてきた結果が今の状態だろ スレタイとスレ番に期待して覗いてみたら… 半年後にまた来ます。
>>110 ならいつまでもROMってないでこのスレに貢献したらどうだ?
なんの能力ないなら黙ってろよ
無能な奴はこのスレに居て欲しくないよな…
君は有能なのかい?
matlabを使う画像処理ってどうやるんですか?
116 :
デフォルトの名無しさん :2009/07/20(月) 20:59:46
>>115 matlabスレで聞けば?自分はmatlab使った事ないけど複数の知り合いはガリガリ使ってるから可能である事は確か。
fft
αチャンネルを持つ画像同士の、 αブレンドの方法を教えてもらえないでしょうか。
すみません、言葉が足りませんでした。 ↑の式を教えて貰えませんでしょうか。
まだ足りない
α×画素値A+(1−α)×画素値B
すみません、画像Aのαと画像Bのαを使ってください。
124 :
122 :2009/07/24(金) 17:51:04
α_A/(α_A+α_B)×画素値A+α_B/(α_A+α_B)×画素値B
125 :
122 :2009/07/24(金) 17:53:36
α_A/(α_A+α_B)×画素値A×α_A+α_B/(α_A+α_B)×画素値B×α_B
126 :
122 :2009/07/24(金) 17:55:27
すなわち (α_A^2×画素値A+α_B^2×画素値B)/(α_A+α_B)
Acos^2(α)+Bsin^2(α)
上の式は量子化で分かるのですが、 α_A/(α_A+α_B)×画素値A×α_A でα_Aが2回出るのはどういう意味なんですか?
f(x)=f(a)*(x−a)^0/0!+f'(a)*(x-a)^1/1!+f"(a)*(x-a)^2/2!+・・+f^n(a)*(x-a)^n/n!+・・
130 :
122 :2009/07/24(金) 19:15:12
そういえばもともとα値で薄くなってるな〜とおもってα_Aをもう一回かけてみた。
>>129 数値微分は精度悪い(半分の桁しかない)ですよね…
なにか上手い方法ないでしょうか?
>>130 それが計算式の根拠なんです。なら
α_A^2がcos^2(α)
となるのは無理(不可能)がありますけど。
色のスペクトル(横長)は出来たのですが、 こんどは色相環(円形)を描画したいのですがどのような方法になるんでしょうか? やっぱりsin,cosなど角度を使って描画するのが簡単なのでしょうか。
うん
そうなんですか。ベクトルに詳しい人がいるみたいなので期待してたんですけどsin,cos使ってやります。
sin,cosとベクトルを切り離して考える方がおかしい
ベクトルのことをろくに知らないくせによく言うよカス
ベクトル(回転行列とか?)使ってやるよりSin,Cosの方が直観的だし簡単だろう。
このスレもレベル下がったな 糞スレ決定だろ
前からだけどな 専門家はどこにもいない
回転行列も中身は結局三角関数だよな
sin,cosが問題じゃなくて角度θ使ったほうが簡単なんですか? 回転とか行列とかじゃなくて、int,floatとかそういう数学の基礎的なところなんですけど・・・ float使うとなるとアルゴリズムが大分違うんですよね。
それはベクトルじゃなくて DDTのことを言っておるのか?
DDTってなんじゃ?
マクローリン展開して……
マクローリン展開??
いくらなんでも池沼過ぎるだろオイ
>>145 それならpoly展開だと何項ぐらいにしますか?
8ビット機ならともかく、cpu 33MHz(33)ぐらいあれば角度もintにするのははちょっと複雑ですけどね・…
一応手順としては、色スペクトル(横長)を作ってこれをaffineとかでリング(円形状)に仕様と考えてるんです。 だいたい一円の解像度も40-60分割ぐらいなのでθを使わず、やっぱり(数学的に単純考えると)affineがいちばん簡単だと思いますが、画像処理の手法として他に伝統的な方法はあるんでしょうか?という質問です。
150 :
デフォルトの名無しさん :2009/07/25(土) 13:18:46
つまりはバイナリで読み出して、数値を変換してバイナリで書き出すと思えばおk?
これだけヒントを出しえもやっぱり答えられる御人は居ませんね。 数学(幾何)的にやれは何でもできるんですけど、画像処理すれなので画像の特性に特化した画像処理手法があると期待してたんですが・・・ 現代のPCならdoubleでもぜんぜん処理が遅くないので(ほぼリアルタイム)、この様子だと数学公式とハードでごり押しになっていき画像処理の小手先技はすたれていくんでしょうね。
>>151 この辺の処理ってのは色々コツがあるので、知っていてもタダで提供するわけがないな。
あの・・・ハードでごり押しできるんであまり小手先技に吹っかけても誰も払わないと思いますよ。 ハードやリソースが非常に限られてるなら業務提携とか企業間のライセンスとかになるんで、その小手先ノウハウが有料かどうかはあまり問題にならないですけど。 ノウハウと言ってもそれはアルゴリズム上のノウハウではなくて、ほとんどは(その画像ではなく)ハードやリソースの特性を生かしてるだけですし・・ アルゴリズム上のノウハウなら「PCは全て2進なので2進に特化したビット演算でhypotを小手先実装した(ので高速化実現!)」とかですし。 何を隠して何をOPENにするかとか、そういう辺りのことはあまり知らないみたいですね。
上にマク展開しようと考えてる古い人もいるので、これもちゃんと書いておくと、 >(ので高速化実現! ですけど、8ビットハードなら高速実現だと思いますが、16ビット33MHzとかFPU乗ってるハードなら高速でもなんでもなく、こういうのはまったく無意味ですよ。
>ヒント 要するに釣りのつもりだったのかな。 大昔ならまだしも、今では有効性の無いテクニック使っても意味が無いね。
>>152 それで・・・そのコツとやらは本当にコツなんですか?
ヒントがないと何のことか分かりませんよね。知ったかさん
>>158 なんだ、やっぱりマク展開はやめて表にしたんですか。
ていうか、あなたの知ったかレベルじゃ話について来れないと思いますよ。
xyzzy使ってemacs気取りもいいですけど、あなたは実際のスキルがあまり無いなので秀丸とかその辺でいいじゃないですか?w
>画像処理の小手先技 手羽先に空目
なんかヘンなのが住みついちゃったみたいだな
163 :
デフォルトの名無しさん :2009/07/26(日) 14:31:01
>156 教えて君の分際で他人を知ったかよばわりとか痛いな。鳥つけてくれよ、あぼーんするから。
>>163 なにその態度w
それも顔真っ赤にしてアゲちゃってるし
知ったか君涙目ww
夏だなぁ
そうだな 夏だな厨が現れるあたりが特に
>>163 もう君はこのスレに来なくていいよ
君が居ると荒れるから
よく2chの情報はいい加減とか、正しくない情報が多いとか言われるけど、 僕にとっては大事な情報源です。 たまにはボロクソ言われることもあるけど、みんな親切に教えてくれる。 いつもありがたいと思ってる。
>>168 まさに教えて君じゃねーかwww
ウザイからさっさとROMってろよ
/ / / / / / / __,____ /. /// |ヽヽ\ / / / ^^^^^.|^^^^^^ . / / ∧__∧ ( ´・ω・)∧∧ / /⌒ ,つ⌒ヽ) // / / (___ ( __) "''"" "'゛''` '゛ ゛゜' ''' '' ''' ゜` ゛ ゜ ゛''` もし、またメール送っても嫌いにならないでね。
αHSV色空間でのαブレンドってどうやればいいんですか? 一旦αRGB色空間に変換しないといけませんか?
サンデープログラマー乙
サンデープログラマー乙
>>173 RGBだのHSVだのは出力時の問題。αの計算は同じだ。
>>168 おまえは質問に一度でも答えたことあるのかよ?死ねよ
>>176 横からだけど、非線形だしHSVにそのままRGBでやってたようなαはできなくない?
Hとか特に。単にHSVαを保持して
出力時にどうせRGBに変換するからそこで適用、って意味ならわかるけど。
Hueの加算て一意にできないよねぇ。
libtgaあまりにも動かなくてわけわからん ソースを追ってみたがちゃんとしてるんだよな でもVCでコンパイルするとfreadがまともに機能してない 意味わからん
181 :
デフォルトの名無しさん :2009/07/28(火) 23:21:54
とりあえず age とくか
TGA→BMPに変換して使えば?
めんどくさいから自分で1から作った
185 :
デフォルトの名無しさん :2009/08/02(日) 22:43:21
>>185 そこのページの画像しか見てないが、原理というほど難しいことをしているようには見えないが。
WhitepaperのDescriptionだけでも十分説明されてると思う。
っていうか、これソース見れるんじゃないの?
187 :
デフォルトの名無しさん :2009/08/03(月) 18:11:35
パターンマッチング的なものをやりたいくて勉強中なのだが 3次元空間上に点列が3次元の整数値座標で与えられている複雑な線図形について 形状を分析して3つくらいの特徴量にして 別の空間にあたえる方法はないかと思って探しているのだが 果たしてそんなのはあるのかどうか・・・
>>187 意味が全然分からないんだが。
特徴量を抽出して、別の空間に与えるってなに?
例えばRとGとBをとりだして、RGBの3次元座標空間に
プロットするように、特徴量を軸に持つ空間でマッチングさせたいとか
そういうことか?
しかしそれだと、3つくらいの特徴量にできませんか?
で質問が終わるだろうし、何を意図してるんだ?
主成分分析とか主軸変換とか固有値解析とか
カーブとか直線とかそういう特徴量を抽出したいってことじゃ?
特徴量を抽出するところじゃなくて、それを別の空間に与えるというところに 疑問を感じているのではあるまいか。
FFT
193 :
187 :2009/08/04(火) 14:33:29
>>188 > 例えばRとGとBをとりだして、RGBの3次元座標空間に
> プロットするように、特徴量を軸に持つ空間でマッチングさせたいとか
> そういうことか?
そういう感じです
正八面体みたいに整っているものじゃなくて
もっと複雑な線図形でのマッチングを想定しております
パラメータは3つと挙げたのですが
なるべく少ない方がいいのではないかと考えておりまして
FFT
195 :
185 :2009/08/04(火) 23:40:39
>>186 確かにソースは見れますが、分かんないまま写して使うことなってしまいそうなので
ガウスっていったい何なんでしょうか。
えっ?
何になりたいんだコイツ
198 :
デフォルトの名無しさん :2009/08/05(水) 10:53:39
点間の位相関係をなるべく損なわずに低次元に写像したいなら、Locally Linear Embeddingとかどうよ?
画像から文字を抽出する方法ありませんか? 強引に文字を画像化して照合するくらいしか思いつかないのですが、 オープンソースは出回ってないのでしょうか。
>>200 ありがとうございます。
企業秘密かと思ってました。
202 :
デフォルトの名無しさん :2009/08/05(水) 20:41:57
普通に全体的にぼかすのはわかるんだけど 中心からぼけた円を描くにはどうすればいいんだろう
↑描くときに一緒に計算しながらやったら出来ました申し訳ない
ビットフォーマットとか、画像処理を知ろうと思ってスレを開いたんですが なんでテンプレになんの情報も書いてないんですか。
テンプレで1000埋まるから
もうちょっとリンクを貼るとかなんかしてくれよ 各形式の適当な解説とフォーマットのリンクがあれば親切だった
ここ見つけられるくらいだから簡単に見つけられるさ
>>208 質問するつもりだったんだろ?
質問に答えるわけでもないのに偉そうな奴だな。頭腐ってんじゃねーの?(笑)
質問は今んとこないよ 俺の書き方は標準だと思うぜ。君のは無意味な悪口だと思うぜ。
どうでもいいがスレに貢献しないなら自分の巣に帰ってくれ
>>211 おまえの方が「テンプレ!」「テンプレ!!」と愚痴ばっかり書いてるようだが?w
何が言いたくて何を求めてるのかよくわからん。 アンチテンプレなのかもしれんけどテンプレはいいよ。 どうせ書きたくない人は書かないし関与しないんだから別に俺に喧嘩売る理由もないでしょ まぁ帰るか。
だが、それだけだと、まるでOpenCVスレみたいだしなぁ。 ところで206が求めてたような、画像のフォーマット情報みたいなのも このスレの対象なの?
画像のフォーマットなんて、ImageMagickなんかのライブラリで変換できるものなんだからここで扱うまでもないだろ。 RGB<->HSL変換みたいな話なら別だが。
画像情報の色空間変換 と 画像情報の保存 は別腹だよなぁ…
先生、リアルタイムで表示可能な画像のアンチエイリアスのアルゴリズムが思いつきません
高速で振動させればいいんじゃね?
224 :
デフォルトの名無しさん :2009/08/11(火) 08:30:07
OpenCVの顔認識で使用されているHaar-like特徴についての原理を知りたいのですが、参考になるHPはありますか?
225 :
デフォルトの名無しさん :2009/08/12(水) 05:47:41
+╋┘〜 +╋┘〜 .;;;;rュ;;;;_ /, ,__{ェェlIュ___,, /__/ +╋┘〜 +╋┘〜 ,,}nin{ii{_,,, /^'ヽ、 / / {ェェェlェウo, / ヽ、:/ // +╋┘〜 +╋┘〜 l゛゛゛l゛゛「/....:::::/ /i´_,iュ ___。。。-7¬::‐「''i¨|riュ,o,o/rロュ''{t=:} ___o'o;o;;;;/ i.〕i ̄i___ij,,_,,r''ュ''ュ''ュi''i'',,_,,|z''i|r'''''ヽ- i ;,、、,,,,_________o'o;o;;;;/ i.〕 ̄ ̄|┴:┴'''ー_r''ュ:_r''ュ:_r''ュ_:'''ー_:|i ̄~ir' ̄ヽ==_r= r===_ /| ヽ",,、,,、. ` ̄ ̄ ̄´ ̄ ̄ ̄ ̄ ̄´ ̄ ̄ ̄ ̄ ̄ ̄` ̄ ̄ ̄ ̄` ̄〕 ̄ ̄ ̄ ̄ ̄i ::::::::::::"´``゛゜''';:;''ー '',:;-、,-、;;..、、,,;;;-:;_;_,;-;,-;;.、、,,-、;;.,.、、,,-、,-;-:;_;_,;-;,-;;.、,,-、;;.,.,,-,;-;,-;;.、、,,-、 ''‐-、''-;;.:;.‐-‐-;:;;:..-;‐:;. `",,""`";,,'''"':; `" """'' `" ,,`" """'' ""' ''''"''" "" "~ ""'`~~''''""'`' '.,~'ー-,,_~~''''""'`' ' - .,~'ー-,,_~~''''ー--.
>>224 「haar like viola jones」で「ウェブ全体から」(つまり「日本語のページを検索」じゃない方)
ググると色々.そっから辿ればいいと思うよ?
227 :
デフォルトの名無しさん :2009/08/13(木) 22:12:33
Kruppaの方程式について解説した日本語の本ありませんか?
Geroppaの方程式ならば James Brown のサイトに解説がある
いやそれGet Upだから
グロー 画像処理でググったら、目的ではないグロ画像についてのページが出るんですが どこかにグローの仕方について載ったページはないでしょうか?
>>230 gouraud shading の話なのか glow effect の話なのかわからないので答えられない
232 :
230 :2009/08/14(金) 22:48:05
glow effectのほうです
233 :
デフォルトの名無しさん :2009/08/15(土) 05:03:36
フィルタのタップ数ってどう表現するのが適切なんでしょうか? 例えば11タップフィルタって言った場合、フィルタリング対象画素の、 前後5画素範囲のフィルタなのか前後10画素範囲のフィルタなのか・・・ プログラム板で聞くのはちとお門違いな質問かもしれないけどよかったら教えて頂けるとありがたいです。
>>230 「+グロー "画像処理"」
でぐぐれ。もち「」は無しでな。
別に「」があってもグーグル先生は無視するけどな
3次元の認識って ベジエ曲線を描いてみて○個以上山の頂上付近に居るものは1つの形状の一部と判断するとかどう?
いいと思う
メディアンフィルタによる平滑化で、 例えば3×3のフィルタでは、画像端の画素を決めるとき4つの画素値から中央値を求めなければならなくなってしまう。 このような場合にはどうやって中央値を決めるんでしょうか。
ケースバイケース となりのピクセルと同じにしちゃうとか
鏡像反転するとか 境界外の部分は、境界画素で置き換えるとか (3X3の場合はどちらでもほぼ同じだね)
>>238 周辺画素を取り除いて、フィルタ後画像はサイズを落とすというのも手ではある。
AVCやMPEGを一からC言語で実装出来るようになるいい本とかってありませんか?
まず仕様書を読むことだね
244 :
デフォルトの名無しさん :2009/08/23(日) 10:12:28
元画像に対して、 ・シャープフィルタをかけた画像 (A) ・最小値フィルタをかけた画像 (B) ・最大値フィルタをかけた画像 (C) のうち、Aに対して、B≦A≦Cになるように制限をかけてみたら、 なんかアンチエイリアスの逆をやったような画像になってしまったorz やっぱ俺には画像処理は早すぎたか。
>246 どういう効果を狙っていたのかね?
C≦A≦B
アルファ付き画像同士の乗算の式知ってる方いましたら どなたか教えてもらえませんか
S(Srgb,Sa) D(Drgb,Da) 値は 0〜1.0 Drgb = Sa*Srgb + (1-Sa)*Drgb ここまでは良くある(半透過効果を期待した)αブレンド Da = Sa*Sa + (1-Sa)*Da ? Da = Da ?
ちょっと説明不足でした DstARGB * SrcARGB = ARGB を求めたいのですがうまくいきません Dstのアルファが255の場合だと良く見る通常合成の式利用すれば すぐ出来るのですが255以外だと出来ないです 式の値50通りくらい入れ替えたり試して近いのは見つかったのですが 重なったところの下画像の縁が微妙に変になったり上手くいかないのです
>>251 何を根拠に「微妙に変になったり上手くいかない」と判断した?
その根拠がそのまま答えだ。
>>253 これは通常の合成の式ですよね
srcそのままで使えば通常で、src=dst*src/255してから
その式に当てはめればいいと最初は認識していたのですが
実際やって見てみると下側が1〜254の場合どうもうまくいかなかったです
自分の間違いかもしれないのでもう一回計算しなおしてきます
>>251 これって要するに2枚のレイヤーを合成して1枚にしたいって事だよね?
AとBを合成するんじゃなくて、
AとCを合成した結果のC’に対して、Bを合成した結果が得られるようなDを
AとBから作りたいと言ってるわけじゃないか?
だから、αと1−αの関係じゃないんだよ。
結論から言うと、一般に一意には決められないんじゃね?
そもそもレイヤーの合成方法が違ったらだめだしな。
もっと具体的に言うと、
合成したいレイヤーの色をA、B、それぞれのアルファチャンネルをaA, aBとするだろ?
で、それらをCと合成した後の結果をEとして、Cと合成してEになるようなDを考えると――
(aA * C) + (1-aA) * A = Tmp
(aB * Tmp) + (1-aB) * B = E
(aD * C) + (1-aD) * D = E となるようなaDとDを求めればいいわけ。
つまり、
(aD * C) + (1-aD) * D = (aB * ((aA * C) + (1-aA) * A)) + (1-aB) * B
からCを消さないとA、BからだけではDを作れないわけだが、消えないんじゃね?
あ、すまんαの適用が逆になってら。でもまあ言いたいことは同じだ。
すんません、嘘つきました。ちゃんと計算したら、aDとDは求まります。 レイヤーの合成方法が違ったらダメだけどさ。
試行錯誤を繰り返してやっと出来ましたー 255さんの方法に近いのも昨日既にやってたんですが 下画像の薄いアルファがなかなか上手くなじまなくて苦労してました それで、まず下のアルファ0の場合はそのままでいいとして 255の場合は上下の色を乗算したものを上の色として通常合成 1〜254の場合は、上記の後 上の色と結果の色を下アルファでブレンド これで出来たみたいです もしかしたら間違っているかもしれませんが 一応色々な値でやって見た目や数値見る限り大丈夫かな? ヒントくれた方ありがとうございました
>>251 透明なものが重なった時は透明度がより低い方の透明度になるのが普通でしょ
つまりだね 重ねられる方が不透明で重ねる方が半透明として色を計算して 最終的な透明度は数字の大きい方を採用するということだよ
>>260 それって正しい?
A0,R0,G0,B0 と A1,R1,G1,B1 から、これらを合成して得られる色を Ad,Rd,Gd,Bd とすると、
例えば、Ad は A0とA1で表現できるが、そんな式にならないんだ。
A0,A1のいずれかが0または1の時を除いて、A0,A1よりも少し透明度が低くなる感じなんだが。
計算ミスかな……
自然界の見え方という意味では正しくないけど 合成した画像を再度半透明画像として利用したい場合はこの方法が正しい
>>261 根拠も無くどうしてそう感じるんだ?
妄想ばっかりだしどうせポコチンがピクピクと動いてんだろw
Rd = (R1 * A1 + R0 * (256 - A1)) / 256 Gd = (G1 * A1 + G0 * (256 - A1)) / 256 Bd = (B1 * A1 + B0 * (256 - A1)) / 256 Ad = Max(A0, A1)
CADやフォトショ?のレイヤ的なものを αブレンドで近似実現しようとしているなら 最背面側から最全面側へ向かってブレンドしていかないと つじつま合わないんじゃないかな… (最全面)A B C(最背面) の3レイヤのブレンドで ブレンド(ブレンド(A,B), C) ブレンド(A, ブレンド(B,C)) で同じ結果となる式って作れる?
libXpm作ったアフォはどこのどいつだ なんだこれw if (attributes && attributes->valuemask & XpmColorSymbols) { attributesが0だった時に回避しようとしてるつもりなのか?w
>>267 よくあるコードじゃないか。
つーか、何を問題にしたいのか知らんが、スレ違いだ。
>268
>267はたぶん演算子の優先順位を気にしているのだと思う
&&より&の方が優先順位が高いのは昔からの名残なので
先にattributes->valuemask & XpmColorSymbolsが評価されて
次にattributes && (上記の式の評価値)が評価される
よって、attributesが0(その環境にあったヌルポインタ定数)
いやまったくの嘘を書いてしまった
if (attributes && attributes->valuemask & XpmColorSymbols) {
はコンパイラによって
if (((attributes) != 0) && (attributes->valuemask & XpmColorSymbols)) {
のように解釈される
よって、&より!=の方が優先順位が高いのでattributesが0(その環境にあったヌルポインタ定数)と比較される
つまり、attributesがヌルポインタである時はattributes->valuemask & XpmColorSymblosは評価されない
つなわち、attributesがヌルポインタであるときにそのデリファレンスは発生しないので定義通りに動作する
ここに一切の未定義動作は含まれない
http://c-faq.com/null/ptrtest.html
演算子の優先順位というのは結合の話で評価の順序ではない。
>>266 (背景) A B
(背景) C
のアルファブレンドが等価になるようなCをA,Bから合成することは可能。
>>270 そういう意味ではなく 結合順を変えても同じ結果になる合成式作れる? ってのが主題
(背景) [A] [B] [C] → (背景) [結果D] が 合成の順番に依存せず 一意で定まる? って疑問
全部1つの式に組み込めば出来るよw
273 :
デフォルトの名無しさん :2009/09/01(火) 14:36:14
>>271 a・(b・c) == (a・b)・c となるレイヤー合成演算 ・ は存在すると思うよ。
実際にフォトショップ使ってて後ろの2枚を合成して1枚にするか
前の2枚を合成しして1枚にするかで結果の絵が変わることって無いし、
物理的にも3枚の半透明なスライドの重なりの結果が、
前の2枚を溶着して1枚にするか後ろの2枚を1枚にするかで
絵が変わるなんてことは非現実的だし。
勘違いしてるのが多いが、演算子の優先順位って処理の順番じゃないぞ。 これ以上はスレ違いなので、C言語スレにでも行ってくれ。
>>274 >勘違いしてるのが多いが
勘違いしてるのは
>>267 一人だけじゃないか。
ねつ造もいいところだ。
計算してみたよん a' = a1 + a2 - a1*a2 c' = (a2*c2 - a1*a2*c1 + a1*c1)/a'
あ、Cは color か。失礼。 代入後、K * (背景)の項を消すために、K=0とおいて、a'を計算したんだな。
なんか馬鹿が一人でわめいているようだが…こういう馬鹿はほっとくかw
DXライブラリに実装されているSetDrawBrightという関数と同じような振舞いをする 振舞いをする画像処理関数が必要になったんですが、 現在使用しているライブラリには用意されていなかったのでCで安直に実装しましたところ、 しかし泣けるぐらい重くなってしまいました。 処理の内容としては それぞれ1Byteのデータr g b aと適用前のピクセルpの成分pr pg pb paが与えられたときに 適用後のピクセルqの各成分である qr = pr * r/0xff, qg = pg * g/0xff, qb = pb * b/0xff, qa = pa * a/0xff を計算し合成しqの値を求めるというものです。 1.こういうのって正式な呼び方ありますかね? DxライブラリではSetDrawBrightというような名前で使われていたので、 明度と関係がありそうなんですが、それだけでは上手く絞り切れませんでした。 今後自力で調べるときのキーワードとして上手く機能する呼び方というものは 知っておきたいです 2.また、効率のよい実装例、方針があれば知りたいです。 自力ではSIMDを使って乗除と最終的に各色成分をシフトして&合成する処理を、 それぞれ一纏めにできそうというぐらいしか思いつきません。
>>280 とりあえず安直に qr = (pr * r + pr)
>>8 ; でいいんじゃない?
これでも遅いなら他に問題ありの可能性をあたってみて、
ないなら SIMD 化する。
>>280 名前を付けるとしたら、乗算合成じゃない?
283 :
280 :2009/09/04(金) 18:01:51
ありがとうございます。
>>281 調べてみると、とても遅いというのは他の所が原因でした。
直してみましたがそれでもやや遅い気がするのでSIMD化を試してみたいと思います。
/0xffは最適化を有効にするとコンパイラが右shiftに直してくれるようです。
>>282 これも乗算合成というのですか。
SDL_gfxにも.*Mult.*という乗算らしきものがあるんですが、
これの場合はDXライブラリのSetDrawBrightや今回実装したものとは振舞いが違うようでした。
具体的には、imageFilterMultではs0とs1を取ってs0*s1を計算する
つまり0<s0*s1<(s0またはs1)にはならないとかです。
他にはs0/s1を計算する除算とかs0/2 * s1とかs0/2 * s0/s1がありましたが、
どれも目的の振舞いとは違ったものでした。
なので、乗算合成だけではこの振舞いをするものは絞り込めないように思います。
ディスプレイの明るさ(ガンマではない)調整機能でRGB独立に調整できるものがありますが、
それが近いような気がします。
この振舞いに対応するキーワードがあればいいんですが…
>>283 画像処理では、輝度値は0〜255ではなく0.0〜1.0で扱うのが一般的だから
ただの乗算が
>>280 と同じ処理だよ。
ソース公開されているんだから確認したら?
286 :
280 :2009/09/05(土) 21:42:45
SSE(とMMX)を使ったら大体5倍強の速度になりました。
見様見真似でイントリンシック関数を使ったお手軽なものでも、
ここまでできるとは流石SIMD様です…
呼び方について調べたところDirectXの世界の用語ではDiffuseColorともいうもののようです
とはいうもののこれでは少し意味がかわってきますし、やはり輝度でおkですかね。
>>284 なる程、同じ処理でも立場によって呼び方がかわるというあたりまえの事ですが、
結構混乱させられますね。
>>285 確認しました。
どうやらDirectXの機能を使ってるようです、描画ポリゴンの頂点色を弄ってるんでしょうか。
とりあえずハードに入ってるぐらいだから典型的な処理ということはわかりました。
287 :
デフォルトの名無しさん :2009/09/08(火) 03:59:06
gimpの読み込みしようとlibxcfを自作したがやっと動いたぜ
でもなんかgimp開発サイドでもめてるのか? libxcfは作るなとかなんとか言い合ってるのを検索してたらよく見たんだが まあ自分で使うだけだしいいか
初歩的すぎる質問ですが、座標(0,0)の画素ってあるんですか? それとも(1,0)や(0,1)から始まるんでしょうか。 for文のi=やj=をどうすれば良いのか困ってます。
質問できるレベルになってから来て下さい
おまえさんが処理しようとしている画像データのデータ種別とかアクセス関数の定義次第だろ。
男ですみません
295 :
デフォルトの名無しさん :2009/09/13(日) 10:34:00
スクリーンショットくらい見せろよ
スクショを見てUIを確認出来ないようなアプリは試用する気にもなれん。
輪郭追跡して閉じている輪郭のみ残したいんですけど、すぐ使えるライブラリってありますか
あるよ。
301 :
デフォルトの名無しさん :2009/09/20(日) 11:11:46
回転と変形で別のソフトを使わないといけないのは非常に面倒くさい
Shifted-Linear Interpolationとか他より特徴あるアルゴリズムでも実装しないと興味も出ないな。
晒しかよ、哀れな
>>303 なんだよその具体的な指摘はw
プロ煽りやかよ・・・と思ったが、おかげでいい技術を知ることができました
ありがとうw
つーか、コテつけろよ片山。あぼんするのが面倒だろうが。
siftの特許っていつ切れるの?
308 :
片山博文MZ ◆BVYGEn4LD2 :2009/09/28(月) 10:07:18
>>308 間違いがあると判っているならそれを書け。
んな小汚いソースを逐一読む気にはなれんぞ。
>>308 2chで物を聞きたい時のコツを教えてやるよ
482 :名無しさん@初回限定:2007/09/10(月) 02:39:05 ID:+7lLhCDw0
2chで調べ物をしたい時は「教えてください」って書いても
なかなか教えてもらえない。
そういう時は、知ったかぶり風に間違ったことを自信満々に書く。
そうすると、ものすごい勢いでツッコミを入れてもらえる。
311 :
片山博文MZ ◆BVYGEn4LD2 :2009/09/29(火) 08:40:12
うーぬ、誰も分からない域に達していたか。 しょうがない、知恵袋で聞いてみるか。
OpenCV2.0でた 過去のコードとの互換性はどんな感じなんだ
おちつけ早漏
>>311 俺たちはお前のボランティアデバッグ要員ではない。
316 :
デフォルトの名無しさん :2009/10/02(金) 02:18:25
質問者のレベルが低すぎて吹いた それじゃあ処理はおせーし 信号劣化させて画質落ちるだろ せめて畳み込み計算させて画質だけはよくして… つか信号処理を学んでプログラムできるようになって
つっこみのレベルも低いな
煽りのレベルも低いな
確かに低いな。
320 :
デフォルトの名無しさん :2009/10/02(金) 21:14:39
じゃあレベルの高い話をしようぜ
OpenCV v2はソースが綺麗になったらしい
懐かしいな。
>>322 それのアルゴリズム実装したけど画像によってうまくいったりいかなかったりする
そういうサンプル的なものは見せるためにわざと適合した画像を使ってるだけだから
一般用途にはまだまだ使い物にはならないな
SIFTなんですが、キーポイントのスケール値が大きいほどより重要な点と解釈していいのでしょうか?Rob Hess氏の実装だとスケールが大きい順に特徴点がソートされてますが、上位から100個だけ特徴点として使うこととかありますか?
文系学生です
最近趣味でプログラミングをはじめ、簡単な類似画像検索を作ろうと思っています
アルゴリズムはCCV
ttp://d.hatena.ne.jp/audioswitch/20080924/1222258823 を使用するつもりなのですが、上記ではRGBの値が全て等しいとして
ベクトルを生成しているのですが、実際はどのようにすればよいのでしょうか
例えば画像A、Bの二枚の類似度を測りたいときは
RGBそれぞれのCCVを生成したあとどのように比較すれば良いのでしょうか?
ド素人な質問ですみませんが宜しくお願い致します
327 :
デフォルトの名無しさん :2009/10/16(金) 00:32:46
平均とか分散とか
>>326 あんまり難しく考えなくても出た数字ってのは色と形状を数値化してるわけだから
数字の偏りが近いものは似てると言えるわけでしょ
サイズが同じならそれぞれ対応する数字の差分を合計して一定数以下ならって判断が出来るし
サイズが違うものを比較するなら数字の合計でまずそれぞれを正規化してやればいいだけ
卒研で画像処理に関することを扱うことになったのですが、 卒研にかけられる時間が2ヶ月弱になってしまいました。 実際の画像とPC上で見える画像に差異があるので、 金属、プラスチックの物体の画像を、何らかの処理をすることで、 元の見え方に近づけたいと考えています。 何かいい案はないでしょうか?
おまえには無理 あきらめれ
>実際の画像とPC上で見える画像に差異があるので、 これをはっきりさせれば、自ずとどうすればいいか判りそうだが。
原因がわかっても修正が可能かどうかは別問題だろ
コントラストを上げるだけでなんとかなっちゃったりしてw つかPC上で違うと言っても、モニタによって結果は様々だと思うんだけどなぁ
sageと書いてあるな
モニタのimpulse responceを測定してconvolutionを使ってどうにかかんとか
金色の金属をデジカメで撮るとRGBだけでうまく表現できてるんだなと感心するわ。 さすがに蛍光色は難しいけど直前に違う色で目を慣らしておけば モノクロ写真に色が付くように感じるように蛍光色も表現できるんだろうか。
しょせんモニタの限界以上にはあがらない
卒論2ヶ月って…釣りじゃなければなめてんのかw テーマが未定ってことは、海外の関係論文あさって読むだけで終了だろ。 もう1年やるか、夏休みの自由研究レベルにしろ。
_ト⌒|G
344 :
デフォルトの名無しさん :2009/10/20(火) 23:52:06
ここはciecam02だな
329です。 レスくれた方々ありがとうございます。 できるだけのことをしたいと思います。 テーマ変更も視野に入れて・・・ やっと内定取れたのにorz
もう一年がんばれ
なんだか本末転倒なことになってるな
>>329 その「差異がある」画像の例でも挙げてくれませんかね?
PCの画面の上に付いてるカメラから取得した画像を、金属表面に貼り付ければ、あたかも鏡面反射に。
さちゅれーしょんの問題かな?
>>350 それしかないな
自分の顔が歪んで映り込む様子を画面に出力できたら勝ち
自分の顔を歪ませて金属表面に見えたら勝ち
エアコンのCMの金属ババア思い出した
>>329 一番見え方に影響するのは影だよ
分散光をシミュレートして精密な影を生成するか
適当に影のふちをぼかして見るとか
356 :
デフォルトの名無しさん :2009/11/10(火) 17:23:54
仕事で画像処理の勉強が必要になりました。 学習書はきそから分かる画像処理でいいですか?
>356
既に十分検討されているとは思いますが
画像処理は幅広い領域でありますので
その書籍だけでは押さえられない可能性があります
主に画像処理は
- 補正(フィルタや色相変換など)
- 圧縮(JPEG, JPEG2000など)
- 解析(2値画像やOpenCVに代表される各種解析など)
となります
どの分野が必要なのかわかりませんが
『基礎からわかる画像処理』は主に画像の補正や加工を扱っているように思います
cf:
http://www.kohgakusha.co.jp/books/detail/978-4-7775-1322-2 サンプルコードがC♯ですが、理論が書かれているので他の言語での実装は難しくないとは思います
画像処理を学ぶ学生が一度は手にしたであろう書籍
『C言語による画像処理入門』は画像処理全般を一通り押さえてあります
個人的にはソースコードが良いとはいえませんが
画像の補正や加工のアルゴリズムが多数載っている書籍
『詳解 画像処理プログラミング C言語で実装する画像処理アルゴリズムのすべて』はあまり評判が良くありません
確かに数多くのアルゴリズムは載っていますが、誤植が多い気がします
その他、確率モデルによるやら遺伝的アルゴリズムによるやら
フラクタル圧縮やらウェーブレット画像解析やら
なんやらかんやらいろいろあります
結論、どのような画像処理を行いたいかでお薦めする書籍が決まる
358 :
デフォルトの名無しさん :2009/11/10(火) 21:01:14
むずかしいこといわれてもよくわかりません。
359 :
デフォルトの名無しさん :2009/11/10(火) 21:04:55
>>357 過疎っていたのにレスが!
しかも懇切丁寧にありがとうございます。参考にさせて頂きます。
過疎だと?失礼な奴だな
361 :
デフォルトの名無しさん :2009/11/11(水) 20:18:30
ふと気になったんですが 3次元画像の近傍って6,18,26のほかに何がよく使われるんでしょうか? 124とか342とか使うことはあるんですかね
5x5x5で124は判るけど、342って? 6、18、26の他には14と3x3x3+6で32点は使ったことがある。
342 = 7*7*7 - 1 だろ
しまった、その発想はなかった。
3次元でなら、ヴォクセルサイズでやるんではなく、距離で考えたほうがいいんじゃね? どうせ、3次元のループで距離の条件が合致するところだけ処理するってコードになるでしょ。 距離=1 ⇒ ヴォクセルサイズ=3 ⇒ 26格子点 距離=2 ⇒ ヴォクセルサイズ=5 ⇒ 92格子点 距離=3 ⇒ ヴォクセルサイズ=7 ⇒ 250格子点 距離=4 ⇒ ヴォクセルサイズ=9 ⇒ 484格子点 距離=5 ⇒ ヴォクセルサイズ=11 ⇒ 894格子点
影で暗くなってる領域を明るくするのって どんな方法でやってるのでしょうか フリーソフトなどで、処理してくれるものはありますでしょうか
明度を一定にするか下駄履かせるのが、考え方はもっとも簡単じゃね?
>>366 たまたま今 GIMP2 を弄っているけど、明度の分布をとって暗いところを
明るくするよう曲線を変更して処理する例があった。GIMP2 でぐぐって
みたら。使い方を初歩から説明しているサイトもある。ソースも公開な
のだが、やたら拡張機能とかで分割されていて、どこにそのソースがある
かニワカには分からないのが難点。
>>368 明度の低いところ=影、とするのが基本だとは思うけど、そうすると、
次の問題として、明度がどれくらい低いところを影とするか、という課題が残る。
明度の分布がどうなっているのかは画像の内容に依存するので、
1.分布を変更するパラメーターが指定できるようにして、画像ごとに指定できるようにする
2.適当な閾値を決め打ちする(
>>366 でいう「下駄を履かせる」ことか?)
3.画像全体で一定の明度になるように固定(
>>366 でいう「明度一定」)
の三つの方針のどれかってことになるような気がする。
いずれにせよ、明度をいじるとするならば、サンプルを見つけ出すまでもなく、
画像の全ピクセルに対してRGB⇒HSV変換、Vについての分布の変更、
HSV⇒RGB変換という極めて簡単な手順で実現可能だ。
>>366 この板的には、>369のように難しくないから自分でやれ。
或いは、ImageMagick辺りのライブラリでもそれなりにできる。
疑似ハイダイナミックレンジ合成って奴とか
>>367-369 それ単にダイナミックレンジを狭めてるだけじゃ...
素人が見てもダメダメな結果になるんじゃyね?
>>373 ダイナミックレンジを狭めるというのは、「影を明るく」だから当然のこと。
影と判断できるところだけ輝度を上げるのなら情報量は減らないよ。
うん。 だから画像全体の明度分布の変更じゃなくて、陰っぽい領域を それらしく選定するアルゴリズムの話をしなきゃ意味なくないか、と。 松下のビデオカメラがこの処理上手いんだよな。
Shadow Removalでぐぐれ
フラクタル圧縮の高速化の鍵って何? GPU使って終了?
Fisherの_Fractal Image Compression_とか高速化手法がかかれた論文でも読んでみて アルゴリズムの改良が一番だと思うよ 写像の式を改良したり再現性を落としてレンジサイズを大きく取ったりいろいろ 実の所、僕も知りたい
>>376 検索したけど
影がない時の参照画像ないと影とりのぞけないのか
それじゃ使えない
どのページを読んだんだい?
活字本をスキャンした画像の行間にすき間を入れたいんですけど、 テキストの行を検出する、縦書き対応のライブラリってありますか?
なければ作れば良い
OpenCV
それ何に使うん?
えっ
OpenCVを知らないとはモグリだろ まぁ、ここの住人は大抵フルスクラッチでやってるし 論文読んだり、自分で理論作ってコードに起こしているから使い方は知らないかもなぁ なければ作れ、そんな感じ、どんな感じ?
なんか多分、そんな感じ
OpenCVって再配布とか金取るんじゃないの? そんなの使いたくないな DLLとかにまとまって配布自由とかならいいけど
ライセンスも読まないカスにOpenCVを使う資格は無い
こんな馬鹿が画像処理できるわけないから心配ない
カレーうどん食べたい
opencvとかゆとりすぎだろwww
393 :
381 :2009/12/02(水) 00:35:41
自分で書いてたんじゃラチがあかないので、90度回転して OCRopus のテキストレイアウト機能を使うことにしました。 行認識の精度は思ったよりもいいです。
394 :
デフォルトの名無しさん :2009/12/04(金) 10:37:25
3次元の線画像の上に1つ平面(超平面)をおいて それに対して左側と右側(上側と下側)でどれくらい面対称なのかを 数値化する方法はあるのだろうか 「対称ならば、〜である」っていうのはいえるけど その逆はかならずしもいえないからなあ・・・
2次元周波数を出力するフーリエのプログラムって どこかにありませんか
>>395 OpenCVのcvDFT関数
関数内部ではFFTでやってるらしいから速い
399 :
デフォルトの名無しさん :2009/12/06(日) 23:55:29
Google画像検索には線画(Line drawing)の絞り込みがあるけど この判定アルゴリズムに関連しそうな論文か情報があれば教えてほしいのですが。 色のヒストグラムや分布から機械学習でするのがいいのかなと思っているのですが 前例が見つからないので。
>>399 ほぼ全てのOCRソフトには線画、写真、文字の領域を分離する「像域分離」機能が備わっている。
document analysisとかdocument recognitionの主要分野なので山のように論文がある。
小説をそのまま画像にしたようなファイルも大量に引っかかるから それはやって無いような気がする
>>402 数年前に似たことをやろうとしたけれど大手地図会社の特許があって断念した
記憶がある。googleなら地図会社ごと買っちゃうだろうけど
yuv10bitをbmp8bitにする方法分かる方、いらっしゃいますか。
rgbの間違いじゃないのか
407 :
デフォルトの名無しさん :2009/12/14(月) 15:20:42
Cosegmentationって、ただのセグメンテーションと何が違うんですか?
>>407 なんか気になったからぐぐっちゃったわ。
日本語圏ではほとんど単語が存在しないな。
結論としては、複数の画像に同じ物体が写っているような場合に、
それらの画像を同時にセグメンテーションして、正確に物体を切り分けるような話っぽい。
409 :
デフォルトの名無しさん :2009/12/14(月) 17:59:54
>>408 そうですね。日本語の文献はなくて・・・。
英語の説明読んでもいまいちパッとしなかったので聞いてみました。
ありがとうございます。
画像処理する人ってみんなフォトショップぐらいもってるもの? あれってlinuxで動かないよね
Gimp使え
立体線画のパターン認識をやりたいんですが MSEって3次元画像ではどういう風に計算するんでしょうか? ググって文献さがしているんですがなかなか見つからんです。 あと、もっといい誤差の求め方があればいいのですが・・・二乗誤差が一番基本的かと思いまして。
こういう符号化してるのってある? 符号化 復元 0001xxx 0000000000001xxx 001xxxx 000000001xxxx--- 01xxxxx 00001xxxxx------ 1xxxxxx 1xxxxxx--------- 0は0 1は1 xは不定 -は切捨て
>413 意味が分からん。 ハフマンかランレングスに近いかもしれんが、歯抜け過ぎるテーブルの解析は 困難ですなw
>>411 Gimpは動画のコマ送りトレースできないよね。
PNG圧縮処理を自前でやってみたんですけど 100x100のサイズを超える画像がなんかうまく圧縮できないみたいで 何かPNG圧縮で100x100超える画像とかに特殊なやり方とかあるんですか?
人に聞く気が無ければ来るな
>>416 チャンクのサイズ上限に引っかかったんじゃ。
420 :
416 :2009/12/21(月) 21:52:55
それは一度疑ったんですが チャンクのサイズ自体は問題なかったです 100x100以上の画像に特別な処理するわけでは無さそうですね・・・ もう一度見直してみます。お騒がせしました
421 :
デフォルトの名無しさん :2009/12/22(火) 11:17:26
お騒がせというほどではないっす
422 :
デフォルトの名無しさん :2010/01/04(月) 07:26:49
モニターに写っている物を携帯で写した画像と 実際の物を携帯で写した画像の区別をつける方法を教えてください。
目で見ればモアレでわかるけど...
424 :
デフォルトの名無しさん :2010/01/04(月) 08:47:53
>>423 普通に見ただけじゃまったく分からない画像なんですが・・
そういう場合でも調べられますかね?
まず二枚のサンプル画像うpしる
426 :
デフォルトの名無しさん :2010/01/04(月) 09:05:58
水平方向の明度変化が大きい方がモニター画像。
間違えた、垂直だ
エッジ見れば分かりそうな気が
>>426 これくらいならわかりそうだけど
人間がいくら詳細に観察しても区別できないものは機械にもわからんだろう
グレア加工されていれば妙なツヤが出るし フラッシュを焚いていれば光源が写りこむ あるいは撮影者が写りこんでいるかも CRTならモアレやラスタから判別出来る でもそういうのがまったく無ければ難しいだろうね
画像処理ってパテントの固まりなんですね。 オープンソースでプログラムを公開しようと思ったら 関連特許は調べておくべきでしょうか。
特許についてはソースの利用者が調べろ 特許のトラブルは関知しない とソースに入れておけばいんんじゃない
公開した時点で損害賠償請求の対象になるんじゃないでしょうか。 やっぱり仕組みからきちんと調べた方が良さそうですね…
第68条 特許権者は、業として特許発明の実施をする権利を専有する。 ただし、その特許権について専用実施権を設定したときは、専用実施権者が その特許発明の実施をする権利を専有する範囲については、この限りでない。 法律がどうあろうと俺は訴訟を起こすぜヒャッハー、というキチガイも世の中にはいる。 そういうキチガイに絡まれるのが嫌というなら一切公開しないことだね。
>>435 > 公開した時点で損害賠償請求の対象になるんじゃないでしょうか。
それは常識的には無いと思う。
パテント保有者は、まずは公開した者や責任者に問い合わせるだろ。
「その技術はうちの権利を侵していないだろうか」と。
そして確かに侵していると互いに認識すれば、そこから
以後はもう公開しないとか、公開し続けるなら特許料とかの話に入る。
よくマスコミが取り上げたりして話題になるのは、
互いの認識が合わないまま公開し続けた、使い続けた後の話だと思うぞ。
「普通」は話し合いだ。
サブマリンや
>>436 の言うキチガイなどでいきなり大事に持ち込もうとしても
できないような法律的仕組みが、確か作られているような気がしたが・・・
思い違いかな。
なるほど、勉強になりました。ちゃんと調べずに書き込んで済みません。 頂いた情報でググってみたら Xvid や MP3 の例を見つける事が出来ました。 「業として」なのかと、万が一問題が発生したらきちんと対応する事が 重要という事ですね。どうもありがとうございます。
なんとかフィルタとかいってなんか特許がどうのこうの言って フリーのフィルタの開発者達に脅しをかけた人がいて2chでネタにされてたけど、 Lame本家やXviD本家みたいにソースだけ公開してる分には全く問題ないはずなのよな。
アイリスフィルタか
>>441 有識者じゃないけど条件の与え方が違いすぎるから同じものには思えないねぇ。
>>441 後者は白黒画像に対し符号付き距離変換をしてから Watershed を使ってる
…たぶん
教えてください。 yuv10bitを8bitに減色するには、どう減色するのがいいんですか。
yuv10ビットってのはy:u:v=10:5:5ビットの20ビットってことだから、yから2ビット捨ててuとvから1ビットずつ捨てれば医院で内科医?
446 :
441 :2010/01/12(火) 22:28:06
>>442 さん、
>>443 さん、レスありがとうございます。
後者は、領域成長のシードを自動的に与えるために
白黒画像を距離変換して極大位置をもとめるということでしょうか。
でもって領域成長のうちきりが分水嶺ということなんでしょうか。
前者のOpenCVのほうはシードを手動で与えてますよね。
447 :
デフォルトの名無しさん :2010/01/16(土) 20:29:12
お前マルチだろ
はわわわわー
2つの立体画像の形状の類似を調べるのに 一番確実で手っ取り早い方法ってなんですか?
目視で確認
それぞれ三箇所から撮影したそれぞれ三枚の画像で比べる
携帯サイトとかmixiアプリとかで
「脳力テストゲーム」みたいな名前で
>>450-451 を実施したら
それなりに機能しそうな気がしてきた
青基調の画像の青部分を緑にしたりとか どうやったらできるの? フォトショでできる?
色相
456 :
デフォルトの名無しさん :2010/01/28(木) 23:12:27
画像処理の仕事って儲からないよな。
457 :
デフォルトの名無しさん :2010/01/29(金) 01:29:50
for文で画像全体を走査し、if文で、 2値化した画像の画素値が0(黒)の部分だったら右に+5のように少しずれて、 そのずれた先がまた黒だったら、今度は下に+5ずれた部分から画素を取得する、 以下、その繰り返し・・・ というようなif文の書き方はどのように書けば良いのでしょうか?
再帰
ちょっとスレ違いかもしれませんが、カメラキャリブレーションをする時の「再投影誤差」というものがよくわからないです。 調べてみて ・正しい(と思われる)三次元座標と画像座標の対応がわかっている場合に ・画像座標を変換行列によって三次元点に変換したものと、対応する三次元座標の間の誤差 のような感じで理解したのですが、今使っているMATLABのcamera calibration TOOLBOXだと、誤差がreprojection error(in pixel)という表記で出てきています。 三次元点同士の差なのでm単位だと思っていたのですが、再投影誤差をpixelで表すときはどのような操作をしているのでしょうか? 画像座標→三次元座標→再度画像座標へ、とやるのかと思いましたが、これでは逆変換をほどこすだけなので元の場所に戻ってきてしまいますよね?
yes we can
正解点x、推定点x'とすると 再投影誤差d=||x-x'|| (|| ||はL2ノルム) 推定した三次元を画像座標で観測した時の画像座標を正解座標と比較するから"再投影"誤差
ありがとうございます。
すると
>>459 の解釈が既に間違っていて、正しい(と思われる)三次元座標:画像座標について
・画像座標=画像上で検出したもの
・推定座標=三次元座標を(推定した)変換行列で画像座標に変換した座標
という二つの画像座標間での誤差を計算、ということで良いでしょうか?
普通はそうだね
Photoshopのブラシのようなものを作っていますがどのように計算したらいいのでしょう? はじめはガウス関数を使ってみたのですが速度がどうしても稼げませんでした。 次に先に2次元ガウス分布図をテーブル化して画素に加算をした結果、 ぱっと見うまくいっているんですが、テーブル値の間の値はどちらかに寄ってしまうので 縞模様になってしまう場合もあります。
GIMPのソースでも見たら?
フニャフニャの輪ゴムを撮影して、 画像処理で真円に変換する方法ってありますか?
どこまで品質が要求されるのかにもよるけど (1)フニャフニャ輪ゴムのアウトライン(輪郭)を抽出 (2)アウトラインと真円との対応を考え、拡大縮小率、回転率、移動量を 画素単位(あるいは微小面積単位)で計算して求める。 (3) (2)の結果に基づいて、フニャフニャ輪ゴム画像から補間処理で 真円の輪ゴム画像を生成 って感じではどう?
大体の中心を算出し、その点を中心として高速で回転させることで円が現れる
>>467 レスどうも
やっぱりそんな感じで自力で作るしかないんですね。
技術レベル低いのですげー重くなりそう・・・・
8の字になってても大丈夫なんかな
>>470 そこまでの変形は想定してません。
概ね円に近い画像を入力します。
輪ゴムが円になりさえすればいいの? それとも輪ゴムの中や外も不自然にならないように変形する必要があるの?
>>472 輪ゴムのみの変形でOK
背景はどうでもいいです
だから中心点と半径さえわかればいいんだろ!なに無視してんだこの野郎!ふざけやがって!ゴムさえ回転させればいいじゃねえか!クソ!なんで無視だよ!
それなら「半径」が求まったら「中心」から「半径」の距離にあるゴムの色で円を描く方が良いね
ゴムには模様のようなものがあるので 円を描くだけでは駄目なんです
そう言ってんだろアホがあああああああああああああああ
ゴムに模様なんてねえよ!!!!!!!!!!!!!!!!!!!!どこのコンドームだよ!!!!!!!!!!!!!!!!!!
情報の後出しは煽られてもしょうがないよね。
それで思い出したけど、銀河系の生成シミュレーションってあるじゃん? あれって、ちゃんと重力の伝搬は光速に制限しているのかね?
たかだか万年のオーダーなんて、無視しない理由がない。
>>476 そのゴムのパスと太さを取得して、
パスに沿って画像からテクスチャ情報を取得すればいいんじゃないの?
インテグラルイメージの利点がイマイチわからんので教えて。
もとの画像の任意の矩形領域の輝度の総和が インデグラルイメージ上の4つの画素のアクセスで求まる つまり速い
失礼します。 照明のムラやゴミなどの輪郭がボケた部分を除去して、 物のように明暗がクッキリ別れている部分だけ残すには、どのような処理をすれば良いのでしょうか?
>>485 その利点はわかってるんだけど、矩形領域の輝度値を知りたいときってどういう処理?
手法によるけどきれいに矩形で領域分割なんかよっぽど特殊な環境じゃなきゃできないと思うんだが。
A: 〜がわからないので教えて B: 〜ってことだよ A: 知ってる おれがBならAを笑顔で殴る
>>486 具体的に、こんな画像をこう変えたい、という例が図なり画像なりであると
答えやすいけど、何か出せるものあるかな?
>>487 顔検出でhaar-like特徴を求めるのに使われている
多重解像度解析とかスケールの異なる矩形で画像を近似するときに高速に実行できる
491 :
デフォルトの名無しさん :2010/02/10(水) 12:40:20
C,C++でExifを簡単に読み込む方法を教えな
スレ違いだ失せろゴミ
libexif
先行技術がありそうだな
>>494 普通に画像をブロックで分割して各ブロックの2値化のしきい値を判別分析あたりで
求めてから画素ごとのしきい値を線形補間で求めて2値化すればいいんじゃね。
30年以上前からある基本テクニックで特許の心配抜きで同じようなことが高速にできる。
実際に
>>494 のリンク先の画像で試したら同等の結果が一瞬で得られた。
注意:判別分析の級間分散を見て背景だけの領域(級間分散が小さい)は除外する。
>>494 これハイパスフィルタに似てると思う
Diffrence of Gaussian の差分の代わりに割り算
Gauss ぼかしの代わりに平均値ぼかしを使ってる感じ
>>499 すごいなー。
>>494 さんじゃないけど、とても参考になります。
よろしければ(3)の処理の詳細ご教授ください。
501 :
494 :2010/02/11(木) 23:57:20
>>497-498 いろいろな方法を考えて頂き、ありがとうございます。
>>497 これが一番簡単そうなのかな?
>>498 前後の周波数帯をカットする部分が似てますね。
>>499 画像での細かい解説、ありがとうございます。
よろしかったら(3)について、もう少し教えて頂けないでしょうか?
輝度分布は画像をブロックに分けているのでしょうか?
>>500 >(3)の処理の詳細
>>501 >(3)について
>各画素を中心とする小領域の輝度分布からホワイト、シャドウを求め、画素値を正規化する
これで充分わかるだろ
わからんかったら向いてないわ
Cとすぐ隣のC'(さらに領域の大きさだけ連続する)が重なると思うのですが 重なった回数分(1)〜(4)を繰り返しても問題起きないのでしょうか それともヒストグラム作成用画素値(変換前画像)と 変換後画像用に二つのbitmapを持ってるってことでしょうか っつーかソース見ろってことですね
情弱w
>>504 >それともヒストグラム作成用画素値(変換前画像)と
>変換後画像用に二つのbitmapを持ってるってことでしょうか
その通りです (^o^)ノ
すげぇ!2chにこんな親切な人が!
509 :
494 :2010/02/12(金) 07:58:21
>>503 細かい解説だけでなく、ソースまで!!
本当にありがとうございます
510 :
デフォルトの名無しさん :2010/02/17(水) 14:30:35
おぬぬめpng書き出しライブラリを教えて
お断りしまーす(^o^)ノ
すげぇ!2chにこんな不親切な人が!
つ libpng
C#からベクタ画像を扱うライブラリって何がありますか?
>>516 ありがとうございました。参考にさせてもらいます。
あたし女だけどサンクー
>>503 >>516 を、うちのマシンで処理させて時間はかってみた
(読み込み、描画は無しで純粋な計算時間)
3.5s C++/CLI
5.5s VB.net アンマネージド化
7.0s C++ Win32
8.0s VB.net
Win32は何か間違えたか?
Win32にいったい何が…
遅すぎ 少なくとも100倍速に改良せよ
単純なループなんだけど、どうればいいのかな?
各画素ごとに100×100のヒストグラムを最初から計算しているのは無駄無駄無駄〜 横方向/縦方向で前のヒストグラムを再利用するだけでヒストグラム構築速度が10000倍 他の計算もあるのでトータル10000倍とは行かんが100倍以上はいくんじゃね
MSERの原理について教えてくれ。論文読んでもさっぱりわからん。たぶん読めてないけど。
GetPixelで輝度値を取得しているんじゃないの?
>>524 自分は20×20でやってました。
0,0だけ20×20のヒストグラムを作成し、あとは差分の1行加算と減算しながら行ったところ
VB.net 7.5s→2.0s
に、なりました。
>>526 GetPixel/SetPixelなんて使ったら分単位になるでしょう。
それ以前に描画とファイル読み込み部分は省いた処理時間です。
感覚的には30msecくらいで出来そうなんだけどなー
>>497 だと130ms
移動平均法(窓サイズは24×24くらい)だと30ms
で同じような結果が得られた。C++。Pen4/2.4GHz。画像は
>>494 のやつ。
背景が広く連続しているとノイズを拾うという欠点はあるけど移動平均法が速いな。
ゲームで使うために動的に袋文字を生成したいですが、 どんなアルゴリズムを使えばいいんでしょうか。
ピクセル周囲に1ピクセルずつ大きいビットマップつくって 重ね合わせたら
>>530 背景が白(255)で、文字が黒(0)と仮定すると、最小値フィルターを使って
文字を太らせ、元の文字画像と合成するのが最も簡単
要はどうやって輪郭を太らせるかって問題だよね カウシアンかけて切り捨てとかあるよね
モルフォロジーでdilationだ
>>530 袋文字のフォントを用意して・・
いやごめん
4方向にずらして描画して左上,右上,左下,右下
真ん中にAND描画するとか
xor だorz
おまいらAAのこととか無視してるだろw 特に袋の内側のAA。
ん?AAが必要なら、文字を4〜8倍の大きさで袋化した後 積分的手法で縮小すればいいだけ
袋の内側のAAって ω のこと?
しらんがな(´・ω・`)
それ袋全体だろ 内側ってことは 人
テンプレートマッチングは、「相関係数を何度も計算して、画像間のずれを最低限に抑えること」で大体合ってますか? テンプレートマッチング=相関係数 ではないですよね?
>>544 「画像間のずれを最低限に抑えること」といったら普通はレジストレーション。
テンプレートマッチングと相関係数は、そもそも比較対象とはならない。意味不明。
>>545 イメージテンプレートマッチングって言ってるのはカッペの俺だけ?
しばらく内地に戻ってないから色々ずれちゃってるかなぁ
相関係数はどのくらい近いか(相関関係があるか)の割合でしか無いからなぁ
なるほど normalized cross correlation 最大の箇所でマッチング箇所を見つけるのは邪道か
漢が使うなら「差」
このスレでいいのか分からないが質問です libpsdを使ってpsdのサムネイルをエクスプローラーに出そうとしてます でVista以降サムネイルCOMインターフェースの仕様が変わって IStreamというストリームからしかデータにアクセス出来ない でもlibpsdにはメモリから読み込むような関数は用意されてるように見えない なんか解決策はありますか?
ソースあるんだから自分でどうにかすれば?
でなければストリームを一時ファイルに出力して読み込めばいいね 無駄すぐる
ソースいじると公開しろとか言われるから嫌なんだよなw
弄らなくても組み込んだプログラム公開するなら必須なんじゃ? 個人使用だけなら弄ったって公開義務なんて無いぞ。
画像の特徴で分割した四分木があって ある領域に隣接してる領域が知りたいんだけど 周辺を総当りでチェックするしかないのかな? 画像もリアルタイムに変動するんだけど 違いがある場所のノード以下を全削除して構築しなおすくらいしか 方法が思いつかないんだけど実際やってみるとかなり遅い 高速化する方法はないもんでしょうか?
>>555 分割を作る時点で、帰納的に属性を持たせればOK
彩度を変更するプログラムを書いているのですが HSVのSを増やすだけでは、色が壊れ 減らしてもモノクロになりません 何か他に方法ありませんか?
色が壊れるのは極端に上げた場合、素画像が白っぽい部分です
>>557 HSV以外の色空間(Labとか)を使う方法もあるけど
HSVでも、そこそこ正しく動作するはず。
プログラムのソースを見せてちょヽ( ´ー`)ノ
自己解決?
CxImageのソース見てたら
YUVでいけるみたいです
やってみます
>>559 opencvですが
cvCvtColor(src,hsv,CV_RGB2HSV);
BYTE* d = (BYTE*)hsv->imageData;
int w = hsv->width;
int h = hsv->height;
for( int y = 0 ; y < h ; ++y ){
for( int x = 0 ; x < w ; ++x ){
// S
long s = d[1] + add_s;
if( s < 0 ) d[1] = 0;
else if( s > 255 ) d[1] = 255;
else d[1] = s;
d+=3;
}
}
cvCvtColor(hsv,dst,CV_HSV2RGB);
な感じです。
>>516 すみません、再度どこかに上げていただけないでしょうか
カラー画像があってこれを4分木分割する時に 分離すべきかどうかを判定するのに対象領域のピクセルを全部走査するわけだけど もちろんある程度分離可能という情報が拾えたら中断することも可能だけど 2048x2048の画像をやってみたらかなり遅い 1回の走査で分離する方法って無いのかな? なんとなく出来そうな気がするんだよね
>>564 検索しても出てこないけどなんですかね?
>>565 intel c/c++ compiler
569 :
デフォルトの名無しさん :2010/04/21(水) 09:09:13
>>567 画像処理のプログラムなら、コンパイラによる最適化だけで、1/2の実行時間になる事もざら。
if文の排除や、ベクトル化等と言ったアルゴリズムレベルでの最適化すれば
もっと確実に早くなる。
そもそも、プラットフォームや具体的な処理内容やコードも明かさずに
教えてくれと言われても、エスパースレじゃないんだから。
570 :
デフォルトの名無しさん :2010/04/21(水) 11:47:10
>エスパースレじゃないんだから。 えっ
こういう奴が最終的にチームに迷惑をかける
そんなに凄くない。画像処理、マルチタスク、通信といったプログラミングの経験が 少しあれば、似たようなものは作れる。特種ハード搭載とか説明にあるけど 必要ならボード等は入手できるしね。特許の縛りを考えなければ、中国とかで簡単に コピー製品がつくれちゃいそうなレベル
>>572 そういう手間を省いて、問題だけに向き合うための商品なんじゃw
すみません。フィルムの質感をシミュレートするライブラリやコード アルゴリズム、数式を解説しているサイトを知っている人がいればご教示い ただけないでしょうか? サイトを検索してもAfterEffectレベルの話や特定の製品(CineLookとか Filmpack)を使った話ばかりでした。
>>575 フィルムの質感というのは、たとえば画用紙の質感とは何が違うのか、
いくつか列挙してみてくれ。
>>577 そういうのは手でやれるってことなら
photoshopとかで実際にやってみて
やったことをプログラムで連結すればいいだけでしょ
>>577 それはただ並べただけで、「違い」を列挙してはいないよ。
質感Aをシミュレートするには、そこに質感Aができる原理を知る必要があるが、
そのためには、そもそも質感Aとは何? という質問に答えられないといけない。
それを探る手段のひとつとして、
よく知っている質感Bとの違いを列挙してみる方法がある。
それが、質感Aが質感Aに見える、質感Aにしかない特徴を暴き出すことになる。
たとえば質感Aは光沢があるが質感Bにはないなど。
そういうのをあぶり出さないと、シミュレートする対象が広すぎてモデル化できないよ。
で、もう一度訊く。
あなたが例示した「写真」と、その辺の紙との違いは何?
あなたが例示した「フィルム」と、普通に最新のDVで撮った映像との違いは何?
ところで、シミュレートしたいんだよね?
色褪せた写真の様な質感ってことか。
色あせたってのも単純に彩度を落とせばいいってわけでもなさそうだけど
質感の違いの1つはフイルムの色素の色再現性だとおもう そもそもRGB画像は元の画像スペクトルを保存してないから これをそのまま再現することはできないけど 撮影対象に考えてるのはは植物の緑とか人肌だろうから そのへん見比べてカラーマップを作ればそれらしいものは作れると思う ・・・という線でとりあえずやってみて結果をさらして!
あと、どこにでも書いてあるけど粒状性 色素の粒子の大きさの不揃いとか分布のムラとか これは光量が少ない部分で強く現れる そのへん考えたらアルゴリズム作れるよね?
連投すまんけど本人が表現できないみたいだから書いておくと 写真の例ではレンズのケラレも古さを出してる。 あと、知らないかもだから書いておくと色素はフイルムメーカーによって 違いがあって、黄色が再現しにくいところとか、赤がでにくいのとかある。 国が変わると色の感じ方が変わるので売れ筋も違うから注意ね。 粒状性やラチチュードはフイルムの品種で変わる。 リバーサル(ポジ)フイルムは色再現性が高くラチチュードが狭い。 シネでは粒状性やラチチュードの狭さがスチル写真より強く出る。 露光時間が短くなるしフイルム面積が小さいから当然だよね。 フレームレートの違いや、ゴミ(粒とか特に髪の毛とか)、縦に走る傷なんかは よく表現として使われるのでみたことがあるとおもう。 フレームの位置ズレやタイミングズレもよく使われるとおもう。 がんばれ !
モニタもCRTとか液晶とか色再現性なんてまちまちだからな どっかでキャリブレーションできる仕組みも作っておかないと使い物にならない
グレインノイズを画面全体にかけると出来の悪いアニメみたいになるよ Photoshopなら影をマスクにしてそこだけにノイズかけるようにするのかな
>>588 人種の違いによって色に対する感度も違うので、
同じTVでも違うように見えるってばっちゃが言っていた
GUI作り込むなら表示ガンマとアプリ内部のガンマが一致するように しないといけないかもだけど、キャリプレーションはOSやドライバに 任せるべきだとおもう。 映像加工するつもりならそのくらいの準備はできてるよね?
特性曲線とかケラレの度合いとか フィルムの潜在的解像度とか製造過程で起こる潰れとか そういうのをそれっぽく見せるだけじゃなく 既存の写真を入射光としてリアルに計算して表示するものとかあったら面白そう 単にパラメーターを適当に入れるんじゃなくて 実在するカメラやフィルムの特性をそのまま利用する ○○年の○○製のカメラで○○フィルムを使った時の写真みたいなのが出せるやつ
自分で作ったら
RAW現像ソフトに、そういうのがあったような気がする
>>592 入射光とする既存の写真の方が、いつのどのカメラとどのフィルムで撮って、
どのような環境で何年保存してたものか分からないと、ダメだろ。
もし「実在するカメラやフィルムの特性をそのまま利用する」事が100%可能でも、
それは写真をそのカメラで撮った映像が出来上がるだけ。
>>595 今更古い写真を古い写真にしようとする奴はいないだろ
デジカメなら誰が撮っても一定の入力なんだからそれでいい
何年前の写真はこうなります...と一覧できるとわかりやすいね
でも表現ツールとしてはその並んだ状態で経年劣化関数のパラメーターを
変化させたりミックスさせて自分好みの劣化関数を作りたいんじゃないかな
そうできれば
>>595 のいう環境によって違う劣化(加速)も表現しやすいとおもう
マスクを併用すれば一部本からはみ出しててかすれてるようなのも表現できる
ところで
利用者の感性の善し悪しはツール作成者は気にしない方向でいくわけだが
ありがちな表現w を警告する機能はあってもいいかも
それと、ビデオ入力をリアルタイムに8mm風にするのはないんじゃない?
あるのかな??
ビデオ入力を熱画像風にするのならホテルハイタワー行けばみれるが
>>596 >デジカメなら誰が撮っても一定
そのデジカメの特性が、「○○年の○○製のカメラで○○フィルムを使った時の写真」
の再現を邪魔するだろ。
例えば、景色 A をカメラ a で撮った写真 α がある。
>>592 が言ってるのは、景色 A をカメラ b で撮った写真 α' を作り出すことだ。
そのために
>>592 は α を「光源とみなして」カメラ b で撮った写真を作り出そうとしている。
小文字のアルファベットを関数とみなすと、
a(A) = α、b(A) = α'、b(α)≠α' だ。
α から α' を作るには a の逆関数が必要、b(a^-1(α)) = α'。
完全な逆関数は作れないが、少なくとも考慮しないことには
>>592 の言う「リアルに計算して」ができないだろ。
raw
raw になるまでに受けた影響はどうするんだ? CCD や CMOS の特性、レンズの特性はメタデータとして記録されるのか?
カメラプロファイル
>>598 a() も b() も用意されてるんだから
b(a^-1(α)) は問題ないだろw
>>602 >a() も b() も用意されてるんだから
a は未知ではないのか、と言っている。
正直、最新のカメラは未だ触ったことがないのだが、
どのカメラにもレンズの特性まで含めたカメラプロファイルがメタデータとして保存されるのか。
だったら私が単に知らなかっただけで、この部分はクリアできる。
ただ、どうやって raw からデモザイクする前の色情報を取り出すんだろ。
各社の raw フォーマットって一般に公開されてたっけ?
未知ではあるが昭和時代のカメラの影響から比べたら 最近のデジカメのメーカー差異なんて無視出来るほど小さい誤差だろう
何を根拠にそんな事を言ってんの?
特性曲線とかケラレの度合いとか フィルムの潜在的解像度とか製造過程で起こる潰れとか、 そういう玄人にしか分からないような微妙なものを それっぽく見せるのでは飽きたらず、 実在するカメラやフィルムの特性をそのまま利用して ○○年の○○製のカメラで○○フィルムを使った時の写真みたいなのが出せるやつ を求めてるヤツだぞ。 最近のデジカメのメーカー差異でも無視できんのじゃないか。 いや、どれくらいの差違かは知らんが。
どこまでマジレスなのかわからなくなってきたけど・・・ 自分は過去の撮像系を再現するような提案は 商品やマスコミの見出しにでてくるような程度のものだと解釈してる 現在あるカメラaの関数も、過去のカメラbの関数も、測定することは現実的ではないけど 現在あるカメラの特性を一定として扱うことができれば 現在あるカメラの画像と過去のカメラの画像との相関を知ることで αからα'(なんでβちゃうのん?)に変換することはできるとおもう そのためにsRGBとかあるんじゃないのか? 厳密さの追求は別の次元だとおもうけど求めるなら色情報とかいってちゃダメだよ スペクトルと光線の方向がわからないと厳密に再現とはいえないよ カメラなんだから絞り羽根やシャッター幕の違いの影響は表現上重要! ・・・でもそんなことはここでは(当面)無視していいとおもう。
画像処理で再現困難なカメラの機種の違いに1つ気づいた 上から覗き込むタイプのカメラあるよね、マミヤとかの。 あれはレンズの位置が低くなるから、そこからみえる風景は顔の位置で撮った写真と違うね。
バカじゃねーの
>>607 >カメラなんだから絞り羽根やシャッター幕の違いの影響は表現上重要!
>・・・でもそんなことはここでは(当面)無視していいとおもう。
そんな気持ちでケラレとかをリアルに計算しようとするなんて・・・
RAWと言いつつ、デジタル補正済みのデータを出力する最近のカメラは、どうかしてるぜ。
最近のデジカメはもう青は青だろ 少なくとも人間に認知出来る範囲の違いはない どのカメラで撮影しようと青だ間違いない
>>607 っつーかフィルタ付きレンズとか使ってたら
もう逆関数で再現なんてムリポ
pgmの中の #コメント をバッチ処理で除去することはできないのでしょうか
それはかなり高等忍術
忍術ワロタw
秘術・具烈符を使うのかな。
寧ろ、忍法瀬渡だろ。JK
ぎゃぁ、トリップに化けたw
W33cs7eqKcさんパネぇっす
まぁ、画像処理は忍術みたいなもんだよなぁ。 何か情報を抽出したり、キレイに加工したり・・・
昔の言葉遊びを思い出した。 忍術、忍法 芸術、芸法、芸能 技術、技法、技能 算術、算法 下に行くほど内容が客観化される。技術は文書による伝承とその内容の 再現性が約束されているもの。実用新案や特許がその典型。 似た用語に、魔法、魔術、幻術、医術などもある。未整理。
ははw なるほどね。 しかし画像処理はおもしろいね。 これを仕事にできて心底良かったと思うよ。
誰かBi-Directional のT=D(S, T1)の意味を教えてくれ
画像から重要度の高いオブジェクトの画素を算出する計算式みたいなんだけど 平坦とか同じパターンの繰り返しは重要度が小さくて変化の大きい部分や エッジに掛かる部分が重要度が大きくなるらしい計算式です
627 :
デフォルトの名無しさん :2010/05/21(金) 16:32:29
libpngを使ってメモリから画像をロードできないでしょうか? 具体的にはpng_init_ioでファイルポインターではなく istrstreamを使えるとうれしいです。
628 :
デフォルトの名無しさん :2010/05/21(金) 16:34:25
libpngを使ってメモリから画像をロードできないでしょうか? 具体的にはpng_init_ioでファイルポインターではなく istrstreamを使えるとうれしいです。
>>626 具体的にわからんがリンクのPDFに詳しく書いてある
読む気がないならあきらめたほうがいい
>>628 メモリから画像をロードはできるけど、ストリーム使ったことないな。
png_set_read_fnを使ったかな。ファイル、メモリ、リソースから
読めるように組んだことはある。
634 :
628 :2010/05/23(日) 09:01:12
>>633 libpngでメモリから画像をロードする方法を教えてください。
私が調べた限りFILE*が必須です。
>>634 633じゃないけど
png_set_read_fnの2番目の引数を、3番目の引数のコールバック関数中で
png_get_io_ptrを呼び出して取れるから、それを使ったりしてメモリから
コールバック関数の引数にコピーすれば読み込み出来るよ。
順呼び出ししかされないからストリームでも問題ない
ごめんスレ違いだったorz
いや単にここの人たちの大半がレタッチにしか興味ないだけで スレ違いじゃないと思うよ
開いたけど筆ペンなんて無いしw
640 :
628 :2010/05/23(日) 22:27:46
>>635 libpngで画像をメモリにロードする方法を教えてください。
私が調べた限りFILE*が必須です。
641 :
635 :2010/05/23(日) 22:58:21
それは怒っていいw
ワロタw
筆ペン 筆圧情報と傾き情報から接触点の形状を作って重ね描画 取得間隔が開くからその間は時系列情報を使って補完する 筆圧だけ拾って接触点を円で処理するものなら難しくはないよ ハネをうまく拾えればそれらしくなるとおもう
646 :
632 :2010/05/24(月) 23:17:25
>>645 なるほど。ただ漠然と考えていた。
要領よく考えれば少しずつできそうだ。
ありがと〜。
648 :
デフォルトの名無しさん :2010/06/02(水) 21:50:50
dll嫌いなのでスタティックライブラリでjpegを読み込みたいと思います。 どこかにありませんか?
dllをスタティックリンクする
650 :
デフォルトの名無しさん :2010/06/02(水) 22:31:46
imagemagickは?
静的リンクするとライセンスの問題が絡むだろ
imagemagickってどこでどれをダウンロードすればいいのか普通にみんなわからないよね
誰だってわかんねえだろ
imagemagickってスタティックリンクしたら凄いサイズにならないか? 使うフォーマットを絞って残りはリンクしないようにとかできる?
libjpegでいいじゃない
車輪くらい作っちゃえば良いよ!
bmpは単純なようでバリエーションが多すぎるし 実装によって挙動がぜんぜん違うし まともなライブラリが1つもないから 自分で作ったよ アルファチャンネルにも対応したよ
吐き出すソフトがあるのか知らんがBITMAPINFOでJPEGやPNG圧縮 V4,V5だとカラーマネージメントにも対応しなきゃならないから面倒だな。
libjpeg、libpng、giflib使ってるけどbitmapがないんだよな libjpegについてるcjpegのコードにbitmapの読み込みがあるんだが まともなbitmapのライブラリってなんで無いの?
bitmapコンテナのJPEGとPNGって仕様書実在するの? 俺みたことねー
必要になったらあせればいいんだよ
libbmp
>>660 MSDNにBITMAPINFOHEADERのbiCompressionにBI_PNG、BI_JPEGという値が指定できるとは書いてある。
実際にそれでPNGやJPEG使えたという話は聞いたことがないが。
>>663 それは有名なんだけどさ、
具体的にどのように画像データが格納されるのかどこにも書いてないんだよな
逆に仕様で存在してても出力するアプリが無いのだかあら その種の画像はこの世に存在しないと判断出来るから要らないだろ 出力するソフトが出来て普及したら実装すればいいだけで
jpegは規格団体あったよね リファレンスあるんじゃね。
jpegの話じゃないだろ
フォトショップで画像の輪郭線を強調して、白と黒に2値化してその黒部分(輪郭線)の座標を別ファイルに抽 出する方法ってありますか?ピクセル単位で量が尋常じゃなくても構いません。 フォーマットはbmpです。xyの座標をtxtファイルに書き込みたいと思ってるんですが。 参考書として「画像処理プログラミング」昌達慶仁著 を使ってるんですが当人画像処理初心者でして、、、 よろしくお願いします。
Photoshopの使い方はソフトウェア板へどうぞ 2値化した画像ファイルから特定の色の座標抜くだけなら、 そんなに難しくないからやってみたら?
プラグインを作りたいとか?
8bitモノクロ写真に色を着色する場合 HSV色空間で考えると輝度情報しかないわけだ 鮮度ってどうすればいいんだろう Photoshopなんかでやる場合は上にレイヤーをかぶせて 演算方法を何かにしてやってるんだろうえけど どういう演算式で被せると自然な仕上がりになるんだ? それが分かれば鮮度の扱いも推定出来そう
↑彩度ねw
輝度を入力、彩度を出力に考えたとき、概ね正の相関を持たせればいい。 どの程度のカーブがいいかは実験的に決めるようかな。 問題は、色相はどうするの?w # これも、輝度を入力にして適当に色相に反映させる手もあるけどね。 # 黒→白で、黒→青→赤→緑→白みたいに。
RGBを半分ずつオーバーラップさせて 色付けする擬似カラー手法はあるけど 目的が違うか
>>674 最終的にやりたいのはまさにそれだけど
それ自体適当に色決めてるだけだし
もっと根本的な部分でどうすればいいのかなと思ってね
>>675 なるほどね、いくつかサンプルとって平均値を求めてみようかな
>>670 フォトショップのスレでプログラム板で聞けと言われたもんで。
座標を抜くプログラムは作ってみようと思います。
座標探索って画像の左上から→↓←↓…の順番で探索しますよね。
そうすると、抽出された座標は上の順番で抽出された座標になります。
しかし、私としては、隣接したpixel座標を順番に抽出したいんですが、
それに良いアルゴリズムといいますか方法ってありますか?
ずっと→じゃだめなの?
>>680 関係ないかも 知れないけど、「塗りつぶしアルゴリズム」ってので検索
すると似た処理がありそうな気がした。ハズレならゴメン。
> 座標探索って画像の左上から→↓←↓…の順番で探索しますよね。 そうか?
座標を抜くとか座標探索とか聞いたことがないけれど、 塗りつぶしのことなら真ん中から左右に探索しつつ上下に探索するけどね。
とりあえず、CG板のPhotoshopスレから拾ってきた。
http://pc11.2ch.net/test/read.cgi/cg/1274815891/109n- > 132 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2010/06/08(火) 21:19:58 ID:gYOj4Hy1
>
>>129 > そうです。xyの座標です。
> 2値化したbmpファイルの画像データを自作のプログラムに入れて黒部分だけ抽出して座標を表示させたんですが
> うまくいかなかったんで、だったらフォトショップで抽出までできればなと思いまして聞いてみました。
> フォトショップでポインタを合わせるとそこの情報(RGBと座標)出ますよね?そのRGB=0の座標を一括で抽出したいんです。
> よろしくお願いします。
この書き込みや
>>669 だけを見ると抽出順序は関係ないように思えるが、
>>680 によるとどうやら順序が重要らしいな・・・。
後出しで中途半端な情報を追加するんじゃなくて、やりたいことを明確に示してくれよ。
>>680 の「隣接」もちゃんと定義してくれ。
元画像から輪郭のみの2値画像を生成(1輪郭/0非輪郭)
2値画像中の輪郭と判断された座標値の列挙 (列挙順はどうしたいんだ?)
後ができてない (
>>685 引用部) から、なにか間違ったことやってねーか?
説明が下手ですみません。 整理してお話しします。 画像データはbmpで、pixel単位です。 画像の形状は円だとします。 2値化された円で円周(輪郭線)上のみ黒です。 ここまではフォトショップで加工 その黒部分のxy座標を取得したいわけです。 その際、取得する順序も重要でして、 始点はどこからでもいいんですが、始点のxy座標を配列a[0][2] に格納します。次に始点に隣接した点をa[1][2]、その点に 隣接した点をa[2][2]として、最終的にa[0][2]に戻ったら終了 としたいのです。隣接する点を探索する順序は上下左右どこからでも 隣接してればOKです。いずれは始点にもどるはずですから。 これがやりたいことです。 できれば円が二つ以上ある場合の方法も知りたいです。 二個目を配列b[][2]として 塗りつぶしアルゴリズムとは似てますが少し違うと思います。
ラベリング で ぐぐれ 4隣接(12時 3時 6時 9時) も 8隣接(12時 1時半 3時 4時半 6時 7時半 9時) も 基本的には同じはず
輪郭追跡かな。 チェインコードとかで検索してみて。
画像処理やってる有名な企業ってたとえばどこ?
ディズニー
キャノン リコー
社名を間違えるのは失礼だろJK
キヤノン、と指摘しないとわからないよw 読みは「きゃのん」だし。
リコーじゃなくてリチョーかと思った
ゼロックス
精密業界の有名ところはほとんどやってんのかな
キーエンス なんでお前ら身の回り品作ってる会社ばかりあげるんだ?
Googleわすれてた
>>687 です。
皆さんありがとうございました。
輪郭追跡アルゴリズムでプログラム完成しました。
感謝しております。
このスレで言うような画像処理の求人ってありますか? フリーで有名アプリのプラグインを作って商売なぞできれば理想的なんですけど それよりは、あるとすればクライアントから依頼を受けるSE的な仕事でしょうか
今 NHK で画像処理の番組やってるね
就職活動は就職板でやれ
>>703 全く気付かなかった
どんな内容でした?
再放送あるのかな?
前もって用意してあるたくさんのパターンの中から入力データに最も近いデータを選ぶ アルゴリズムの研究ってどういうキーワードで検索すればいいかな? なかなかうまく見つからない
テンプレートマッチング
k近傍法
それって、パターンの特徴抽出の方が難しいかも。
ブースティング
イメージレジストレーション
宿題片づけスレで省られたのでお願いします。
C言語初級者、画像処理初心者です。
[1] 授業単元:画像処理
[2] 問題文(含コード&リンク):16×16サイズの白黒ビットマップ画像を読み込んで、
上下反転させた画像をビットマップで保存するプログラムを作成。
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: gcc + Cygwin
[3.3] 言語: C
[4] 期限: [期限切れにつき至急]
[5] その他の制限: 無圧縮で作りたいです。
ビットマップのファイル構造は少し勉強しました。
画像のデータを取り込むところと処理を行う部分がよくわかりません。
fread、fwrite、RGBの宣言、malloc内のsize等わかりやすく載ってるHPや本があれば教えてください。
画像処理系の本にプログラムソースはほとんど載っていませんし、C言語の本も画像処理を詳しく説明していないので困っています。
よろしくお願いします。
試しに書いてみた上下反転プログラム その1 →
http://codepad.org/4iL9agVw その2(改) →
http://codepad.org/OCPwePuM 反転させたい画像を作ったプログラム →
http://codepad.org/8z8MCdZG
上下のフラグを反転させるだけでおk
あ、フラグじゃなかった、正か負かだった
残念だがサボったツケが回ってきてるんだから諦めろ せめて一週間前に「速習C言語入門」でも買ってれば十分間に合ったろうに
717 :
デフォルトの名無しさん :2010/07/06(火) 10:11:04
>>714 回答ありがとうございます
そうすると上下反転ではなくて白黒反転になりませんか?
>714 BITMAPINFOHEADER の biHeight の符号の話かな?
上下反転も組めないヤツに画像処理を詳しく説明しても分からんだろ
720 :
713 :2010/07/07(水) 02:28:28
できました。 汚いスレですね。
答えてない奴は分からないんだよWW
◞≼◉≽◟◞≼◉≽ ジー
映画の動画から特徴点とりたかったんだけど 映画の動画って保存できないんだね どうやってOpenCVに読ませればいいんだろ
日本語でおk ffmpegで読み込める動画形式になら読める
リッピングとかの話しじゃね
犯罪の臭いがしてきたな
>>723 録画開始
∧_∧_ __
( ・∀|[ニ:|ol | i \ \
( つ ∩ ̄ | i l =l
と_)_) | |__ノ ノ
| ̄ ̄| ̄ ̄|
こんな感じで撮影した後、OpenCVに読み込ませてください
「NO MORE 映画泥棒」 を思い出したw
文化泥棒子なら知ってるけどw
730 :
名無しさん@そうだ選挙に行こう :2010/07/10(土) 07:58:16
色を混ぜる計算の質問です。
↓の左側は vector にある「天津」というゲームの中の麻雀牌の画像を
取り出したものです。以前にも遊んでいたのでなつかしかったのですが、
牌の絵が気に入りません。通信販売の麻雀牌の写真から絵柄を抜き出し
それらしく加工して、ゲームソフトのリソースを差し替えたのですが、
牌を合わせると消える処理を実行しません。(混ぜ合わせは成功)
左側の画像のように、牌のグループ毎に色セロファンをかぶせたように
しないとだめかと思いますが、ピクセル毎のRGBにどのような計算をすれ
ば、いいのでしょうか。尚、薄紫は0xA9A9FF, 空色は0x00FFFF,茶色は
0xFF6F3Eです。↓の画像はjpgですが、リソースでは 24bit色bmpです。
http://gazo.pandoravote.net/src/1278715354864.jpg 尚、この処理は自分が遊ぶためだけで、改造結果を公開するつもりは
ありません。
731 :
名無しさん@そうだ選挙に行こう :2010/07/10(土) 08:57:54
誘導されてきました。マルチ失礼。
USBカメラからリアルタイムで動画を取り込み、パーティクルフィルタにより物体を検出する。
重み付けはRGB値を用いて行い、検出するRGB値の範囲は自由とする。
以上のプログラムをPython2.6.5でライブラリを使用せずに作成しようとしています。
動画の取得・表示まではできたのですが(
ttp://codepad.org/JuBXsIyt )、パーティクルフィルタが書けません。
どのように書いたら良いでしょうか。
よろしくお願いします。
>>730 gimpかphotoshopでR,G,Bそれぞれのチャネルごとの画像を見てみれば
何かわかるんじゃないかなー。
733 :
730 :2010/07/10(土) 17:59:10
>>732 レス感謝。R,G,B それぞれの絵を作ってみました。
左から薄紫、空色、茶色の絵に対応し、縦にR,G,B別に並んでいます。
元の絵では 24 bitCount ですが、サイズが1メガを越えるので、
jpeg 圧縮で上げました。文字の輪郭がぼやける傾向にあります。
http://gazo.pandoravote.net/src/1278751422049.jpg 32 bit color だと、αチャネルで透過率を指定して背景色を出
せるようですが、αの値(0〜1の間の値を取るとして)を全部
一律なのか、元の絵の背景が白なら透過率1にして特殊扱いする
ものかなどがまだ見極め出来ていません。これが分かれば、
求めるR,G,B=元のR,G,B ×α+背景のR,G,B×(1−α)
(R,G,B はそれぞれ個別に扱う)
で、αをスライダーで動かして、見た目にそれらしいのを選ぶとか
出来そうです。
とりあえず、スレに無関係な特定アプリの要素を排除して記述してくれないか
>>733 そもそもゲーム側がどういう処理を行っているかまだ不明なんでしょ?
それを推測できないと計算がどうとか以前の問題。
あと「牌を合わせると消える処理を実行しません」ってのが謎だな。
牌を消すのは実はαチャネルでやってて、表示処理はしてるけど見えないだけ、
みたいなことになってるのか?
でもそうだとすると、少なくとも同じ色で塗りつぶした(絵柄の外の下地の)部分は消えてないとおかしい。
>求めるR,G,B=元のR,G,B ×α+背景のR,G,B×(1−α)
これはごく普通のα合成の式だけど、ゲーム側では上記のようなことをやってるだろうけど、
画像データ作成側は単に適切なαチャネルを置くだけな気が。
そもそも
>>730 の画像で縦に4色並んでいる意味がわからない。色のバリエーションがあるということか、
もしくは牌の状態(選択中など?)によって色が変わるのか。
(ダミー画像でも入れておくとどこでどれが使われてるかわかるだろうけど)
元データが24bitBMPなら、いわゆる一般的な8bitのαチャネルはないことになるけど・・・
そうすると、R,G,Bのどれかか、もしくはさらにその一部のビットをαチャネルとして使っているか、
またはカラーキーで特定の色を抜いてることになる。
見た感じ24bitのうちの一部のビットでαを表現しているという線が疑わしいかな・・・
そのゲームを見てないが、αとかじゃなくて論理演算じゃないの?
そうだけどなにか?
>>734 特定アプリの話を出したのはそもそもの魂胆はなんなのと疑問に
思う人に当てたもの。自分の問題は
>>730 で挙げた画像の左側
の絵を作ること。すぐ作れると思ったけどアレッとなったもんで。
>>735 リソースに含まれる画像は 24bitBmp でアルファは付いていません。
4組あるのは、(画像から離れますが)文書で文字列を選ぶと
反転するように、指定の牌が選ばれたことを示すために色を変える
のに使うことと、ゲームの最初に牌を混ぜ合わすのに、乱数かなに
かで背景が白の牌と色つきの牌を適当な比で選んで配置し、色つき
の牌を消して、牌が移動可能な余地を作っているのに使っていると
想像しています。牌の上の文字や模様が元々のものでないとソフト
が動かないというなら(フリーソフトでそんな厳密な処理をすると
は考えられないのですが)、今回の試行は諦めます。
しかしこんな色の演算がスグできないなんて、不思議。
おまえがあほなだけ
>>738 結局ゲームのアルゴリズム推測の話になるんだろうから、
まずオリジナルの画像をちょっとずつ目的の方向に変えてみて、
どこまでの変更なら問題なくって、どういう変更をするとうまくいかないか、
みたいなのを繰り返すのがセオリーじゃないかねぇ。
本件求めたい図柄が一応作成できたので終結とさせて頂きます。
人騒がせしてどうしたのという方のために経過を簡単に。
1.透過率での試行では絵の中の文字、模様がほやけて駄目でした。
2.
>>733 の絵がヒントで、
>>732 氏に感謝です。
>>733 に上げた絵をみると分かりますが、第1列は青のセグメント
には文字模様はありません。RGB(0,0,255) 一色です。
第2列は、赤のセグメントが RGB(0,0,0) です。
指定背景色のコードとこれらをつき合わせて計算するとそれらしい
絵ができました。
ありがとうございました。
(蛇足:この作者は20年前に Mac 用のも作っておられたので、疑問を
メールしてみました。Windows 用は 2008 年作。)
これのどこが画像処理やねん
>>731 パーティクルフィルタをググって出てくるソース見ながらPythonで書き直せば良いだけ
バイリニア補間に関しての質問です。 バイリニア補間で画像を1/2以下に縮小するとエイリアシングが起こる、ということが書いてあったのですが これはなぜなんでしょうか。 分かる方、解答よろしくお願いします。
>>744 エイリアシングが何かは判っている?
それが判っているなら自明だと思うけど。
>>744 直接1/2以下にすると情報が失われるから。
>>745 エイリアシングはわかっているつもりですが、
画像の縮小と周波数空間やナイキスト周波数の関係がよくわかってないです…
>>746 直接の意味が分かりません。
1/2超だと情報は失われないのでしょうか…
>>747 フーリエ、サンプリング あたりをキーワードに工学系の信号処理やらフーリエの本を見ればよいとおもわれ
波の周期より小さな物体は見えないから、なんて話をしてもぴんと来ない人だと思うので、 もっと具体的に言うと、バイリニアってのは、要するに変換後の位置を変換前の位置に逆算して その位置を囲む最大4点の情報から色を決める手法なわけ。 いま丁度1/2より少しだけ大きな割合にするとすると、変換後のA点の隣にあるB点の変換前の座標aおよびbは x a x b x という関係になって、概ね変換後のどこかに全点の情報が含まれるわけ。 これを丁度1/2にすると、整数格子状にマップされた結果aとbの間にあるピクセル情報が失われて、 例えば1ピクセルおきに、白/黒を繰り返すようなパターンの場合、白または黒一色になってしまう。 同様に、1/2以下のサイズにすると、a x x ... b ... x x みあいな関係になって、aやbの周囲にない ピクセルの情報は全て失われるわけです。 これを防ぐために、1/2以下のサイズに縮小するときは直接縮小せず、1/2より大きなサイズで複数回 縮小を繰り返して指定サイズにすることで、多少は問題を緩和できます。理由は…わかるね?
LPF通すなり窓を広げるのが適切じゃないの? 1ピクセルの網目を95%とか105%にするとエイリアスパターン出るのは仕方ないけど。
>>752 それを考慮して窓関数経由っぽくしたりするのが バイリニアではない補間じゃない?
境界値はどうすりゃいいんだ
画像処理の線形フィルタ(たとえば3*3の)について、 実際にこの数値を使えばこういう効果が得られるというようなことが詳しく書いてあるところありませんか?
ググレ
>>744 1ドットおきに 0 1 0 1 0 1 0 1 0 1 0 1 と並んでいる画像を、1/2 以下に縮小したら、グレーのベタに
なってくれないと困るけど、バイリニア補間で 1/3 に縮小すると、0.3 0.7 0.3 0.7 0.3 0.7 のように、
擬解像があらわれる。具体的にはそういうこと。
3次元の立体座標群を保存するフォーマットで標準のようなものはないのでしょうか
.txt
KMLとか・・・
x, y, zとか…
gnuplot は変な空白行いれこんだtxt
764 :
デフォルトの名無しさん :2010/09/10(金) 15:22:15
保守
半透明処理で回転とか縮する場合って 結果位置の背景ピクセルと参照範囲のソースを全部ブレンドしてから計算するしかない? 非透過の拡大縮小なら2パスで計算量減らせるんだがそういうテクニックないのかな。
768 :
デフォルトの名無しさん :2010/09/29(水) 01:28:01
宿題片付けスレで解決することができなかったので来ました。
どなたか見ていただくことはできませんか?
[1] 授業単元:画像処理
[2] 問題文(含コード&リンク)
bmp画像をフリーウェアFFTWを使ってフーリエ変換する
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: Microsoft Visual C++ 2010 Express
[3.3] 言語: C(C++)
[4] 期限: 特に決まっていませんが急いでいます。
[5] その他の制限: 自分が作ったソース↓を基にしていただければ助かります。
フーリエ変換
http://codepad.org/0QIae1jA 逆フーリエ変換
http://codepad.org/EkI0r90b 別々のプロジェクトでフーリエ変換→逆フーリエ変換して元の画像を出したいです。
画像処理スレの専門的なみなさんお願いします。
何が訊きたいのか書いてねーし。 丸投げするつもりなのか?
771 :
768 :2010/09/29(水) 03:37:35
>>769 自分の作ったソースのどこがどう間違っているのか教えて欲しいです
>>768 >bmp画像をフリーウェアFFTWを使ってフーリエ変換する
bmp画像を読み込むのはライブラリを使うか自分で書いても大した手間じゃない。
fftwの使い方はぐぐれば幾らでも出てくる。
画像処理スレで扱うほどの内容はどこにもないな。
BMPはまともに作ると手間かかる
だったらライブラリを使えよ。
776 :
768 :2010/09/29(水) 17:39:21
自力で解決させました お騒がせしました
777
てs
コマンドプロンプトから ImageMagick 6.6.4-10 2010-10-04 Q16で PNG画像の周りに透明な余白を付けたいのですが どうすればよいのでしょうか? convert -gravity southeast -splice 300x400 input.png output.png にするとまわりの余白が白い物になってしまいます。 透明で何も書かれていない大きめのPNG画像を用意して 透明な余白を付けたい画像と合成するという方法もやってみましたが composite -compose over input.png toumei.png で実行すると Magick: missing an image filename 'toumei.png' @error/compositeImageCommand/1607. となってできませんでした。 OSはWindowsvistaです。
出力ファイル名が必要でしょ composite -compose Over -gravity center in.png blank.png out.png もっといい方法ありそうだけど
convert -size 512x512 xc:none -gravity center in.png -compose Over -composite out.png 512x512はブランク画像の大きさ、オフセット指定でできるようにしたいけどやりかた分からん 僕の環境ではバージョンが古いのでfxがうまく機能しなくてなんだかな オフセット32pxl convert -size $(expr $(identify -format '%w' in.png) + 32)x$(expr $(identify -format '%h' in.png) + 32) xc:none -gravity center in.png -compose Over -composite out.png
ごめんなさいもう一つだけ質問です。
convert *.png output.psdで余白を付けた画像を
.psdにしたのですが
そのoutput.psdのレイヤーの順を逆にしてconvertする方法はありますか?
とりあえず
convert file2.png file1.png file0.png output.psd
と順番を付くようにはしてみましたが
実はちゃんとした方法があるのでしょうか??
>>780 出来ました!
ありがとうございます。
>>781 やってみたら
出来あがった画像をphotoshopで読み込んだ際に
ファイルの色深度がphotoshopにないとかいうメッセージが出て
透明な部分が全て真っ黒になってしまいました。
とりあえずオフセット機能は北西指定して
>>780 したあとで-rollでずらしました。
すいません・・・ ImageMagickをインストールする際に Install ImageMagickObject OLE Control for VBscript, Visual Basic, and WSH するの忘れたんですけど・・・ 後から設定する方法ありますか? やっぱり再インストールですかね・・・?
784 :
デフォルトの名無しさん :2010/10/10(日) 05:55:42
ImageMagickをVBscriptで使いたいのですがインストール後
Set im = CreateObject("ImageMagickObject.MagickImage.1")
のところで
「ActiveXコンポーネントはオブジェクトを作成できません」という
エラーが出てしまいます。
どうしたらVbscriptでImageMagickを使う事が出来るのでしょうか?
OSはwindowsvistaです。
以下をやってみたけどやはり同じエラーが出続けます
ンターネットオプションのセキュリティのタブで
レベルカスタマイズからActiveX関連の部分を有効にする
regsvr32 /c /s "C:\Program Files\ImageMagick-6.6.4-Q16\ImageMagickObject.dll"の実行
ImageMagickのアンインストールと再インストール
ImageMagickについていたTEST用の.vbsを実行してみましたが
同じSet im = CreateObject("ImageMagickObject.MagickImage.1")で
同じエラーが出るのでこの文章自体は間違っていないようです。
気になるのは
インストール時にppm・・・というエラーメッセージが出た事です。
検索したらvbscriptには関係ないとのことでしたが一応状況を書きました。
↓エラーメッセージのスクリーンショットです。
http://viploader.net/ippan/src/vlippan156229.jpg
それ、正直画像処理じゃないから。 VB厨の集うスレへどうぞ。
そうだそうだ、とっとと稲
すいませんでした。 誘導ありがとうございます。
ここはひどいインターネットですね・・・
>>788 2ちゃんねるって場所が一番ひどいらしい。怖いから絶対に近づかないようにしてる。
opencvのActive Shape Model Libraryを使って顔形状モデルを作成してるんですが,
学習に必要な顔画像とそのasf(ラベル付けされたデータ)を含んだ顔データベースを探しています.
LibraryのReadmeにあった下記のサイトで幾つかのデータを得ることはできましたが,数が全然足りていません.
どなたか,下記のサイト以外で顔データベースを提供しているところをご存知無いでしょうか.
ttp://www2.imm.dtu.dk/~aam/
792 :
790 :2010/10/30(土) 18:10:00
マッチング処理でよく高速化とメモリ節約と単純化のために グレースケール化してやるけど 以前から漠然とグレースケールよりもHSVのような人間の認識をベースにした 色差を利用した方がたぶん良い結果が出るだろうなと思ってたら 最近になって同じ考えでマッチング処理をやって効果が上がったという論文が出始めた HSVではまだ不十分だと思ってる, 24bitカラーでも360しかないから そこで24bitカラーを人間の認識的な意味での距離として同じく24bitの連番に置き換える方法はないだろうか? 例えば12000と13000は人間が見てもほとんど同じ色をしているとか 人間の認識的な色距離を無劣化で数値化出来ないだろうか?
La*b* や Lu*v* のような、均等色空間とは違う話?
そういう話だけど、立体的数値表現ではなくて 1次元の連番に出来ないだろうかという話 intで処理出来ればメモリと処理効率にあまり影響を与えず 性能だけ向上させることが出来るでしょ
立体にも距離がありますよ
色空間の1次元化については、いろいろトライしたことがあるけど。 人間の認識的な色距離を無劣化で・・・となると無理っぽい気がするなぁ。 いい方法があるんだろうか?
無劣化というのは逆算してRGB値に戻せるレベルと言う意味で 赤と黄色の差と緑と黄色の差がたぶんどちらかが大きくなって 実際の距離とは違う方法でしか出来ないだろうけど マッチング処理に関して言えば赤と黄色、赤と緑は「違う」という 情報さえ分かればいいので問題ないと思う
RGBの粒子24bit個を人間の見た目でソートしたようなもの 似た色はより近い数値にソートされる それを単純な変換式で実現したい 実際の色空間の距離概念とはかなり違ったものになるだろうけど 実用的レベルで判別が出来ると思うんだけどな
>>799 でも錘体細胞が三種類あって、それぞれRGBの信号強度を脳に送っているんだから
知覚な色距離は三次元空間での距離になる。
認識的な色距離が何次元空間の距離か知らんが知覚と対応した三次元と考えるのが
自然な気がする。
自然はそうだけどコンピュータ処理においては 自然なことよりプログラム的な特性が重要だから ハッシュ関数みたいなもんで、ハッシュは不自然なデータ構造だけど 高速だから使うでしょ
L*u*v*とかの均等色空間をジグザグスキャンで1次元化じゃいかんの?
803 :
801 :2010/11/16(火) 15:38:29
ジグザグ往復するから1次元配列を可視化すると何度も同じようなグラデーションが 出てくるだろうけどプログラム処理用だから問題ないのでは? ついでにその1次元データをヒストグラム化すればもっとコンパクト
>>803 801は私だが
ジグザグの意味がよくわかん
具体的に変換式を書いてください
805 :
802 :2010/11/16(火) 21:30:35
色をベクトル量子化して近いもの同士を寄せたいならSOMはどうだ。
>>793 から離れて、あさっての方向に向かっているな。伝言ゲームかw
811 :
デフォルトの名無しさん :2010/11/17(水) 22:16:53
すいません、質問なんですが。 OSはウィンドウズでコンパイラはBCCデベロッパーです。 画像処理でパステル調にしたいんですができないんです
あちこちで聞くな!最低だなおまえ!
ああ、そこかぁ 久しぶりに見たらさくらたんばかりで和んだ audioswitchさんはむかし画像検索エンジン作っていたなぁ はてな, Blogger, FC2で先月までRSS着てたのにそういえば最近見てないなぁ
>>811 パステル調といっても、いろいろあるぞ。
元画像と、それをパステル調に変換した画像のサンプルとかある?
816 :
815 :2010/11/17(水) 23:27:40
参考にしたら金とられるんだろ?こわいこわい
818 :
デフォルトの名無しさん :2010/11/17(水) 23:44:01
マッチングをあかるさと色合いの組み合わせで考えるのは
知覚がどうこうじゃなくてカメラや照明の特性から来るものだとおもうんだけど
>>793 >人間の認識的な意味での距離として
これは人種によって違うんじゃなかったかなぁ?
>>800 >でも錘体細胞が三種類あって、それぞれRGBの信号強度を脳に送っているんだから
まさかRGBなんて知覚刺激があるとおもってるんじゃないよね?
画像処理やってるなら色は物理量じゃないって知ってるよね?
L*a*b* とかでググれば ミドルウェアでソフトエウェアクロマキーを作った時の話だけど L*a*b* 色空間とは、人間が色を識別する状態の数値化空間 よって、その3次元値をベクトルとみなし、そのベクトルの差分(二つの色の差)の大きさ(スカラー値)を求めれば その大きさによって人間がどう感じるかの数値化が出されている(たしかD65とか規格がある) 突っ込んだ話になると、その基準となるD65とかのリアルな輝度の初期値とか難しくなるから割愛w それこそ、赤とか青とかは人間の言語の話で 例えば青っぽいのと緑っぽいとの差でも、近い色と感じる場合と、全然違うと感じる場合があるよ 因みにHSVとかは、ほとんどRGBの単なる変形だから 人間の認識的な処理をさせるのは難しいよ(つまりRGBも難しい)
同一対象(照明等の条件も同じ)でも周辺に配置されているものが異なれば人間の認識する色は異なる。 逆に波長が異なっても同じ色として認識する。肌色が顔ではなく顔が肌色。
いやいや問題にしてるのはその方法だと 毎回ソースとターゲットの画素単位で色距離を計算しないといけないだろ 平方根のあるあの3次元の距離の公式だ それはプログラム的にものすごいコストだろ 色距離情報を24bit integerに集約できればかなり高速化出来るじゃないかって話をしてるんだ
>>821 重要なのはグレースケールだと輝度だけだしな
肌色も糞もあったもんじゃないし
エッジ検出がおかしくなってるのは目に見えてるだろ
今出回ってるアルゴリズムのほとんどがこの問題のせいで精度が落ちてるはず
824 :
デフォルトの名無しさん :2010/11/18(木) 10:43:21
>>821 さんがいってるのはL*a*b*の均等色空間の色差を使ってですら十分じゃなくて、
周辺の色への順応とか対比とかで中心の色の知覚が変わっちゃうから手におえない
ねってことでしょう?
顔は肌色をしてるもんだという観念的なものにも影響を受けると
そうか?人間に認知出来ないものはどうやったって認知出来ないのは当たり前だけど 現状の人間の認知レベルにも達してないグレースケールが使われてるのは問題だって言ってるだけ 肌と同じ明るさの緑の服とかが見分けられないからな 色差を利用するだけでエッジ検出段階で得られる情報が格段に向上する 特徴点も増える、領域の境界もより厳密に分割されるようになる
826 :
デフォルトの名無しさん :2010/11/19(金) 03:39:50
輝度を利用するってのはコストパフォーマンス的には良いだろう 人間は輝度の変化には敏感だからアナログテレビなんかでは輝度情報は細かく 色情報は荒く圧縮してる ところで、グレースケール1次元をRGBの3次元にしたら情報量が増えて認識率が アップするのは分かるんだけど、じゃあRGBの3次元をL*a*b*とかのの3次元に したところでなにか利点はあるんだろうか?
同じ色彩のまま暗くしたいときに HSVだとVだけ下げればいいけど RGBだと全ての要素を下げるだろ。 同じ色が少し影になったときにRGBは変化が大きい。 人間には同じ色に見えるのに。
RGBって液晶画面等の3原色を表示する為の値 L*a*b*は色差を出す色空間に変換された値 例えばプリクラとかで、写真のグリーンバックが抜けるだろ あれはL*a*b*空間に変換しなければ、RGBやHSVとかの情報じゃ絶対に出来ない グリーンバックの濃淡部分なのか、 フラッシュ光がグリーンの壁に反射して人物や服に映りこんでいるのかは RGBやHSVじゃ調べる計算式がない L*a*b*なら差分ベクトルの大きさを出せばその数値で比較するだけ 論より証拠、WEBでグリーンバックの画像を拾って、 自分でグリーン以外の対象を抜き出してみるとわかる *ブルーバック等でも同じ意味
830 :
デフォルトの名無しさん :2010/11/20(土) 21:14:35
数値的な意味を理解すれば、そんな見た目で判断する事はないんだけど… HSVは、色相、彩度、明度の値 これを3次元ベクトルの値にしてもまったく意味をなさない L*a*b*はベクトル値の差が、色差となる空間になっている やってみると良い、と言ってるでしょ 結果の制度がまったく違う
制度ねぇ
>色距離情報を24bit integerに集約できればかなり高速化出来るじゃないかって話をしてるんだ 簡単だよ、でも事前の作業やメモリ使用量は半端なく大きくなる L*a*b*でも何でも良いが、その色距離情報とやらの各要素値の取り得る最大値を定義する それを要素の最大値としたベクトルを想定し、 そのベクトルの要素の値の組み合わせを整数値で良いから全パターンテーブル化 今度は、そのベクトルテーブルが指す一つ一つのベクトルと、他の全テーブルのベクトルの組み合わせ (このベクトル同士の組み合わせを色差とみなす)をテーブル化すれば、 そのテーブルのインデックスがお望みの色距離情報を24bit integerに集約だろ 24bitで数が足りるかは知らんがw
3次元ベクトルの数値的な意味は見た目で分かるだろ。 図で分かるようにHSVは色相が角度だから2つの色の類似度や距離が計算しにくい。 CIELABは色空間でのユーグリット距離が人間の感じる色の近さに対応しているから扱いやすい。
ユークリッド
>>832 1要素8bitの3次元だったらそのままで24bitだろ。
何もする必要がない。
>>832 黒からの距離を24bitに当てはめると赤も青も同じ数値になるんじゃないか?
そういう意味じゃなく?
たとえば赤を基本とした灰色と青を基本とした灰色は人間から見ると同じ灰色だよな
だからこの2つは同じような数字に変換されたほしいが
濃い赤と青はまったく違った数値に変換されてほしいわけだ
いったん24bit個を全組み合わせのユークリッド距離を計算して 全部ソートしたものを作り出して そこから逆説的に変換式を導き出すしかないのかな
そうだなソートの仕方は 隣接する色とのユークリッド距離をエネルギーとして エネルギーが最小になる並びになるまで繰り返す 谷にはまる可能性があるから、最終的には目視で調整が必要かも 誰かお願いしますw
要は、どこまで手間隙かけるかの落としどころだね。
距離を比較するだけなら√する必要がないから 適切な色空間を選べば良いんじゃないの
24bit x 8byte(32bit)で だいたい100MBくらいのDBを作れば出来るな RGB順にインデックスを取ったとしても隣接距離は既に近いから 単純に横を比較するのではなく、ランダムに選抜した2つとその前後を比較して入れ替えをしていくと 1週間も繰り返してれば安定してくるかもしれない
32bitは4byteだと思うが… それに値に応じたインデックス作るなら、 クイックソートかなんか使って完全に値順のテーブル化をするべきでしょ ランダムで入れ替えて作ったテーブルなんて どんなに時間を回しても信用ならないだろ …なんかファジーな子だねw
>>841 勘違いしてるようだな
青と赤の隣接距離と青と緑の隣接距離は同じなんだぞ
単純に並べ替えるだけだと同じ場所に来てしまう
これは普通のソートとは意味が違う
青から見て赤と緑は距離は同じだけど
どちらかが遠い場所にソートされないといけないわけ
問題が既にファジーなの
ここは3次元のピタゴラスの定理がまだ発見されていない世界なのか
>>842 君はデジタルの作業や思考が無理なんだね
>青から見て赤と緑は距離は同じだけど
>どちらかが遠い場所にソートされないといけないわけ
普通にソート後に、同じ隣接距離値内で
RGB値元にソートしなおせば良いだけ
元になるテーブル値を作ろうって時に、さらにどう並べたいかも決まってるのに
ランダムとかで作業するって、無いわ…
テーブルにランダム要素が必要では無いと絶対に言い切れるし ランダムで行おうとしている内容を定義して、漏れなく行えば良いだけ 結局はプログラム的な思考が出来てないだけ
高次元での位置関係を保持したまま低次元に落とすのには Self Organizing MapsやGenerative Topographic Mapでやってただろ 視覚化の分野では
847 :
デフォルトの名無しさん :2010/11/27(土) 14:03:08
848 :
デフォルトの名無しさん :2010/11/30(火) 11:38:55
SIFT特徴量を抽出するいいLinuxのコマンドラインプログラムない?
VLFeat
ガウシアンフィルタについてですが σ=s1のフィルタをかけてからさらにσ=s2のフィルタをかけること は σ=s1*s2のフィルタをかけること と同じことでしょうか?
>>850 両者は全然違う。
試しに、a[0] 〜 a[4] の5要素1次元データに幅3のフィルタをかけて、
結果(a[2])の値を比べてみればいい。
あるいは、フィルタの計算式を立てることでもすぐに分かる(式を立てる途中で気づくはず)。
852 :
851 :2010/12/02(木) 13:22:58
もっと簡単に言えば、 σ=1 で考えてみればいい。 二度フィルタリングするのと同じか。
853 :
850 :2010/12/02(木) 13:28:16
やりたいことは σの大きなガウシアンフィルタをかけたいが カーネルサイズも相応に大きいために計算時間がかかる ↓ σの小さいフィルタ群(=カーネルサイズも小さい) を複数回かけることで同等の結果を得たい 使用する小さいフィルタのσの値と回数を求めたい といったことです 任意の2か所の画素位置A,Bについて,輝度値をL(A)と表すとすると 大きいフィルタを1回だけかけたときの 原画L(A)の結果画像L(B)への寄与率 と 小さいフィルタを複数回かけたときの 原画L(A)の最終結果画像L(B)への寄与率 が 等しくなればいいと思うのですが 式を考えようとしても フィルタをかける毎に画素の輝度値が周辺に拡散して それにさらにフィルタをかけるから……?? と混乱してしまい…
普通は小さいフィルタ複数回かけるより、大きいフィルタ1回のほうが早いと思うが・・・ ボカすのが目的だろうから、ガウシアンじゃなくもっと軽いフィルタを検討するとか
>>85 σの大きさが処理速度に関係するのか?
ガウシアンフィルタって次のヤツだろ
f(x,y) = 1/(2 * π * σ^2) * exp (-(x^2 + y^2) / (2 * σ^2))
まず初めに1次元ガウシアンフィルタを横方向にかけておき、 その結果に対して同じ1次元ガウシアンフィルタを縦方向にかける、 という処理にすれば、もしかしたらメモリキャッシュなんかの効率が良くなり、 もしかしたら SIMD 系の CPU 命令を効率よく活用できるかもしれん。 (ただし、このように処理を分けると計算式内の乗算、加算の個数は単純に増える) あと、OpenCV のソースを見てみるのも手かもね。 既にやってた後ならごめん
858 :
デフォルトの名無しさん :2010/12/02(木) 21:42:40
SIFT特徴量って、元画像のカラー情報は必要ないんだよね。 これは特徴量を算出するためには元画像をグレースケールに変換する必要があるってこと? それともカラー画像のままでもSIFT特徴量には変わりはないってこと?
縦と横でフィルタリングするのは、斜め方向の距離を無視することになるから 加工された画像に特徴的なノイズが乗る場合があるね。 いっそ、fftしてフィルタリングしてifftしたら?
フィルタリンクの質ではなく、 おそらく畳み込みの処理速度を問題にしているのだと思うが
>>858 1チャンネルの画像を対象にしたアルゴリズムだからグレースケールで処理する
カラーごとに特徴点検出をすることもある(color SIFT)
862 :
デフォルトの名無しさん :2010/12/03(金) 17:26:55
カラーヒストグラムを使った画像検索は簡単にできたので、SIFT特徴量を使った形状認識をさせたいんだけど、 静止画像から生成されたSIFTファイルを使った、他の画像とのマッチングアルゴリズムが良くわからない。 原理的に、動画で写っている特定の物体を動画のフレーム間で同一物体として認識させるような用途には使えそう なことは判るんだが、まったくことなる静止画像をSIFT特徴量で比較してもデータがマッチングする余地はないんじゃないかと思う。 SIFTファイルを使った類似画像検索技術について、いい参考資料はない?
画像のサムネイルを作りたいのですが。 800*600を1/8にして100*75のBMPにしたいです。 何か良いアルゴリズム又はサンプルソースありませんか?
864 :
デフォルトの名無しさん :2010/12/03(金) 22:19:28
そんなのImageMagickで1行だよ。
今見ましたが、プログラムの中に組込みたいんです。 言語はC++です。他の言語でもアルゴリズムかサンプルがあれば、 参考にしたいです。
866 :
デフォルトの名無しさん :2010/12/03(金) 22:23:55
こんな感じで一括変換が可能 ls -1|awk -F. '{print "convert -geometory 100x75 "$1".jpg "$1".bmp"}'|sh
867 :
デフォルトの名無しさん :2010/12/03(金) 22:25:45
だったらOpenCV
8x8ピクセルを平均して1ピクセルにすればいいんだよ
>>867 OpenCV 見ました。とても面白そうだけど、組込むには大きすぎるような…
ライセンスを見つけられなかったし…
OpenCVって商用可能なフリーなんですかね?
>>868 一度それでやってみます。
870 :
デフォルトの名無しさん :2010/12/03(金) 23:34:06
>>869 ImageMagickはライブラリがあるからプログラムに組み込めます。
もっとぐぐってください。
871 :
デフォルトの名無しさん :2010/12/04(土) 04:36:06
>>869 OpenCVは商用可能なフリー(BSD)だよ
872 :
デフォルトの名無しさん :2010/12/04(土) 13:12:22
cの中で内部実装するにしても別にライブラリ呼び出す必要性なんかないんじゃないかと思うよ そのままsytem関数で外部コマンドを実行させればいいわけだし。
画像うpろだ作りたいんだけど、これだけはやっとけってことは何? 必須機能な
>>870 ,871,875
情報ありがとうございます。
>>875 のサンプルは短いですね〜、ちょっとやってみます。
>>862 キーポイントの集合をbag of features(bag of keypoints、 bag of visual wordsとも)
として検索すれば似たシーンなどは検索できる
精度はあまりよくない
同一物体を検索したいなら大規模なキーポイントのデータベースを作って
近似最近傍探索等で探す
OpenCVよりもpython-fuのが便利だ
879 :
デフォルトの名無しさん :2010/12/06(月) 21:18:13
だれかぼくのSIFT特徴量使った類似画像検索の質問答えて、お願い
>>862 比べる2枚の画像からそれぞれSHIFT特徴量のベクトルを出しておくだろ?
それらの特徴のスケールが大きいもん同士を比較すればいいんだから、
細かいところが違ってても一致するんだよ。
「特徴がスケール大きい」ってのは、濃淡の変化の仕方がなだらかって感じで
要するに細かいテクスチャなんかは無視して大きな変化を見てるってこと。
Jpegとかの低空間周波数成分をイメージするといいかもしれないな。
「いい参考資料はない?」って質問してんだけど
bag of featrues でググって引用が多い5件
885 :
デフォルトの名無しさん :2010/12/08(水) 21:30:19
>>884 このよさそうじゃん。
ちょっとじっくり読んでみる
886 :
デフォルトの名無しさん :2010/12/10(金) 14:17:05
SIFT特徴量の実装例、いくつかみてまわったんだけど、アプリケーションはMATLABで書いてるのが多い。 MATLABのホームページにいっても価格は要問い合わせとかになっていて公開されてないし。 なんか高そうなんですけど、実行系はGNU Octaveにかえてもだいじょうぶなのでしょうか? そもそもなんでMATLABとか特殊なソフトが登場してくるわけ?
>>881 コンピュータビジョン最先端ガイド 3
にBag of featuresの解説が2章ほどあった。
>>886 特殊ではなく、多くの研究者が使っているよ。論文のデモはMATLABばかりだし。
ほとんどはoctaveでも動く。
学生なら大学がライセンス持ってると思う。
889 :
デフォルトの名無しさん :2010/12/11(土) 00:00:42
一通り読んでみたけど、SIFT特徴量でググる際の一番いい検索ワードは「bag-of-featrues」だった。 これは単純にググってもでてこないわ。 局所特徴量をヒストグラム化してクラスタリングで分類というところまでは理解した。 後半部はカラーヒストグラムによる類似画像検索と同じなどので、前半の実装ができればすぐに作れそう。
>>886 OpenCVでもSIFT使えるのは知ってるのか?
>>886 本末転倒だな。OctaveはMATLABクローンだぞ。つまり、MATLABがあって初めてOctaveがある。
派生物よりオリジナル用に書いてあるのも当然じゃないか。
>>892 12月8日発行とあった。
密林では、まだ扱っていないようだ。
894 :
デフォルトの名無しさん :2010/12/11(土) 18:00:29
でもMATLABって普通のとこじゃ売ってないじゃん。 大体、一般ライセンスはいくらすんのさ?
>>894 1ライセンス40万くらいだったと思う。
コンピュータビジョンの研究なんて普通の人はしないからな。
他人のコードを動かすだけならOctaveで困らないし
読めれば動かすこともないと思うよ。
どうせアプリケーションはCだろうし。
CまたはC++で動くDCT高速アルゴリズムのソース探してます。 ブロックサイズを変化させて実行したいので、ブロックサイズを任意に指定できるものがほしいです。 どなたかご存じのでしたら教えてください。 よろしくお願いします。
ImageMagickで複数のpng画像からpsdファイルを作ろうとしましたが できたpsdファイルを見るとレイヤーの透明部分がロックされてしまいます。 ロックされないで合成する方法かあるいは出来たpsdファイルのロックを プロンプトの命令で外す方法がありますか? ↓作ったコマンド convert -geometry 896x704! 00000.png 00000.png convert -geometry 896x704! zzz.png zzz.png composite -compose Over -gravity northwest background_tile.png zzz.png background_tile.png composite -compose Over -gravity northwest layer000.png zzz.png layer000.png convert -roll +0+0 layer000.png layer000.png convert 00000.png background.png layer000.png henkan.psd
板違い
>>898 うわ、すいません
どこに行けばいいですか???
900 :
897 :2010/12/18(土) 02:02:04
すいません、透明部分のあるpng画像をpsdに変換しただけで 透明部分がロックされたPSDが出来てしまう 事が分かりました。 どうしていいかまったく分からないです なんかアドヴァイスお願いしますOTL
だからスレ違いだと言ってるだろすっとこどっこい そんなの画像処理でもなんでもない
フォトショスレに行けば?
903 :
897 :2010/12/18(土) 15:00:26
バイナリエディタで手動で変えるところまで出来たので とりあえずどこかへ移動します
ここは画像認識系の画像処理スレだから 画像加工系の画像処理はフォトショップ系のスレに移動してねっていう意味
それ以前に、特定ソフトの操作方法(しかもファイル操作)の話は画像処理プログラミングとは全く関係無いだろうと 画像加工でもアルゴリズムの分析や最適化とかなら良いだろうし
誰か突っ込めよ
907 :
デフォルトの名無しさん :2010/12/20(月) 19:18:13
なんでやねん!
908 :
デフォルトの名無しさん :2010/12/20(月) 20:54:34
組み込みじゃない画像認識ってハルコンとか使うの?
>>905 ソフトじゃなくてバイナリデータの内容の話ならいいですか??
psdからだいぶデータを取得したけど
検索したサイト見てもよく分からない部分がありまして・・・
>>910 あああ、画像処理ってこういう高レベルの事でしたか・・・
どうもすいませんでした。
あとすいません自己解決もしました。
お騒がせしました
>>911 20年前のFM-TOWNSでこうしたアイデアは先取りされていたけどね
画面にリアルタイムに映った自分の手でCGのボールを操作するゲームがあった
914 :
片山博文MZ :2011/01/01(土) 13:28:49
パスの単純化の方法がわかりません。 困っています。教えてください。お願いします。
potraceのソース嫁 本だったら「画像認識の基礎T」
916 :
デフォルトの名無しさん :2011/01/01(土) 15:23:58
画像処理関係はVC++やVC#より、Gimpの作成元のGtk+とかの方が優れているんでしょうか? 作るソフトはそう難しい処理をするわけでもないんですが、Gtk+の方が簡単な処理にも画像処理の点において 便利な関数とかあるなら、そっちを使いたいです。VC#でやってみたんですが、jpegなどにUI上で任意の図形を描画して 保存するのも結構手間がかかります。
関係ない
天才はここにはいないよ 他をあたってくれ
とりあえず、同じような処理を作って試してみれば良いんでね?
921 :
片山博文MZ :2011/01/02(日) 13:44:44
もう監視カメラから個人特定したり複数台で追跡したり出来るんだっけ。
個人特定は、確か、飛行場のテロ対策で相当研究予算がおりてるが、まともなものはできていない。 SIFT局所特徴量、カラーヒストグラム、テクスチャーとか普通の画像検索技術では、無理。 ただ、動き回る特定の個人や物体を認識追尾させることは普通のロボットビジョンの技術の範囲。 1週間くらい前にDARPAが、Mind Eyeという新しいプロジェクトを立ち上げて大学の研究室とMITのドロップアウト企業 にまた予算を与えることを決定したとか、発表していた位。
そういえば、浅草橋や巣鴨の信号が歩行者を追尾して渡り切れなさそうなときは 歩行者信号を延長するようになっているってニュースでやっていたね。
それは多分、音響センサーとかを使って一定エリア内の物体の存在を確認しているんだと思う。
>>928 画像認識技術を使って歩行者をリアルタイムに追跡していると警察庁のエロイ人が説明していた。
夜間でも問題なし。巣鴨にはまだ設置されておらず浅草橋と靖国神社前。
ソースは1/7のNHKニュース。
NECの顔認識がなにかでベストになってたぞ 9割り超えていたと思うが
画像の差分を取って、人がいないとこといるところを判別してるだけじゃね 波長帯を可視外にすれば夜間関係無くなるし
>>931 同一人物を追跡しないと渡り切れるかどうかの判断ができないだろ
>>930 人物正面の静止画像から特定人物の画像を抽出することは比較的容易。
失敗例
HPが顔認識ソフトを自社製パソコンに生態認証ユーティリティーとして搭載したところ
認証登録した人物の顔写真でも認証が通過してしまった。
日本の自動販売機メーカーがタバコの年齢認証用に顔認識ソフトを搭載したところ、
大人っぽい顔の中学生でも成人チェックが通過するという問題が発生し、リコールした。
2番目のタバコの自動販売機は相当凝っていて、 @タスポを持っている場合は、タスポで購入許可する。 Aタスポを持っていてその場で顔の認証登録をした場合は、次回からはタスポを使わなくても顔認証だけでタバコを買える Bタスポがなくて、以前にタスポ+顔認証登録もしていない場合は、顔の特徴から年齢を推定して大人を認識された場合にはタバコが買える。 という仕様だった。問題となったのはB。ただ、Aの仕様も多分、当人の顔写真があれば通るのではないかと思うので 生態認証としては不十分。 他にも自動販売機ベンダーが使っている紙幣認識ソフトで、紙幣の特定部分の濃淡をチェックするというのがあって、 これのアルゴリズムがどういうわけか、外部流出した結果、ある人物が真っ白の紙の特定部分だけにバーコードの ような幾何学的模様を印刷したものを大量に準備してパチンコ店の紙幣両替機で大量換金を行ったという事件も起きた ことがある。 紙幣チェックソフトは両替機ベンダーのように独自ソフトを搭載しているが、他に世界銀行かどっかの国際機関が 主要通貨のほとんどに対応した汎用ソフトを配布している。これはメジャーなペイント系ソフトには全て搭載されて おり、例えば、ドル紙幣をスキャンしたものをPhotoshopでレタッチすることはできるが、印刷しようとすると、アラート が表示されて操作が無効にされてしまう。書店に設置されているコピー機とかの場合には、警報音が鳴るように なっている。Photoshopの紙幣チェック機能は、Googleでドル紙幣を画像検索したものをカットアンドペーストして みると再現させることが可能。
>>933 正面画像でもパスポートや免許証に耐えうるレベルになると全然簡単ではない。
自販機の年齢推定と顔の個人認証とはそれぞれ違う技術。
画像の奥行きの角度を修正することは可能でしょうか? たとえば、ある建物と水平な位置から、カメラの向きを20度傾けて撮影した画像を、 水平に建物を撮影したように修正するといったような感じです 検索しましたが水平方向の角度処理しかしていないものばかりでしたので…
パース 修正 で検索したらやりたいことが出てくるんじゃないかと思うんだが
>>937 こんなのです!
できるんですね!ありがとうございます^^
>>938 今やってみましたが、今見た限りでは縦方向で拡大処理がけっこう出てきてちょっと違いました><;
もう少し調べてみます
>>932 横断歩道上に人がいるかどうかさえ判別できればいいから、
同一人物かどうかはどうでも良くね?
>>941 (1)普通に爺さん歩き
(2)途中まで爺さん歩きで中間からダッシュ
(3)点滅する1秒前に渡り始める
(4)渡り終わる寸前に回れ右して数歩戻ってみる
信号がbod したりして
ある物体を連続して撮影した画像の位置ずれを相関を取ることによって補正しようとしてるんですが、 なかなかうまくいきません。 何かこうしたほうが良いとかいう点があったら教えてください。
>>945 基本的なところで
(1)サブピクセル単位でずれを計測する
(2)十数〜数十箇所程度の部分領域でずれを計測する多点補正を使う。
コーナー、エッジなどのある箇所がよい
947 :
デフォルトの名無しさん :2011/01/16(日) 12:20:24
>>946 遅くなってすみません。
(2)でやってみたんですが、ズレがない画像でもズレがある事になってしまって
処理がうまくいきません。
また、シフトした後物体が有った画素の値はどう埋めたらよいでしょうか?
>>947 (2-1)2次微分値の和が小さい領域など、ずれの計測不能な領域を除く
(2-2)異常値を除く。たとえばずれの平均と標準偏差を求めて-σ〜+σの範囲を採用
画素値は加算画像で求めておいてから平均を取る
でどう?
googleの画像検索がいまだにしょぼいのはなんでだ?
>>949 おおみえきってエロ画像検索とかいえないからだとおもうw
OpenCVそのまま使うだけで色々検索できるはずなのに やらない理由がおもいつかない
googleの中にゆーすけべーが居ないから
>>951 お前がサーバー代だしてくれるなら多分やる。
google八分みたいな「調節」手段が画像にはない
Googleの画像検索が画像のデータを使っていないことはみれば分かるだろ。 画像を選んだ後のSimilarってリンクが画像の類似検索だが これのことを言ってるのか?
>>956 乙と言いたいが、この程度の流れならまだまだ早いよ。
980以上まではこっちを使わないと、埋めるのも大変だし。
>>957 いや、URLからしてどう見ても次スレじゃないし。
■顔検出 パチンコホールの入口に取り付けたカメラの画像の中から、顔を検出します と緑の枠が 表示されます。ウォークスルー型ですので、従来の顔認証のよ うに静止してカ メラを見る必要が無く、お客様がカメラを意識することな く、普通に入場されても顔を検出できます。ガラス貼りの自動ドアの入口で 外に向けてカメラを設置しています。駅のホームなどで使われている逆光に 対応したカメラを採用。逆光の条件下でも、きちんと顔を認証し照合します。 顔の特徴点を70箇所抽出し数値化して顔画像と共に保存します。顔のサイズ を設定することで、ガラスの自動ドアでも店外の顔を検出せず、店内に入っ たところから検出することができます。最大顔数では、画面内の顔をいくつ まで検出するかを決めます。理論上100迄可能。顔を検出すると、緑の枠が 表示されます。1つの画面の中に最大100人の顔を同時に検出することができ ますので、事実上何人通過しても顔を検出することができます。サーチエリ アの設定で、従業員の立ち位置を外して設定できます。また1秒間に何コマ 撮影するかも設定できます。顔検出ですので大きなマスクやサングラスをか けた場合、検出できません。顔の内部を検出しますので、髪型や帽子は関係 ありません。また、メガネも大丈夫です。入り口のカメラで随時、客の顔を 撮影し、データベース化。要注意人物の指定をしておくと、その客の来店時 に自動でアラームが鳴り、管理画面で顔写真がアイコン化、クリックで簡単 に個別の過去データを呼び出すことが出来ます。客のデータは共用サーバー のデータベースに保管され、チェーン店や他店でも個人情報が確認出来る仕 組みになっています。
今日見かけた景品交換所で警備してた婦警さんがすごくかわいかった
このパチンコホール向けの顔認証システムはオムロンの製品みたいなんだけど、 仕様通りに個人認識ができるのだったら警視庁あたりが、Nシステムの顔版みたいのを作って全国展開してると思うんだけどな。 ちゃんと個人認識できるのかしら
オムロンの顔認識は有名だよ
>>963 <meta http-equiv="REFRESH" content="1;URL=ck.jp.ap.valuecommerce.com/servlet/referral?sid=2509984&pid=879169022">
965 :
デフォルトの名無しさん :2011/02/21(月) 02:40:24.89
QRコードのエンコードライブラリは仕事で作ったけど、 デコードは仕事では必要なかったから、趣味で作ってみようかな…。 画像処理の知識が必要そうだけど。
OpenCAのSurf関数使って 画像認識してみたいのですが 四角形が画像に 含まれているか検出するサンプルしりませんか?
OpenCAで画像認識ができるとは知らなかった
Amazonで詳解OpenCVを新品で買ったら、初版2刷だった・・・ 新品の意味ねぇ
>>969 Amazonは版別で独立した商品になってたとおもいますよ。
画像を変形させたいんだが、よくわからんがメッシュってのが便利そうだと思った。 構想としては、画像の1画素1オブジェクトとして座標を持たせ、隣接する3つの 画素を結んで1つのポリゴンにする。この時各画素がもっている格子状の座標集合がメッシュと いう理解でいいのだろうか?だとして、メッシュのデータ構造ってどんな感じで持たせたらいんだろ? 単に画像と同じ感じで2次元配列? もし2次元配列だと球面に貼り付けたときメッシュの中央と端の分解能が極端に下がると思うんだけど どするんだろ。
972 :
971 :2011/03/27(日) 00:28:43.37
まちがえた。訂正。 ×極端に下がる ○極端に差が付く
>>971 頂点毎にテクスチャのUV座標を与えることが多い
手間を惜しまないならUV座標の与え方は自由だから分解能も自由に決められる
えー、そういう話なのか?
>>971 はテクスチャマッピングという単語も知らないように思えるんだが…?
>>973 横レスして悪いんだけど、ベクトルによくでてくるUとVってなに由来なの?
横はhorizontalだし、縦はverticalだし、Vの次がUなわけでもないし
どういう成り立ちでUとVを使うようになったのかさっぱり検討が付かん。
xyz は普通使うから、それから同次座標で w を使うから、その前、なんじゃないの。俺は 973 じゃないけど。
977 :
デフォルトの名無しさん :2011/03/27(日) 20:14:04.83
同意
>>976 確かにそうだ。ありがと。意味なんて大してないんだな。
ST も使うねえ。
球面なんて書いたから誤解があったかも。
最終的な目的は、画像を紙を潰した見たいにグシャッとしたり、筒に丸めたりってとこだけど。
今はテクスチャを貼り付ける事じゃなくて、ポリゴンメッシュについて知りたいのよ。
2次元だろうが、3次元だろうがどっちでもいいんでポリゴンメッシュの構造とかを知りたいよ。
>>974 名前は聞いたことあっても画像貼り付けるぐらいしか知りません。
今有る知識は、自前でラスターデバイスに単純なライティング付きの
3Dモデルをレンダリングできる程度です。
981 :
デフォルトの名無しさん :
2011/03/31(木) 02:11:10.85 あげ