1 :
デフォルトの名無しさん :
05/02/08 18:29:33
ほう、こんなスレがあったとは知らなかった
画像ラボって読んでる人いる? 技術系の雑誌だけどさ.有名なの?
>>3 こんなんあったんだ。早く教えてよ。
今月から読んでみよ。
どこで売ってるんだよ。
6 :
デフォルトの名無しさん :05/02/09 00:40:49
通販専用?
7 :
デフォルトの名無しさん :05/02/09 00:53:35
>>3 あれって半分はIEICEあたりの論文誌に載った画像関係の論文を,技術者向けに簡単な内容に書き換えて半年遅れくらい乗っけてるだけでしょ?
半分は広告だし。
俺も寄稿したことあるし(w
>>4 ちょっと探してみた。
発行元は日本工業出版、URLは www.nikko-pb.co.jp 。
欲しい人たちは定期購読だね。
Haarのウェーブレットなんですが、長さが2の累乗でない場合はどうするのでしょうか。 FFTみたいに適当に埋めて長さを揃えていいんでしょうか。それとも他になにか アルゴリズムがあるんでしょうか
>>9 一応コメントしておくと、FFTだってテキトーに埋めていいわけではない。
適当(適切)に埋めるのはOK。
>>10 はい、すみません。FFTでも端を折り返したり、0で埋めたりと、絶対的な方法が
無いようなので適当と言ってしまいました。すみません。
補完してあわせれば?
白黒二値画像を少ないパレットのグレースケールに縮小表示する処理を書いてます(プレビューとかに使う) 2〜3年前につたないコードで平均値を割り出して8パレットくらいに 納めるところまでは作ったのですが当時のCPUパワーと自分の技術の問題で 1/2〜6なんていう分母が増加する縮小率にしか対応できませんでした 二値データからの多色画像への高品質縮小を考えた時に何かいい文献 またはDLLみたいな外部ライブラリはあるでしょうか?コンパイラはBCBを使っています (ImageKitは試してみましたがもう一つ品質に納得がいきませんでした) あの当時からImagingForWindowsの表示速度にあこがれているんですが どうやってあの速度を出しているのか・・・・いつかは理解してみたい;;
>>14 ローパスかけて縮小するんじゃダメ?遅いかもしれないけど。
何か市販のライブラリを使った場合だと 2値>増色(グレスケ)>ローパスフィルタ>縮小 ってやるのが一般的なんでしょうか・・やはり 増色過程でメモりと時間を食うのがちょっと辛いところです;;
>>14 普通にCやC++で書いても、AcrobatやImaging程度の速度は出る。
素直に、縮小画像の各ピクセルに対応する元の2値画像の
矩形内のbit1の数/矩形の面積
をグレイスケールの輝度値にするだけでOK。もちろん、分母も分子もdouble値
大昔に整数型演算だけで無理やりやったこともあったが、今は変な工夫はしないで
浮動小数点演算も気にせず使っている。工夫しないといっても、コードチューニング
くらいはするけれど。縮小倍率は浮動小数点で任意倍率でもいいと思う。
Windows GDIのBitBltて結構綺麗に圧縮してくれると思うんだが、 ダメ? 素人なのですまんそ あいここはプラットフォーム依存ではないね
>>17 やっぱりそのグレイスケールの輝度値への計算がたぶん下手なんですね・・・自分
元画像の指定範囲内のHighBitを馬鹿正直にカウントして
目的パレットテーブルの範囲にはめ込んでますから(´;ω;`)
(一応横方向にはbyte単位でアクセスしてLowValueならスキップしてる)
この計算ロジックを旨く書き直したいのですが何か参考になる文献 or サイトはあるでしょうか?
>>18 カラー画像ならまだいいのですがモノクロ文章系だと品質に不満がありました
ブラーかけて縮小すると綺麗になる
17ですが一応。 速度を評価したマシンですが、PenIII 1GHzで、A3の文章系、全体表示でテスト。表示品質は見た目 同じ。正確に測るとImagingよりも遅いのかもしれないが、両方とも一瞬なので目測では速度の違いが 分からない。Acrobat 5.0よりは明らかに速い。 といった測定精度です。14が、ずっと遅いCPUでやっていたとしたら、14と違いは無いかもしれないの でスマソ。
23 :
デフォルトの名無しさん :05/02/13 11:21:31
おいおまえら!カメラ買いましたですよ!
バカチョンカメラ
そういえば、画像処理に適したカメラの要素と具体的な商品を教えてください
27 :
デフォルトの名無しさん :05/02/13 11:37:16
elecomのWEBカメラです! 箱に仕様が細かく書いてあって好感が持てたです!
28 :
デフォルトの名無しさん :05/02/13 11:43:53
くだらね
>>28 画像処理スレとサウンドプログラミングスレにだけはそんな人はいないと信じていたのに…
かなしいです…
っつーか、ム板にこんなもんに引っかかるやついるのか? 知識があるから、( ´_ゝ`)フーン で終わりだろ。
2値の白黒画像のなかに、白い点が点在しています。 その白い点を複数の矩形で出来るだけ小さい面積で囲いたいのですが、 どうやったら出来るでしょうか? 一番面積が小さい場合は1x1矩形で白い点の数だけになる。 一番面積が大きいけど矩形が1つですむのは、 xmin,xmax,ymin,ymaxって変数用意して、 全部スキャンして1つの最小矩形は作れる。 そこから、どう2つ以上の矩形に分けたらいいのか、、、。 ヒストグラムとって、分割するとかかなぁ。
凹のへこみに小さい点があったりしたらどうすんの?
白い場所の固まりをまず識別して、それを囲う矩形をつくればいい。
白い場所をどうやって識別するかが難しいです。 とりあえず、2つで考えてるのだけど難しい。 白い場所の固まりをどうやったら識別できるんだろう??? 固まり具合見るとか?わかんないです。 □ □□ はどうしたらいいんだか、、、。 □ と □□ に分割したいけど、難しい。
電子消費者契約法違反
これで、ぐぐれ、馬鹿w
>>28
>>32 その質問だと、答えは自分で書いている通りに
「一番面積が小さい場合は1x1矩形で白い点の数だけになる」で
おしまいだと思うが。何か質問の方を間違ってないか?
「白い点」の定義が無いから誰にも答えられないと思われ
矩形の大きさをある程度大きくしたいならラスタスキャンだな。
40 :
デフォルトの名無しさん :05/02/16 08:36:05
□ □と□ に分割したいけど、難しい。
面積が最小になるように覆い、かつその個数が最小になるような 複数の矩形を求めたいということなのだろうか・・・ 後の方の条件は憶測だけど。
「N個の矩形で面積最小」という条件じゃないの? N=1の時と、N>=点の個数のときは簡単だけど任意のNだと難しい。 矩形の重なりを許すかどうかでも変わってくるな。
穴の開いた島は分割する必要があるかどうかとかもな。
>>42 その条件(面積最小)ってことは、矩形に黒い点は含まれないから、
・すべての島について
・その島をちょうど覆う矩形の組み合わせで、個数が最小のものを探す
って問題になるね。
なんか、NP完全の匂いがする…
>>14 縮小する際には、拡大してから縮小するという方法もあるよ。
実際にメモリ上に拡大画像を展開するのではなく、ダウンサンプラから
アップサンプラを呼ぶのが普通。
縮小ならアップサンプラは零次ホールド、ダウンサンプラは平均操作が
変なノイズも発生しないし軽くていい。これだと
>>17 と全く同じ結果になる。
普段見てないスレなので遅くなってしまったが、処理方法の一例として。
Lennaみたいなかわいい標準画像とか版権フリーな画像もっとないですかねー・・・
50 :
デフォルトの名無しさん :05/02/18 22:02:05
・線分の検出 ・台形(遠近感を持つ長方形)の検出 をやりたいのですが、どうやったらいいか分かりません…… ハイコントラスト化してエッジを抽出する必要があるというのはわかったのですが……お願いします。
"Hough"とか"ハフ"でgoogle.
>>49 JISのはカワイイの?そもそもどこに落ちてるんだよう。
それと、昔、フジの深夜番組で今田、東野、板尾の
「棒々グラフ」というのがあったのだが
あれでよく使われていた標準画像っぽいやつはどこのやつか知ってるひといる?
(あべ静江みたいな女がカーネーションもってるやつ)
>>50 1) エッジ抽出(環境に合わせて適当な方法)
2) 線分近似(Douglas-Peuckerアルゴリズム,hough変換など山ほどあるよ)
3) 4辺で構成されるポリゴンを選択
趣味でやってるならともかく,大学生やエンジニアだと君痛いね.
画像の単純な図形への近似って10年くらい前に終わったような研究だよ.
しかし線分抽出だけとっても奥が深いというか万能薬がないのが画像処理
JISは俺もさがしたけどどこでダウンロードできるのかわかんなかった
>>52 カーネーションはテレビジョン学会(映像情報メディア学会)の
だった気がする。それともNHKだったかなあ。
フジテレビ反対!!! ホリエモンまんせー!!!!!!
ところで52の「落ちてる」とかいう表現が気になるんだけど、 標準画像やチャートは出自がはっきりしているから標準足りえるわけ。 どこぞのどう加工されたかわけわからんものをもらってくる んじゃなくて、ちゃんとJISやITEから買って使うようにね。
>>50 手に入りにいけれどオーム社の「画像認識の基礎」もGOOD。20年近く前の本だけれど。
>>53 学生はともかく、エンジニアだったら何年前の技術でも調べて使う。
画像処理だと30年以上前の技術なんかが、かえって役に立ったりする。
>>62 僕ちゃんいろいろ探したけど、その本は手に入らないです。
似たような内容の本ってないですか?
神田とかに行ったらあるかなぁ。そういう古本専門店ないですか?
(最近、関東に来たのでよくわからない)
>>63 「画像認識の基礎」(1)(2)。絶版、再販未定だった。
とにかく記述が細かく、図版が豊富なので初心者にも分かり易い良書だった。
となると、
>>54 のとおり「新編 画像解析ハンドブック」が次善の策かな?
>>64 終わってないの?
じゃぁ,ブームが終わったに変更・・・
>>62 古い技術を人に聞いてまわるってのが痛いと思ったわけで・・・.
再発明しなくとも,研究成果は形になっていくらでもあるわけだし・・・.
>>67 最近関東にきたって書いてあるから
試験に受かって下宿探してる大学新入生かもね
70 :
デフォルトの名無しさん :05/02/21 20:15:06
・・・もう何も言うまい・・・
ずいぶん偏った標準画像だな
>>69 たとえばJISの標準画像にはいろいろな場合を想定して
各種画像が取り揃えてある。もちろんイラストも含まれる。
心配するな。
画像認識と生体反応の相関の研究
>>69 画像処理やるんだったらLennaに萌えなきゃ
75 :
デフォルトの名無しさん :05/02/25 16:42:50
画像処理というか、CGの基礎「ブレゼンハム」についてなんですが、ここでいいでしょうか。 サイエンス社の「3次元CGの基礎と応用」のP.17の式2.4の誤差判定 e+dy/dx≧0.5、e+dy/dx<0.5 これの両辺から0.5を引いて2dxをかけるらしいですが、P.18の式2.5の誤差判定が 2dx(e-0.5)≧0、2dx(e-0.5)<0 になっているのはなぜでしょう? 左辺の2dyはどこにいったんでしょうか? さらに、このあと2dx(e-0.5)を新しい誤差dとおいてますが、 その後の初期誤差を d=2dx(e+dy/dx-0.5) としていて形が変わっているのはどういうことなんでしょうか?
サイエンス社に聞け
「3次元CGの基礎と応用」で検索したら、サポート・ページとかあるが、 もう見たの?
つーか、単なる誤植くさくない?
新訂版が出てるんですね。 自分のは古いやつなんで、新訂版で直されてるかも。 とりあえず新訂版を確認してみます。
81 :
デフォルトの名無しさん :05/02/26 21:29:44
お前らIntelC++Compiler使ってますか? VC6のコンパイラと比べて1〜2割高速になるよ! コンパイルオプションとかソースをいじればもっと速くなりそう。
VC7のコンパイラもVC6に比べれば速くなるよ。
bcc32使ってますが何か
intelのライブラリとかamdのライブラリとか VectorC使ってる人って 速度的にどうよ?
86 :
デフォルトの名無しさん :05/03/02 16:45:09
c言語で画像処理について勉強したいんだけど なんかいい参考書があれば紹介してください ちなみに私が使ってるソフトはvc++.net standardです
>>86 C言語による画像処理入門ってのが、ぐぐると出る。これを目当てに本屋に行って
立ち読みしてみる。画像処理ったっていろいろあるから、やりたいことが明確で
ないなら、こういうのいいんじゃないか。
やりたいことがあるなら、その関係の本を探す。画像に関係しそうな言葉で
ぐぐると、いろいろなサイトもある。
画像処理っていっても幅が広いからなぁ。 どういうことに興味があるのか具体例を挙げた方がいいかと。
91 :
デフォルトの名無しさん :05/03/02 18:16:23
いや、まだ何をやりたいかは決めてないです ただ、基本情報技術者試験を受けたいから 参考書を買ったら画像処理のプログラムが 載ってたから詳しく勉強したいなと思いまして 皆さんにお聞きしたまでです 自分まだ素人なんで多めに見てください
>>91 中古車屋で車をくれといってるようなもんだぞ
ひょっとして直線を引くとかいうやつか?
94 :
デフォルトの名無しさん :05/03/02 18:24:19
そうかも
>>91 C言語で学ぶ実践画像処理とかどうかな。
線引いたりフィルタ作ったりとかは書いてたと思う。
>>93 あたしの最初のは、イヤラCGとかだったか。MBASICかなんかで。
100 :
デフォルトの名無しさん :05/03/03 17:21:25
DirectX(2D)で稲妻の効果の出し方を教えてください
102 :
デフォルトの名無しさん :05/03/03 21:05:05
エロげー作りたいんだけど、画像ってどうやって表示するの?
>>99 おいらもCG-ARTS協会の本は好きかも。
画像処理の結果をカラーでみられるってのが(・∀・)イイ!!
>>99 名前からモデラー臭がプンプンするのがいやだ。
105 :
デフォルトの名無しさん :05/03/03 23:59:21
Photoshopの「エッジのポスタリゼーション」て どんなアルゴリズムなのか分かる人いたら教えてください 実装したいけどアルゴリズムわかりません('A`)
106 :
デフォルトの名無しさん :05/03/04 00:16:47
>>105 Adobeが特許を持っているけど、それでも使いたい?
ただの3X3のマスクでフィルターだろ
>>106 特許取れたん?俺の持ってるバージョンのやつは
申請中って書いてる。
自らサブマリンに挑もうと…? #いや、手漕ぎボートか?
110 :
デフォルトの名無しさん :05/03/08 00:02:02
特許持っててもいいから教えてください。 ちょっと変えて使うから。
つーかアメリカでとった特許って 日本で適用されるんだっけ?
各国で出願しますが何か?
114 :
デフォルトの名無しさん :05/03/10 12:40:50
>>114 直線引くときに、始点と終点が1ピクセルしか離れていなかったら、
もう1ステップ先の点を終点に選んでみては?
>>115 ありがとうございます
今ソースが手元にないので家に帰ってからやってみます
スレ違いかもしれないけど教えてください。 ド初心者です。 画像を任意の大きさに拡大縮小するにはどうするのでしょうか?
winならstretchBlt,とかdirextX, またはOpenGLか?
本当のド初心者なら、IrfanViewで変換してから、定サイズで処理だろ。 俺は「初心者」って単語みたら、このレベル以下(IrfanViewの使い方すら分からない?)だと想定する。
おれどこの時刻見てたんだろ... orz
C++だけでなくMFCの知識も必要になる予感
VBモナー つーかいまどきCだけなんて┐(゜〜゜)┌ハヤンネー
ああああああ俺Cだけ・・・。
今からでもC++やっとけ。 いまどきオブジェクト指向は常識だぞ
オブジェクト指向って何ですか?
129 :
122 :05/03/11 13:42:08
>105 自分も作ろうとしていた所。 エッジ抽出してレベル補正、Photoshopの「コピー」フィルタと同じような物を作り、 メディアンカット減色した元画像に乗算合成でできませんか?
あ、エッジ抽出というよりハイパスをレベル補正する感じで
>>135 これってなんつーか、現代版彩色写真だな。
ヒントの与え方のノウハウを巧く盛り込んだツールを作れれば、
モノクロ映画のカラー化が現実的なコストでできそうじゃん。
#そのことに意味があるかとか、商業的にどうかとかは兎も角。
>>135 というか、本当にソフトで処理したのか怪しすぎるんだけど。
例えば、上から2番目の奴で、滑り台みたいなのが茶色と肌色で違う色のマークなのに、右ではほとんど同じ色とか
感動した
>>138 疑いすぎ。
画像をよく見れば、あちこちに自動処理っぽい部分があるかと。
一番上の画像の子供の腕がの影の部分が緑っぽいとか、服の黄色と緑の境界が変だったり。
この程度なら動画になってしまえば気付かないだろうけど。
>>140 ってレベル低そうだな
まあ本人がそれで満足してるからいいのかもしれないけどね
なぜ必死?
きっと138は画像処理について自信を失ってしまったんだよ
>141 お前のレベルの高さでいいから説明しる
とりあえず実装を目指します。勝手にやっても怒られないよね?
てーかソースコードついてるじゃん。とりあえずコンパイルしてみるか
Matlab codeってコンパイル出来んの?
一瞬グロ画サイトかと思った
>>138 SIGGRAPHでいんちき発表するのかよ、、、
インチキは無いけどハッタリは見かける
>>150 だって、CGはいかに手を抜いてそれらしく見せるじゃんw
まじめにやるならレイとレーシングやってれば良いし
画像処理っていかに手を抜いてそれらしく見せるかじゃないのか?w
152の言いたい事がわからん・・・
×CGはいかに手を抜いてそれらしく見せるじゃんw ○画像処理っていかに手を抜いてそれらしく見せるかじゃんw かな
CGだろうが画像処理だろうがリアルタイムならいかに処理を端折るかってことになるし、それなりの出力が目的なら精度を重視するだろ。
CGと画像処理は全く別物ですが
だよな。
159 :
デフォルトの名無しさん :05/03/13 20:44:01
色空間の変換関係ってここでよいのかしら?
誰か
>>135 のアルゴリズムをわかりやすく解説してくれる神はいませんか
輪郭だして、明暗付けて塗り絵。 間違ってたらごめんよ。
そこまで掘り下げて調べるつもりはないから、ソースは見てないが ラベリングさえ綺麗にできたらマーカーの色相と彩度を参照すればいいだけだし。 この程度の事を疑う香具師が何故このスレにいるのかの方が謎だな。 動画はいらんが、静止画は面白そうなんで今度作ってみよ。
境界がはっきりしていない画像にも有効なんだろうか?
何のためにあんな塗り方を(ry
それがユーザーインターフェースという物では(ry
あの塗り方はグラデーションのかけかたを指示するためでしょ。
グラデーションなんかかかってないだろ。このスレ大丈夫か?
表現はマズイが言ってる事はわかるけどなー。
このスレ大丈夫か?
イスラエルって画像処理先進国なんだね。
>135 よくみたら Nature がある。すげーな。 でも画像でNatureなんか出せるのか?
元の論文(のabstract?)にちゃんと説明あるじゃん。 お前ら英語も読めないのか・・・ ラベリングなんかしてねーよ。 ラベリングしないってのが肝じゃん。
解説ヨロ
大雑把に言うと、近傍の画素においては、「明るさが近い=色が近い」という関係が成り立っているということにして、 近傍における画素の明るさ(l)の近しさを正規化したものを重み(w)として、 「ある画素の色 - その近傍の画素の色の重み付き平均」が最小になるように画素の色を求める。 もともと色がわかっている(指定されている)画素は全体の中のごく少数なわけだけれども、 こういう少数の前提の下に単純な「〜が最小になるような値(のセット)を求める」っていうのは 数値計算の問題として研究されていて既存のアルゴリズムが使える(らしい)。 で、その結果ほんの数個の数式でこういう結果が出るよ、イイ!!っていう論文。 こういう手法では適切な制約条件(この場合、一部画素群への色指定)を与えるられるかどうか肝心なんだけど、 サンプルを見た感じではインタラクティブに指定する端から結果が表示されるなら簡単そうですよね。
>>175 そそ、逆にインタラクティブなツールがないとヒントの色を置くのに試行錯誤できなくて辛いと思った。
175書いた後に気づいたんだけど、 色指定のしやすさはどの手法でも肝心なような気もしてきた。 領域分割にしても単純全面色指定にしても。
行列計算するからMatlabなのか。固有ベクトルの計算は挫折ぎみだったが また挑戦してみようかなあ
画像処理におけるPDEとかレベルセットとかの解説記事希望
explorer のような、 file や folder を tree view で表示するソフトを自前で 作って使っています。デジカメ写真の folder を表示したとき、決まったicon だけでは file name も無味乾燥でつまらないので、16x16 の絵に縮めて付けて います。が、元が写真だと皆似たような絵になります。マンガ的な絵に変換して 縮める手法とかありそうに思うのですが、何をキーに調べればいいか、分からない でしょうか。
16x16って、漫画的も何も情報量減りすぎて話にならないと思われ。 (複雑でない)漢字一文字がやっとだもの。
>>182 レスをありがとうございます。無駄骨とは思いつつもあるかと思ったもので。
画像処理にはハズレますが、気になったので調べましたら、表示のために
ImageList に add すると、皆 4 bit color にされてしまう感じですね。
しかも、RGB quad は共通のものを使っているような。GetDIBits() に
渡して一旦 8 bit color までは落としていて、ここまではまだ色は着いて
いるんですが、4 bit では、中間色はほとんど灰色になる。dither かける
には面積がせまいし、やっぱり徒労ですかね。
フルカラーのImageList作ればいいだけじゃないの?
>>184 や、お恥ずかしい。ImageList_Create() を見て、flag が TRUE だった。
8 bit color のに変えたら、色が出た。で、ここへ来たら、もうレスがあった。
16x16 じゃ、姿形は見えないが、匂い程度は分かるようになった。お騒がせ。
普通の small icon が貧相になった。
187 :
デフォルトの名無しさん :05/03/16 19:52:14
>>161 カラー(3変数) -> モノクロ(1変数)変換は変換関数が与えられていれば一意に求まる。
その逆は一意に求まらないから,制約条件や評価関数を与えて制約付最適化問題として問題を定式化。
>>188 ああいうの見るたびに生まれてくるのが遅すぎたと悔やまれるよ。
>>189 それは君が既に発表された技術や研究を見ているからだよ。
昔、難問と言われている算数の問題の解答だけを見て、こんな簡単な問題、とか思わなかった?
俺は生まれた時から地球が丸いと思っていた。 もっと早く生まれてれば火あぶりの刑だったな。
192 :
デフォルトの名無しさん :05/03/17 15:49:22
>>191 さてはお前、太陽じゃなくて地球が回ってる事も知ってたな。
オレは目は回っているが、クビが回っていない。
オレは頭が回らない
それでも地球は回る
オレは舌が・・・ そろそろやめないか?
新ネタきぼんぬ
画像が、合成か、そうでないかを 画像処理で調べる方法ってありますか?
>>199 北朝鮮の写真で色々やってたな
フルオートは難しそうだが
合成にも色々あるんだし、制限無しには不可能だろ 例えば、字幕スーパーのみたいなのとか、宇宙に人間が居る写真みたいなのとか
レベルが低い質問ですが、ズーと file list の表示は、「詳細」を指定して、 小さいアイコンとファイル名で表示してやってきました。先日、いたずらに winXP で、WEB 形式にして、大きいアイコン表示にして、jpeg ファイルを クリックしたら、フォルダ名の下に preview の絵が出ました。これが結構 速い。今まで、自前で、libXXXX.dll とか使って表示していましたが、あれは なんだったんだろうと思いました。OSか、IE関連で持っているルーチンは 使えないんでしょうか。(???.flt というファイルがあり、open, get, put close 相当の関数名を export しているようですが、圧縮技術の著作権とか が制約になっているのでしょうか)
復帰?
205 :
デフォルトの名無しさん :2005/03/23(水) 21:51:54
age
206 :
デフォルトの名無しさん :2005/03/30(水) 09:20:16
画像の拡大で、いろいろなアルゴリズムがありますが、それぞれの特徴をまとめたサイトなどはないでしょうか?
いろいろってどんな?
209 :
デフォルトの名無しさん :2005/03/30(水) 18:20:15
例えば、IrfanViewというソフトでリサンプルの方法が6個示されていますが、それぞれどのようなアルゴリズムで、どのような特徴があるのかを知りたいのですが。
それぞれ名称書いてあるんだからぐぐってみたら?
あhaあはha
213 :
デフォルトの名無しさん :皇紀2665/04/01(金) 14:09:57
jepg2000は死んだのか?
>jepg2000 何それ?
jgpe2000 jpge2000 jpeg2000 jegp2000 この中に正解がある
二の舞を避けるために誰も使ってないだけでそ
tek5を使う人はいないのか?
jpeg2000は圧縮にDCTではなくwaveletを使うらしいとしか知らない
219 :
デフォルトの名無しさん :int 2ch =05/04/02(土) 09:58:01
ファイル容量の減少に比べて、処理が重すぎる。 結局ストレージの低価格化が、jpeg2000を不要にしたわけか 。
大企業が技術力を提供し合い、最高の圧縮技術を目指したjpeg2000…… しかし、技術馬鹿どもの悪い癖が出てしまい、現実のマシンでの処理時間や、 特許関連の問題への対処、普及のための広報戦略、などの観点が すっぽり抜け落ちていましたとさ。まる。
音声フォーマットも似たような感じだな
222 :
デフォルトの名無しさん :2005/04/03(日) 02:09:45
JPEGグループの配布してるJPEGライブラリはフリーなの? 自分のソフトに使って配布しても問題なし?
224 :
224 :2005/04/11(月) 00:41:04
誰かIP7000の使い方に詳しい方おられませんか?
225 :
デフォルトの名無しさん :2005/04/11(月) 10:48:20
BitBltで画像を表示する時、32X32サイズのを16X16回表示するのと、 512X512サイズのを1回表示するのでは、当然後者の方が速いですが、 32X32サイズのを何回表示するぐらいが、 512X512サイズ1回を表示するスピードと同じぐらいになるんでしょうか。 大体の目安とか法則とかありましたら教えてください。
ええけつしとるのぉ(*´Д`)ハァハァ うはっwwwおkwww??
>>225 激しく環境依存かと思いますが。
ご自分で先ず計測してみては如何でしょう。
228 :
225 :2005/04/11(月) 11:48:14
>>227 分かりました。ありがとうございました。
229 :
デフォルトの名無しさん :2005/04/13(水) 11:09:43
>>224 あーなつかしぃ.IP5000シリーズ昔使ったことあるけど,7000はしらない.
メーリングリストもこないだ停止になったみたいだね.
つーか,そのボードって日立の中の人以外で使う意味ってあるの?
組み込み用PCで高速処理できるのは分かるけど,カリカリにチューンしたコードとpen4の組み合わせの方が圧倒的に速いし.
Modern C++ Design とかいう本
ttp://www.moderncppdesign.com/book/main.html の考えかたに従って
基画像と基画像のフーリエ変換、の両方をうけつける
画像のアフィン変換は どうインプリメントするべきなんだろう...
template {template class Image}
class affine_transformed_image : public Image<???>
{
affine_transformed_image(????)
{????}
}
10分ぐらい悩んでみたけどわからんかった
窓側で撮った写真で窓側は明度が十分なのに反対側は暗いので、暗い部分の明度を 上げる修正を試みていますが、全体の明度を上げると、くすんだ感じになるので、 明度差が拡大するよう操作しています。で、コントラストでぐぐって、方法を 調べていて、コントラストの度合とか、高コントラストという言葉に出会いますが 「コントラスト度」の指標のような話に出会いません。コントラストは目で見て、 どうかを判断するしかないものでしょうか。近接するピクセルの明度差を標準偏差 のように計算するとかないのでしょうか。尚、明度は今、YUV のを使っています。
>>231 言ってることはよく判らんが、私のところでは対象領域の濃度差でコントラストとしている。
>>231 濃度(輝度)ヒストグラムストレッチとか
234 :
デフォルトの名無しさん :2005/04/15(金) 07:42:32
画像を綺麗に縮小したいのですが、良いアルゴリズムが書いてあるwebサイトとかないでしょうか?
>>234 このスレで紹介されてなかったかな?
画像の種類や縮小率によっても違ってくるので、先ずは画像編集ツールで色々試すことをお勧め。
236 :
231 :2005/04/15(金) 10:36:30
>>232 ,
>>233 レスを有難うございます。
対象の写真は、右側は明るく、左側が暗い(コントラストも低い)といったものです。
今まで、試した方法は、画像を方眼状に何分割化して、それぞれの明度の平均を
計算して、一番明るい区分の明度との差を暗いところに加算して明度を上げるように
しました。各ピクセルの上げ幅は、四隅の値から補間計算で求めました。
で、このままでは、元の明度差が維持されてコントラストがよくないので、
四隅の平均値から、各ピクセルの予想平均値を補間計算で求めて、この値と実際の
各ピクセルの明度を比較して予想平均値より明るければ、そのまま明度を上げ、
暗ければ、上げ幅を割り引く(*)ことにしました。
で、分割数と割り引き率をスライダで、変化させて、良さそうな絵を取ることに
していますが、一番コントラストがあると判断できる評価関数ができれば、
それにまかせられないかと思ったわけです。
*一番大きな明度幅を維持するよう、明度を上げ下げする計算も可能とは思って
いますが、これはお試しの簡易計算です。
237 :
デフォルトの名無しさん :2005/04/15(金) 13:50:04
>>234 ISO/JIS-SCIDとISO/JIS-SCID(RGB)の
ドキュメントが意外とまとまってたな。
>>237 縮小にバイリニアはあんまり意味ねーぞ。
240 :
デフォルトの名無しさん :2005/04/16(土) 13:12:46
>>239 1/2程度以下に縮小するならそうだけど、少しだけ縮小するならバイリニア使った方がいいよ。もちろん画質とスピード等のトレードオフだけど。
242 :
デフォルトの名無しさん :2005/04/17(日) 02:25:23
単純に平均を採って端数ピクセルは無視しても大丈夫な気ガス。いや、1/2程度ぐらいだと必要かなぁ。1/3程度以下なら9ピクセル分採れるから大丈夫だろうけど。
質問しようと思ったけど、ぐっとこらえてグーグル検索をする俺。
245 :
デフォルトの名無しさん :2005/04/18(月) 13:05:00
>>244 結局質問するんなら最初から質問しとけ。
248 :
デフォルトの名無しさん :2005/04/18(月) 19:52:15
質問してみようと思い、過去レスをチェックしたらクォリティの低さに頭をかかえてしまった俺。
>>248 とりあえずクオリティの高い質問してみれ。
クオリティの低い回答してやるから。
>>250 ほー。こんなの作ってる人がいるんだ。面白そう。
この手のGUIって特許が絡んむことが多々あるんで、作ろうとしてる人たちは要注意!
特許なんか全部虫。
>>231 遅レスだけど、ガンマ補正を試してみては?
255 :
デフォルトの名無しさん :2005/04/20(水) 15:29:09
激しく評判が悪いようですがJPEG2000関係でちょっとお聞きします JPEG2000のROIの形状を細かく設定できるようなソフトってありませんかね? もしくはJPEG2000のROIについて詳しい説明のある書籍など
>>255 ROIって知らなかったので、ぐぐったらいろいろあって、へーと思ったが、
あんなのではだめだったのですね。
257 :
デフォルトの名無しさん :2005/04/21(木) 13:59:18
JPEG2000を見るのはいっぱいあったけど 作るほうはどうだったかなぁ?
258 :
デフォルトの名無しさん :2005/04/22(金) 11:25:47
>>256 ただJPEG 2000の形式で出力するだけならいくつかあるんですが
ROIに関しては全然触れられていないのです
誰かおしえてエロイ人!
自分でつくらにゃならんのか・・・
ここはプログラム板だからな プログラムを作る人のための板なわけで、自分で作れと言われるのは当たり前だが。
あるソース画像と、ソース画像を縮小してさらに若干のノイズが混入した画像があるとし、 その2つの画像が「どれだけ似ているか」を示す評価関数はどのようなアルゴリズムを使えばよいのでしょうか。
FFT
>>261 あ、そうですね。ありがとうございます。
それで納得する260に萌え。
納得するのは早合点でしたか???
psnr
267 :
デフォルトの名無しさん :2005/04/23(土) 23:36:39
PSNRあげ
268 :
268 :2005/04/23(土) 23:59:21
000!
000!
271 :
デフォルトの名無しさん :2005/04/25(月) 20:15:30
>>270 OpenCVオンリーしか使ったこと無い・・・
Vigraの解説キボン
Vigra 画像版STL
273 :
デフォルトの名無しさん :2005/04/27(水) 13:11:12
>>272 ほとんどCでしかプログラムやらないんで、オブジェクト指向とかSTLとか意味わかんない。
というか、STLに従ってプログラミングして素敵に思えたことがない・・・。
コードの再利用?そんなもん糞くらえ
これからは、Core Imageだと思う。
275 :
デフォルトの名無しさん :2005/04/28(木) 02:47:53
jpegではいろいろ改良によって高速化が出来るようなのですが、 ビットマップファイルの高速読込アルゴリズムって何かありますか?
>>275 あんたの言うビットマップファイルがWindowsBitmapで無圧縮のもののことを言っているのなら、
読み込み時間の多くをファイルアクセスが占めているのでアルゴリズムで工夫しようがない。
強いて言うならでかいファイルをどうやって効率よくメモリにロードさせるかってAPIの使いこなしか?
そういえば昔は VRAM へ送りこむとかしていたが、いまはもう出来ないのかな。
>>278 いつ頃の、どんな技術のことを言っている?
280 :
デフォルトの名無しさん :2005/04/29(金) 00:54:20
>>278 Linuxのフレームバッファでだいたい同じ事ができる。
そういうデバドラ書けばいいじゃん
282 :
デフォルトの名無しさん :2005/05/01(日) 02:55:11
インテルのプロセッサを使っている場合、JPEGのデーコードはインテルの インテグレーテッド・パフォーマンス・プリミティブが一番高速なのでしょうか?
んなわきゃないだろ
そうそう、IPPはAMDでも最速。
285 :
282 :2005/05/01(日) 10:51:54
とりあえず、注文してみました
ちょっとお尋ねします。 動画を処理して再生するツールを作っているんですが、 たとえば704x480を640x480に、できるだけ高画質に、 しかし、それ以上に高速に縮小するようなアルゴリズムを 探しています。 3次補間法とか平均画素法とか、いろいろあるみたいですが、 動画再生時に縮小する場合、どんな方法が最適なんでしょうか?
その程度ならバイリニア程度で充分じゃね?
288 :
デフォルトの名無しさん :2005/05/02(月) 03:12:58
292 :
286 :2005/05/02(月) 12:36:26
えーと、バイリニアでちょっと試してみます。 みなさん、ありがと。
293 :
286 :2005/05/02(月) 14:23:26
先ほどから、まずはGDIのBitBltとかStretchBltから試してるんだけど、 この程度の縮小だと、BitBltで十分かなって気もしてきた。まだ詳しく 検証してないけど、動画として見る分には違和感はない。 もともと、DirectDrawのオーバーレイが使えない場合の救済策的な 意味でやってることで。 ただ、BitBltもStretchBltも速度が不安定。自分の環境で、DivXソースの 縮小を伴わないBitBlt転送による再生表示だと、CPU使用率が20%前後。 ところが、縮小BitBltだと20〜100%を不安定に変動する。 やっぱ、自分で1から書くしかないのかな。。。
>>273 >コードの再利用?そんなもん糞くらえ
Modern C++ Design
Andrei Alexandrescu
の第1章だけでも読むことを薦める。
ヒューリスティクスでも綺麗に書けるし再利用できる
295 :
デフォルトの名無しさん :2005/05/02(月) 20:37:05
OCRの基礎を学びたいのですが、参考になる書籍や論文、WEBページなどの文献がありましたら、教えていただけませんか?
>>286 720x480→640x480
だが、オレはそれ用に、9ドット→8ドット縮小専用にハードコートされたバイリニア縮小ルーチンを作った。
それを80ループさせると、水平1ラインの縮小ができる。
パラメータをイチイチ計算しつつバイリニアするよりは格段に高速。
704→640だったら、11ドット→10ドットの縮小ルーチンを作ればいいのかな。
297 :
デフォルトの名無しさん :2005/05/02(月) 22:36:34
>>294 OK読んでみる。
”コードの再利用?そんなもん糞食らえ”を早く卒業したい。
299 :
デフォルトの名無しさん :2005/05/03(火) 08:52:17
みんな、先週のタモリ倶楽部みたかい?
300 :
デフォルトの名無しさん :2005/05/08(日) 18:10:40
exifを扱うC++のクラスはありませんか?
301 :
デフォルトの名無しさん :2005/05/08(日) 21:04:40
画面に6枚のjpg画像を表示したときCPU使用率が30%ぐらいになります。 jpgサイズは640x480でそれを320x240にして表示しています。 CPU使用率を3%以内に抑えれるでしょうか? 言語はVB6 OSはXP Proです。
CPU16個ぐらい積んだマシンで動かせ。
ゆっくり表示すれば、遅いマシンでも抑えれるよ。
304 :
301 :2005/05/08(日) 23:00:36
ゆっくりと表示出来ないんです。 動画とまではいきませんが、1、2秒で6枚の画像を再表示しています。 パソコンの性能を上げるしかないのでしょうか? 今は、CPU 2.8GHz、メモリ 256MBです。
他のスレで聞け。
ヒント:言語の限界
↑これ流行ってるの?
308 :
デフォルトの名無しさん :2005/05/08(日) 23:31:48
やってるのは一人です。流行っているわけではありません。
>>304 あらかじめゆっくり読み込んで、すばやく表示。
VBなんていうアフォ言語を使うのが悪い
古いversionのPainterは起動しておくだけでCPU使用率常時100%だよ
312 :
デフォルトの名無しさん :2005/05/09(月) 14:30:40
表示部分をスレッドにしておいて、スレッドの優先度を最低にするとかは?
313 :
デフォルトの名無しさん :2005/05/09(月) 14:52:15
314 :
デフォルトの名無しさん :2005/05/09(月) 16:02:10
>>312 スレッド使ったところで使用率は下がらない
VBよりもっと効率のよい言語を使え
描画のたびに縮小処理してるとか。
316 :
デフォルトの名無しさん :2005/05/09(月) 18:36:00
フォトショップの自動選択ツールみたいなのが作りたいんですが、どんな方法を調べたらいいですか?
317 :
デフォルトの名無しさん :2005/05/09(月) 18:54:58
既存のGUIライブラリにはそういうのが付属しているものが多い。 GUIライブラリはいろいろ種類があるから探してみるといい。
>>316 塗りつぶしと同じようにすればいいんじゃね?
319 :
デフォルトの名無しさん :2005/05/09(月) 19:22:24
320 :
デフォルトの名無しさん :2005/05/09(月) 19:38:26
321 :
デフォルトの名無しさん :2005/05/09(月) 19:39:43
ウイルス
323 :
デフォルトの名無しさん :2005/05/09(月) 21:34:13
>>323 めっさ適当に答えてみる、4分割してるんじゃね?
画像を4分割して、4つの周波数グラフがあるってこと
ヒエログラフって左上と右下に高周波がおおいのかな
フーリエ変換すると、結果は複素数ででてくるから、それの実部と虚部をそれぞれ表示してるとか。 普通は、わかりやすさの点で、絶対値と位相にわけて考えて、絶対値(大きさ)だけ表示するもんだけどね。
326 :
323 :2005/05/09(月) 23:31:14
>>324 この画像を細かく拡大して見る限りX軸とY軸に対称みたいなんですが
4分割すれば対称にはならなくなりません?
>>325 実部と虚部を別に表示してもそこのグラフの第一象限と第三象限の二つだけでいいように思います。
私も絶対値と位相にわけて表示するんじゃないかと思ってたんですがググってみると
画像処理ソフトとかMatlabだとかは
>>323 のページのグラフみたいにするみたいなんです。
327 :
323 :2005/05/09(月) 23:36:50
うわ! 「ヒエログラフ」はX軸とy軸に対称じゃないですね! 「漢字」の所ばかりみてました。 4分割にして試してみます。
328 :
323 :2005/05/10(火) 00:41:32
分割してもだめでした。
というかサンプリング数8でフーリエ変換するとexp(i*1*t)とexp(i*7*t)がサンプリング定理から区別つかないので
周波数4を中心に対称(周波数1の実部=周波数7の実部)になり、フーリエ変換後の画像は画像の中心の点対称
になると思うんですが、
>>323 の画像はなってませんよねー
もうわかりません。
>>324 ,
>>325 ありがとう!!
>>328 点対称にはなっている気がするが。
これに、ルーン文字を加えたら方向性がはっきりして面白いかと。
330 :
デフォルトの名無しさん :2005/05/10(火) 02:08:29
>>323 ●◎○△ こういう画素列があったとき、
fft(●◎○△) が ●◎○△ をフーリエ変換してパワースペクトルをとる処理だとすると、
(1)横方向に画像を切ってフーリエ変換して、そのパワースペクトル(か絶対値)をとる
○○○○ fft(○○○○)| → ▲▲▲▲
●●●● fft(●●●●) → ▼▼▽▽
◎◎◎◎ → fft(◎◎◎◎) → □□××
△△△△ fft(△△△△) → ■■■■
(2)縦方向に画像を切ってフーリエ変換して、そのパワースペクトル(か絶対値)をとる
▲▲▲▲ fft(▲▼□■) $∪∠★ $∩Åд
▼▼▽▽ fft(▲▼□■) ∩〇Λ# ∪〇!@
□□×× → fft(▲▽×■) → Å!_% → ∠Λ_Щ
■■■■ fft(▲▽×■) д@ЩЮ ★#%Ю
(↑左で縦横をひっくり返したから元にもどした)
(3)四隅が低周波で中央が高周波になるから、4分割して、四隅が中央に来るように並べ替える
$∩Åд $∩ Åд _Щ∠Λ
∪〇!@ → ∪〇 !@ → %Ю★#
∠Λ_Щ Åд$∩
★#%Ю ∠Λ _Щ !@∪〇
★# %Ю
((1)(2)は逆の順番の可能性もあり)
って処理をしてるんだと思うけど・・・
ずれたorz (1)横方向に画像を切ってフーリエ変換して、そのパワースペクトル(か絶対値)をとる ○○○○ fft(○○○○) → ▲▲▲▲ ●●●● fft(●●●●) → ▼▼▽▽ ◎◎◎◎ ..→ fft(◎◎◎◎) → □□×× △△△△ fft(△△△△) → ■■■■ (2)縦方向に画像を切ってフーリエ変換して、そのパワースペクトル(か絶対値)をとる ▲▲▲▲ fft(▲▼□■) $∪∠★ $∩Åд ▼▼▽▽ fft(▲▼□■) ∩〇Λ# ∪〇!@ □□×× ..→ fft(▲▽×■) ..→ Å!_% ..→ ∠Λ_Щ ■■■■ fft(▲▽×■) д@ЩЮ ★#%Ю (↑左で縦横をひっくり返したから元にもどした) (3)四隅が低周波で中央が高周波になるから、4分割して、四隅が中央に来るように並べ替える $∩Åд $∩ Åд _Щ∠Λ ∪〇!@ ∪〇 !@ %Ю★# ∠Λ_Щ ..→ → Åд$∩ ★#%Ю ∠Λ _Щ !@∪〇 ★# %Ю
333 :
デフォルトの名無しさん :2005/05/10(火) 11:03:44
もっと分かりやすいAA描いて
>>332 Linuxのkitaでみると何がなんだか・・・。
女子高生文字ですか?
二次元フーリエ変換くらい調べろよ。
そういえばOpenCVでRGBヒストグラム作れる? あるいは各画素毎にRGBの濃度って取り出せます??
337 :
デフォルトの名無しさん :2005/05/11(水) 20:00:42
取れるに決まってるだろ…。
338 :
デフォルトの名無しさん :2005/05/13(金) 23:44:14
VC++ で、画像からピクセル値取得→加工→画面に表示というプログラムの作成を考えています。
(VC++ はほぼ未経験です)
検索すると、下記のようなページがあり、そこでは、デバイスコンテキストから
一ピクセルずつ GetPixel し、また一ピクセルずつ SetPixel で書き戻すということをしています。
ttp://homepage3.nifty.com/ishidate/vcpp6_g1/vcpp6_g1.htm 上記のような処理は定石と考えてよいのでしょうか?
VC++ 以外の環境での経験から、1ピクセルごとに読み込みと書き込みを行うのは
処理時間が長くなりそうなイメージがあるのですが、そのようなことはないですか?
もしくは、もっと良い方法などがありましたらご教授いただけないでしょうか。
処理時間は長くなります。 VCのことは知らんが、生データを直接取り出していじる手段が用意されてるはず。 MSDN読んでくれ。
DIBSection相手ならGetPixel/SetPixelでもそう遅くないはずだが。 普通はポインタ経由でhogeるが。
341 :
デフォルトの名無しさん :2005/05/14(土) 02:08:05
質問です。 libpngを使って、png画像の縮小をすることは可能でしょうか。 知っている方がいたら教えてほしいです。 よろしくお願いします。
342 :
左利き :2005/05/14(土) 02:31:09
質問させてください。 DXライブラリを改造したライブラリを使って(DirectShow利用) Webカメラの撮った映像を表示するプログラムをしたいのですが、 キャプチャ出来ません。 その理由に、 ビデオキャプチャするデバイスが Conexant 2388x Video Captureと Mic Cam 2つが存在し設定でConexant 2388x になっているからだと思うのですが、 (Mic Camしかない別のPCだとキャプチャ出来る) Mic Camに設定してキャプチャする方法はないでしょうか? お願いしますm(_ _)m
>>338 軟弱なコード書いてんじゃねぇよ。
座標指定してピクセル値を読み込んで計算なんて行儀ばっかりに気を使ってちゃ何もできねーぜ。
ポインタ演算駆使してメモリ直読みするのが真のプログラマだ。
画像形式がDIBだ?DDBだ?ハァ?ふざけんな。
全部mallocしたメモリにぶち込め。アルファがホシケリャ32bitだな!ガハハ!!!
真のプログラマならQWORD境界でmallocしとけよ!
なんで、QWORDなん? OWORDとかだめなん?
>>343 まぁ、、、、あんたのいうとおりだよ、、、、。
つか、いくらmallocでメモリ確保しても、結局画像データ取得するわけだが。 mallocしても、うまいこと配列にしておけば、ポインタ演算駆使する必要もないわけだが。
急速にスレの質が実装よりに傾いてまいりました。
>>338 他の環境の経験があるなら、同じ流儀でやればよろしい。検索結果のみに頼らなければならない理由もないだろう。
>>341 何故それをlibpngにやらせようとする?
>>342 左巻き
DirectXスレで聞いてくれ。
348 :
デフォルトの名無しさん :2005/05/14(土) 12:03:54
>>347 訳あって、libpngでpng画像縮小出来るか出来ないか知りたくて。
もし出来ないとしたら、公開されているライブラリで
png画像縮小が可能なものはありますか?
知っておられたら教えてください。
>>348 OSとかコンパイラとかどんな画像を対象としているとかも言わずに教えろかよ。ふざけてんの?
まあImageMagiKとかたいていの環境で使えるけどな。
351 :
350 :2005/05/14(土) 12:22:41
もしかして: imagemagick orz
352 :
350 :2005/05/14(土) 12:39:39
しかも他スレで、ImageMagick使えってちゃんと教えてもらってる じゃねーか。ライブラリの使い方わからんなら、そう質問しなおせばいいのに。
ガンマ補正はどのように書ければいいのでしょうか
? どゆこと?
356 :
左利き :2005/05/14(土) 13:07:48
>>347 レスありがとうございます。
DirectXスレで聴こうと思います
357 :
デフォルトの名無しさん :2005/05/14(土) 14:05:50
画像の輝度値の平均や分散をもとに ルックアップテーブルを作成する方法ってありませんか?
358 :
デフォルトの名無しさん :2005/05/14(土) 14:06:14
真のプログラマが集うスレはここですか?
首のプログラマが集うスレはどこですか?
>>353 0.0 <= x <= 1.0 (入力)
0.0 <= y <= 1.0 (出力)
y = x^(1/g) (g:ガンマ補正値)
でいける。
362 :
デフォルトの名無しさん :2005/05/16(月) 20:29:34
カメラに移った画像から、そのカメラがどちらに 動いたかを検出するにはどうしたらいいでしょうか? 前後の画像を比べるというような漠然としたイメージはあるのですが、 具体的にどういう処理をして比べたらいいか見当がつきません。 ヒントでもなんでもいいので教えてください。<m(_)m>
>>362 ブロックマッチングしてオプティカルフローを求める。
オプティカルフローの平均とかを求める。
365 :
デフォルトの名無しさん :2005/05/16(月) 22:37:16
以前このスレで質問した者です。 はふ変換を使ってみたのですが、よく考えたらやりたいのは直線の抽出じゃなくて線分の抽出でした。 しかも、なんか線が太いと誤認識しまくりで似たような線が大量に抽出されてしまいます。 これを代表的な線だけにしたいのですが、はふ空間に何かフィルタをかければいいのしょうか? アドヴァイスをお願いします。
反転色の取得方法を教えてください
color ^ 0xffff
~( color & 0xFFFFFF )
んなもん、画素の持ち方で違うじゃねぇか。
カラースケールの計算方法を教えてください
r + g + b
>>371 color scale でぐぐったら。
374 :
デフォルトの名無しさん :2005/05/23(月) 17:21:58
375 :
デフォルトの名無しさん :2005/05/25(水) 20:48:35
templateを駆使する画像ライブラリー vigraの 画像格納クラス BasicImageを拡張して class BasicImageEx : public BasicImage { いろいろ } を作ったけど BasicImage の演算を適用できない 型キャスト' : 'BasicImageEx *' から 'const vigra::BasicImage<PIXELTYPE> &' の変換は存在しますが、アクセスできません。 とか言われる。 何が悪いんだろう
エラーメッセージの通りだと思うが。 見てないからアレだがその演算関数がprivateだからでねーの
グラデーションの描き方を教えてくだすれ
DrawGradation(0,0,640,480,RGB(0,0,255),RGB(255,0,0));
何この環境限定なレス
単にグラデと言ってもディザとか考えるとムズいべ('A`)y-~
381 :
デフォルトの名無しさん :2005/05/26(木) 16:31:16
Windows、C++でお願いします。
print("????");
あれ、化けた。 print("█▓▒░ ");
>381 ::GradientFill()か CDC::GradientFill()
クオリティが落ちてきたな。
APIの使い方はそれぞれの環境のスレで聞けと。
2点間の距離によって色の混ぜ具合を変えればいいだけなんじゃネーの?
>>377 ペイントソフトでbmp作ってBitBltでもしとけ。
実際ゲームではグラデマスク使ってる
>>377 API に GradientFill() なんてのはある。title bar の色が右から左へ段段
いろが薄くなるとか描ける。
Windowsならどうやる?
>391 >390
>>377 >>391 OSに関わらず、矩形領域を一定間隔毎に色調をずらして
塗りつぶしてやればいいだろうが。
APIは何を使ったらいいのとかそんなレベルから聞くなよ。
そのレベルなら本を買え!それから出直して来い
394 :
デフォルトの名無しさん :2005/05/28(土) 17:40:40
iplImageと vigra::BasicImageをミックスしたclassの名前 iplvBasicImage ってつけるのはどう思う?
395 :
デフォルトの名無しさん :2005/05/28(土) 17:45:22
iplAllocate をベースにしたSTLのカスタムallocatorってどこかにないかな あるとすごい助かるんだけど
396 :
デフォルトの名無しさん :2005/05/28(土) 20:56:07
RGB空間からHSI空間に変換 HSI空間で2色間を線型補完 HSI空間からRGB空間に変換
なるほどそういうやりかたもあるな
398 :
デフォルトの名無しさん :2005/05/29(日) 00:38:06
399 :
デフォルトの名無しさん :2005/05/30(月) 11:28:29
C++BuilderでJPEG2000を表示するサンプルコードか何かありませんか?
画像をシャープにする方法を教えてください
Sharpness(0,0,640,480,50);
402 :
デフォルトの名無しさん :2005/05/30(月) 13:11:48
なんかさ〜,グラデーションを描く方法とかシャープ化とか聞くの流行ってるけどさ,いつからここは素人サービスセンターになったわけ? もっと議論が広がるような質問しろよ. シャープ化の方法聞くにしても「画像をシャープにする方法を教えてください」なんて素人丸出しな言い方以外に色々あると思うが.
>>402 >>1 ・画像処理について素人同士で大激論
・初学者の質問に対してやさしく(的を外れた)解答を与える
・その道の玄人も大歓迎
シャープったって、微分フィルタかけて元画像と合成する方法とか ニューラルネットで高周波成分を復元させるとか色々あるべよ('A`)y-~
405 :
デフォルトの名無しさん :2005/05/30(月) 13:53:55
アンシャープマスクってどのような演算を適用しているのでしょうか?
自前プログラムでjpeg画像のファイル容量を指定容量以下に したいのですが、何か方法をご存知の方、教えてもらえないですか? フリーソフトでこの機能を実装してるのがあるので、 方法はあると思うのですが・・・ 現在はImageMagickを使って幅と高さを小さくしてるという苦肉の策です・・・ 板・スレ違いなら誘導してもらえると助かります
409 :
デフォルトの名無しさん :2005/05/30(月) 23:46:03
Photoshopの 自動レベル補正と自動カラーバランスと自動コントラストは それぞれどういうアルゴリズムなのでしょうか?
統計をとって、一番もりあがってるところをまんなかによせる。 統計をとって、データの端っこを値域のはしっこにもってくる。
複数の静止画像(png, jpeg, pgm 等)から動画を生成するにはどうすればよいのでしょうか?
>>411 画像処理というよりもフォーマットの問題じゃない?
>>414 そのやり方だと、DCTまでを毎回行うのが無駄だよね。
昔、自分がやったときは、DCT後のデータを残しておいて、
パラメータを変えての試行錯誤は量子化以降だけをやるようにしてたんだけど、それでも結構重かった…
今時のPCだと問題ないのかなぁ…
画像センシングシンポジウム行くヤシいる? 漏れは毎年行ってる。 毎年超楽しみだよ。 会社さぼってマターリできるからね。
あの、動画の個々のフレームを比較して シーンチェンジを検出するようなアルゴリズムを 扱ってるようなサイトってありません? 画像の全体/一部の明るさの変化を比較する のかなとか夢想してるんだけど。。。 まあ、あまり厳密な方法より、検出速度を 重視したいなと。
ありますよ
モーフィングのやり方を教えてください
Morphing(0,0,640,480,0,0,ImageA,ImageB);
>421 ここの上の方
425 :
デフォルトの名無しさん :2005/06/02(木) 09:02:41
モーフィングのやり方を教えてください
こんなパターン検出器があったら誰か使う? いろいろなパターンの組合せをif then ぽく記述して その組合せのパターンをdetectできる 今作ってるのをちょっと拡張するだけでできるんだけど 拡張する価値あるのか微妙なので迷ってる 例えばこんなパターン [パターン1(学習で生成) ] 飛び地[パターン2(学習で生成) ] 飛び地の位置関係もconfig できる if (飛び地 との距離 > 3) なら検出 みたいな感じ
>>426 特徴パターン同士の比較だと距離が欲しい。検出が1/0でなく0〜1.0で取得できるのを希望。
>> 425 for i=0 to 32 cls circle(128, 106), i * 5 next i 円が大きくなるモーフィング
それだとチラツキ出まくりなので不合格
ΣΣ(゚д゚lll) これでどうでしょう? 10 screen 5 20 set page 0, 1 30 for i = 0 to 32 40 line(0, 0) - (255, 211), 15, bf 50 circle(128, 106), i * 5, 1 60 set page i mod 2, (i + 1) mod 2 70 next i 80 goto 30
それだとPC-88/98で動かないので不合格
434 :
デフォルトの名無しさん :2005/06/03(金) 14:36:51
フィルターなどで画像を処理したとき、端の部分はどうしたらよいのでしょうか?一つ内側の値をコピーするのがよいのでしょうか?
>>434 1.画像の外側は0にする
2.外は端のピクセルが永遠に続いていることにする
3.右端は左端と繋がっている
4.ミラーイメージが続いている
5.内側のピクセルから適当に求める(線形補間等)
このあたりから用途に応じて適当に選べばいいかと。
色合いを自動的に補正する方法を研究してて photoshopなんかの自動で色合いを調整する機能なんかを 参考にしてるんだけど 画像によってうまくいったりいかなかったりで安定しない。 何かいい方法ありませんか?
フーリエ変換でローパスフィルタを作成したいのですが、フーリエ変換をかける前に、画像をどのような形に拡大すればよいのでしょうか?
439 :
デフォルトの名無しさん :2005/06/04(土) 17:12:36
>>438 2^n でしかFFTできないからそういう質問なのかな?
拡大する必要は無いと思うけど・・・
ところで、任意サイズのFFT(基数2以外のFFT)もあるのは知ってるかな?
計算効率は落ちてあんまり使う機会ないけどね。
440 :
デフォルトの名無しさん :2005/06/04(土) 17:15:19
モザイクをかけたい場合、画像にどのような演算を適用すればよいのでしょうか?
縮小→補間なし拡大 でモザイクになるよ。 win32ならStretchBltを駆使すれば簡単。
443 :
デフォルトの名無しさん :2005/06/05(日) 16:58:21
DCTについて質問です!画像がどのような性質を持っているときに, DCTによるデータ圧縮効果が大きくなるんでしょうか。
>>442 もう少し詳しく教えてください。拡大した後元の大きさに戻すのはどうするのでしょうか?
元の大きさに戻すために拡大するわけだが。
>>444 適当に縮小して、そのままもとの大きさに拡大するんだよ
>> 443 輝度が均一
448 :
デフォルトの名無しさん :2005/06/05(日) 22:28:11
>>447 さん
すいません。もうすこし詳しく教えていただけませんか?
DCTは圧縮効果を持たないって、 いちおう、突っ込んでおこうか
>>439 横レスごめん
>ところで、任意サイズのFFT(基数2以外のFFT)もあるのは知ってるかな?
参考資料あったら、ソースかURLか書籍名キボンヌ
>>450 あー。
数学の教科書的な物は知らないけど,FFTの入ってるほとんどのライブラリの説明書には簡単な説明が書いてあるよ.通常のFFTの原理知ってるならそれでも十分な理解が得られるはず.
GNUのGSLとか,IntelのMKLとか,FFTWの説明書あたり読んでみて.
この辺の説明書で読んだ気がしたんだが・・・.違うかも.
>>451 レスどうも
FFTの理解度はあまり自信ない…黒箱で使ってるだけなんだけど、
2^nの制限がうっとおしいんですよね。
とにかくレスありがとう
教えてもらったので検索かけてみます。
> 2^nの制限がうっとおしいんですよね。 ローパスフィルタとか作る場合は窓関数が必要なのも面倒だね
454 :
デフォルトの名無しさん :2005/06/07(火) 13:38:22
CxImage ってだれか触った?
CxImage VCに慣れてる人にはいいかも
検索キーワード:CG加工 IMA 新しい 画像ソフト ZZZ
フレームごとに必要のないメソードも含む クラスを生成するのってかなり遅くなるのかな
いいえ
画像センシングけっこういい発表もあった。 さっそくパクらせてもらいまつ
OpenCV の行列演算と boost::numeric::ublas LAPACK(正確にはboost::numeric::bindings::lapack) 速度はあまり変わらないのかな
>>460 よーしらんけど、汎用性じゃなく速度求めるならMKL or IPP + ICCあたり突っ込むのが定石じゃない?
速度求めるつもりだったけど なが〜い行列演算式をインプリメントするのに疲れて 手抜きしたくなった。
463 :
デフォルトの名無しさん :2005/06/11(土) 03:15:29
お前ら数値演算にはどんなライブラリ使ってますか? おいらは画像と絡んでいれば、OpenCVとかIPP。 純粋に計算だけならGSL。 どーよ?
464 :
学生 :2005/06/12(日) 00:44:37
みなさんはどのような企業でどんなお仕事をされてるんでしょうか? 教えてください。
大学で遊んでます。
職場で遊んでます
467 :
学生 :2005/06/12(日) 14:45:26
>>465 >>466 ありがとうございます。
当方、機械系の大学院一回生なのですが、
趣味でレタッチや動画の取り込み、調整、編集をしているうちに
画像処理の仕事に関心が出てきました。
そこで、どういった企業で、どういった仕事があるのか、どういったスキルが
要求されるのか気になっています。
電機メーカーの画像処理チップまわりのソフトウェアやハードウェア開発などが
やりたいなぁ、なんてことを考えているのですが、やはり電気・電子・情報学科の知識が
強い人じゃないと採用してもらえないかなぁ、と不安だったりしますし、
他にもどんな仕事があるかを知りたいとも思います。
所持している資格や役に立ちそうな経験は以下のとおりです。
・基本情報処理技術者(言語はCを選択。C言語プログラム経験はなし)
・TOEIC450点
・画像処理検定2級を秋に受けるので勉強中
・テキストエディタでWeb作成(簡単なJava組み込み)
・お店のWebページ作成のバイト
・Flashでタイピングソフトを作成
(アクションスクリプトの基本は一通り理解。CGIと連携させNETランキング作成)
・動画の画質調整の際、各種圧縮アルゴリズムや色空間、
フィルター処理アルゴリズムについて理解
ご意見よろしくお願いしますm(_ _)m
469 :
学生 :2005/06/12(日) 18:15:22
>>468 ありがとうございます!
ちょっと遅かったですね(汗)
よく見たら僕の担当教授が発表してますw
そういえば横浜に出張に行くって言ってたなぁ。
>>443 某キモヲタ大3年生ハケーソ!...って俺もその学生かOTZ
>>467 板違いな話ですまんけど。
おいら今年就活して画像ばりばり扱うところ(どっかの会社のデジカメ扱う部署)から採用されたんで一言。
多少学科がずれてても,採用して貰えるかもしれんのでまずは会社受けてみることだと思うよ。(おいらも機械系(+少し情報)だよ)
資格関連だけど、人から聞いた話と体験談。
・基本情報 : あんま関係無いらしい。この辺は資格よりも実際に作ったソフトの話をさせられた。資格の欄が埋まっていい気分だったけど。
・TOEIC : 無いと問題外だけど,最低500は越えてないと書くのも恥ずかしいよね。
・専門系 : たぶん,俺らの知ってる範囲は会社入ったらトリビアレベル。新しい事を学べる理解力とか基礎学力があればいいんじゃないの?
> 基本情報処理技術者(言語はCを選択。C言語プログラム経験はなし) これだけは確実に役に立たないと言える
473 :
学生 :2005/06/13(月) 22:39:59
>>467 内定おめでとうございます!
貴重なご意見、ありがとうございます!
>この辺は資格よりも実際に作ったソフトの話をさせられた。
困りましたw
何か打ちたいプログラムでもないと動けないです(汗)
夏休みに何かのC言語プログラムに挑戦してみたいので、
おもしろそうな処理を検討してみます。
>・TOEIC : 無いと問題外だけど,最低500は越えてないと書くのも恥ずかしいよね。
はい。500点以上とれない場合は履歴書に書かないつもりです。
毎日英語に奮闘しております!
>・専門系 : たぶん,俺らの知ってる範囲は会社入ったらトリビアレベル。新しい事を学べる理解力とか基礎学力があればいいんじゃないの?
ですよね・・・。
やはり、ポテンシャルを見極めて採用というスタンスが多いでしょうね。
しかし、うまく伝わるかどうか難しいですし、成績も悪いのでかなり厳しそうです・・・
今からできることは限られていますが、まだ夢を見ても許されそうですので、がんばってみます。
>>472 プログラムしてみます〜。
474 :
学生 :2005/06/13(月) 22:40:40
>>467 私の勤めている会社でよければ話聞きますぜ。
就職フェアでお待ちしてますんで。
#いかん、このネタ何度目だろう。
476 :
学生 :2005/06/14(火) 00:36:03
>>475 ほんとですか!?
どんな会社なのかなぁ?
>>463 boost::numeric::ublas
行列Aと行列Bの掛け算が
C=A*B
だけで書ける
速度はOpenCVの1/5ぐらいぽいかんじだけど
>>477 boostってしらんかったよ。
おいらピュアなC言語使いだから・・・。
そろそろC++を使い始めようかな?
479 :
デフォルトの名無しさん :2005/06/17(金) 21:57:20
480 :
デフォルトの名無しさん :2005/06/18(土) 02:27:36
>>学生 素直に機械メーカーに就職しとけって。 俺は機械科卒、制御系PGだったけど、 歳をとるにつれ、数式をプログラムに落とすのが出来なくなってきた。 ちなみに、画像処理もフィードバック制御と似たとこがある。 C言語を使ったことがないとあるけど、悪いことを言わんから、 やめとけ。
481 :
学生 :2005/06/18(土) 08:57:22
>>480 そうですか・・・
現実はとても厳しいですね。
ソフト関係はやめておきます。
ご助言ありがとうございました。
お仕事がんばってください。
>>479 どの辺がどう通らない?
#って、Fedora3じゃないけど。
>> 歳をとるにつれ、数式をプログラムに落とすのが出来なくなってきた。 年云々に関係なく、画像処理のコードを、全部自前で書くのはつらいと思うけど。 ツールやオープンソース、ネットや本のサンプルとか活用しない。 画像処理は年とってもプログラムできる数少ないジャンルなので、数学と プログラムがすきならそっちいった方がいい。
2chを信じて進路を決める馬鹿が居るな…
485 :
480 :2005/06/18(土) 11:37:58
>2chを信じて進路を決める馬鹿が居るな… 結構本音を語る場合もあるからな。 かといって、それが全員にあてはまるわけでもなし。 まぁ、参考程度に・・・だ。 とにかく、長く続けられるところに行くのが肝心だ。
言い古された表現だが ダ メ な や つ は 何 を や っ て も ダ メ
487 :
480 :2005/06/18(土) 14:00:19
>>486 おまえもそのうち、いやでも岐路にたたされるって。
人生なにが起こるかわからん。
おれは機械屋に転職したけど、正しい選択だったよ。
>>484 他人の言うことを聞かない馬鹿が居るな・・・
>>488 信頼できる相手か判断せず、盲目的に指示に従う馬(r
490 :
デフォルトの名無しさん :2005/06/18(土) 17:09:25
OpenCV で、 CvCapture hoge; がエラーになるのは何でですか? CvCapture* hoge; なら大丈夫なのに
>>487 自分の過去の選択を正当化したくなる気持ちはわかるが、その返し方はちょっとかっこ悪い。
>>485 で「全員にあてはまるわけでもなし」と言っておきながら、自らの主張には「いやでも」ってね・・・。
誰もお前の生き方を否定なんてしてないよ。
スレタイ嫁
人生絵巻とかいうオチか
494 :
479 :2005/06/20(月) 22:28:01
: undefined reference to `__builtin_vec_delete' collect2: ld はステータス 1 で終了しました などと出てしまいます。 facedetector(linux).zip を unzip してできる facedetecter 下に bin というディレクトリを作り そこで gmake -f ../Makefile したところ、 libdetect.a が無いと言われたので facedetect/i386_linux1/libdetect.a を bin の下にコピーしました。 すると上記のようになりました。 そもそも、i386_linux1 下にバイナリがあるのですが、 例えば rot_test_ext を実行すると、 *** glibc detected *** double free or corruption: 0x080eeca8 *** と出て abort します。 rot_test は普通に実行できてるみたいです。 B
画像処理は年とってもできるのかな 最近boostとか勉強してると、そうじゃないような気がするときがある
496 :
デフォルトの名無しさん :2005/06/22(水) 16:01:36
選択した範囲でマスクをつくる というのをやりたいのですがさっぱりわかりません 画素ひとつごとに1か0を与えて作るらしいのですが・・・ 言語はC++です どなたか教えていただけませんか? 解説しているサイトでもうれしいです
>>496 あなたがどこまで知りたいのかさっぱりわかりません
マスクの目的は?
これはまた難しい質問だなぁ
マスクの目的はマスクでは?
もうちょっと具体的になにしたいのか書け。
正体を知られないようにかぶるもの バレバレの場合もあるがな
領域内は M(x,y) = 1 領域外は M(x,y) = 0 とするマスクをつくって、各変換係数に対し ビットシフトするというのを作りたいと思ってます
C言語をはじめたばかりであまりわからないのですが、 ビットシフトはなんの役に立つのでしょうか?
またこのネタかよ やれやれだぜ。
いまどきαチャネル使う罠
Mask= vigra::Bimage に適当なfunctorを作って適用 functorはboost::functionで作る
>495 boost と画像処理に何の関係が? C で書こうが、Perl で書こうが、C++ で書こうが、Java で書こうが画像処理は画像処理だと思う。 本質はアルゴリズムにあるのであってコーディングじゃないんじゃないかな?
使ってもSTLまでだなあ・・・boost使うほど複雑なのやったことねー
アルゴリズムのみが重要ならMatlabで実験すればいい。 Cで書かないといけない場合に最小の手間でコーディングするために boostとかいろいろな便利なToolが必要になる
Cでboostですか……
cでなくてc++
C++ で書かなきゃならないときは、 無茶なチューニングのために面倒な記述をすることが多いので、 そのまま成り行きで結局 stl すらも使わないことが多いなぁ・・・ ちょっと反省してテンプレート使ってみるか。
OpenCVのコードみてると 汚いコードすぎで 気が狂いそうになる 綺麗にかけて、なおかつ高速な方法は テンプレートだと思ってたけど、そうでもないのかな クラスの継承とか使った時点で計算時間が遅くなってるのかな 誰か詳しい人教えて
>514 詳しくない人だが、質問の意図がよく分からない。 テンプレートと継承のどちらでも実現できることはテンプレートで実現した方が実行時の速度が高速になる 可能性は高いだろうと思う。 またテンプレートと継承を組み合わせている場合でも、ポインタを経由しない場合については静的に型が 分かるので効率はほとんど落ちないと思う。
>>514 どの辺を読んだの?
参考までに教えて.
517 :
514 :2005/06/24(金) 13:57:19
hidhaarfeatureの関連
518 :
デフォルトの名無しさん :2005/06/25(土) 03:01:47
ダメだ さっぱりワカラネ CxImage… と言うかプログラミング
OpenCVbeta4とOpenPNLを組合せて使ってる人いる? OpenPNLがOpenCVbeta3のファイルを使ってるみたいで OpenCVとOpenPNL両方のヘッダーファイルをincludeすると コンパイルできない 解決策はないのかな・・・
522 :
デフォルトの名無しさん :2005/07/02(土) 15:34:31
すいまんせんが、ppxという画像形式について教えてください。 なんでもUnixでは標準的らしいのですが、どこにもファイルフォーマットの仕様が載っていません。 月曜までに32bitカラーの画像をppxで出力せよ、という宿題をもらいました。
> なんでもUnixでは標準的らしいのですが、 それ、たぶん嘘。
PPM(Portable Pix Map)?
MAG形式でいいじゃん('A`)
>>522 Unixで標準といえばこの辺かな。
ppm/pgm/pbm→ヘッダに最低限の情報をテキストで埋め込んだシンプルな画像形式。総称してpnmとも。
ppmはフルカラー、pgmはグレイ、pbmはモノクロ画像を扱う。それぞれ、テキスト版とバイナリ版がある。
xpm→Cのインクルードファイルとしても使えるように工夫された純テキストな画像形式。パレットカラー専用。
xbm→やはりCのインクルードファイルとしても使えるがこちらはモノクロ専用。
527 :
522 :2005/07/02(土) 18:05:25
すまんppmだった。どうりでググっても出てこないわけだ。
ピーター・ポール・アンド・マリーだな。
>>443 突込みがすでにあるけど、圧縮じゃなくて、エネルギーを特定の基底ベクトルに
集中させる効果のことだね。(集中させておいて残りを捨てるから、圧縮になる)
画像の自己相関関数が、画素と画素の距離の遠さに応じて指数関数的に
減少する場合に、離散コサイン変換は、カルーネン・レーベ変換と一致する。
KL変換は、最小二乗法という観点で理論上の最適解だけど、圧縮対象の画像の
統計的な性質が変わると変換のための直交ベクトルが変わるし、計算も非常に
重い。
離散コサイン変換は、画像の内容に関係なく変換のための基底ベクトルとして
コサイン波を決めうちで使っているわけだけど、いわゆる自然画は、その
自己相関関数を調べてみると最初に書いた「自己相関関数が、画素と画素の
距離の遠くなると指数関数的に減少する」という傾向にたいてい従っているので、
結果的に、カルーネン・レーベ変換に近い性能を与えることができる(ことが多い)。
ああ、なんか変な日本語ですまん。
ためしに小さな共分散行列を作ってみてKL変換の基底ベクトルを求めてみて、
それとコサイン波を比べてみるといいよ。
>>522 もう月曜になっちゃったから自己解決したことでFA?
>>529 おお!非常にためになる解説!
自己相関が指数関数的に減少する場合DCTがKL変換と一致するって解釈は画像圧縮の分野じゃ常識なの?
初めて気がついたよ。
531 :
529 :2005/07/04(月) 23:10:32
>>530 DCTとKLTの関係については、たぶんあんまり知られてないんじゃないかなぁ
この種の理論的な分析は、DCTがJPEGの基本技術として採用されるよりも前の
時代には盛んに議論されたけど、ひとたび規格になってしまうと、急速に業界
関係者の興味の対象からはずれてしまう。規格が決まったなら、大事なのは
実用化であって、いかにしてそれを早く軽く実装するかという方向に研究が移って
しまうから・・・
たいていの解説書は、『高周波成分を落としています』としか説明しないし、
それでいて、「だったら、なぜDFTじゃなくてなぜDCTなの?」 と、いう部分に
まで踏み込んだ解説はあまり見かけない。DCTを使うのはアタリマエという暗黙の
前提のもとに、もっぱら、DCTの高速算法に関する数学的な説明のほうに力を
入れているはず。
KLTを使った画像圧縮は、固有ベクトルを求めるのに 時間かかりすぎるから廃れたんだと思う。 解析的な手順で求まるDCTと違って、反復法でしか 値が求まらない固有ベクトルの計算は不安定(´・ω・`)
「水が飛び散る」という効果を考えているのですが、 距離で減衰させたりしてもいまいちリアル感が出ません。 なにが足りないんでしょうか?
>>532 つーか,基底ベクトルも保存せないかんから,DCTと比べて不利じゃね?
俺の思い違いなのか?
535 :
529 :2005/07/05(火) 22:10:07
ん? KTLがすたれたことを嘆いているわけではないぞ??? つーか、すたれる以前に、そもそも実用に供されたことは、ほとんどない。
圧縮にはあんま使われないみたいだけど,パタン認識の分野じゃメジャーな方法になってるよ。
>>534 例えば8*8ドット単位なら64次元だから64の基底ベクトルが必要。
でも寄与率の小さい基底を省略するから無問題。
>>533 手本があるのならば、その画像を例示せよ。
自分の脳内ならば、まぁガンバッテね、ぐらいしか言えん。
いいアルゴリズムができたのならば、特許なんてとらずに、
みなさんに公開してほしい、以上。
539 :
529 :2005/07/06(水) 23:52:47
>>536 固有ベクトルというか、「固有顔」の足しあわせという形式で人間の顔データを
直交展開し、その展開係数の組み合わせによって人間を区別するという話とか?
(顔認識については、オレは完全に素人なので、勘違いだったらすまぬ)
主成分分析と一緒?
KL展開=主成分分析
542 :
デフォルトの名無しさん :2005/07/08(金) 21:24:55
ここでいいのかな・・教えて君ですいません。 小さな画像をまとめて、一つの画像にしたいのですが、 フリーのソフトとかでするんでしようか?
ここじゃないです
544 :
542 :2005/07/08(金) 21:36:37
すいません、質問するまでもスレが1000になってたもので・・
545 :
542 :2005/07/08(金) 21:38:06
誤爆・・スレ立てるまでも・・でした
そもそも板違いだという。
548 :
542 :2005/07/10(日) 10:02:55
>>546 有り難うございます。
すいません、失礼しました。
教えてください。 24ビット true color のビットマップを減色して256個のパレットをもつ8ビットのピクセル形式にしています。 パレットのエントリは予め決まっており、現在は NearestColor という方法で減色しています。 オリジナルのピクセルの色に「最も近い色」は、現在 distance2 = (r1-r2)^2 + (g1-g2)^2 + (b1-b2)^2 が最小になるようなパレットエントリを探して決定しています。結果には不満はないのですが、すべてのピクセルについて distance2 を256回求めなければならず処理が遅くて困っています。なにか有効なアルゴリズムみたいなものを ご存じありませんでしょうか。
メモリ無尽蔵で常にパレットの256色が固定ならあらかじめ24bitフルカラー16M色全ての最適色をテーブル化しとけ
>>549 distance2が0(或いは10程度以下?)になったらそこで打ち切るとか、
一度計算したrgb値はパレット番号とともにリングバッファに放り込んでおくとか。
回答ありがとうございます > メモリ無尽蔵で常にパレットの256色が固定ならあらかじめ24bitフルカラー16M色全ての最適色をテーブル化しとけ 実際のところ、メモリは無人像ではないですし、パレットは減色したい画像によって変わります。 > distance2が0(或いは10程度以下?)になったらそこで打ち切るとか 0で打ち切るのは今もやっていますが、パレットエントリには微妙なグラデーションも 含まれていて、distance2 が一定以下で打ち切るのはやりたくないです > 一度計算したrgb値はパレット番号とともにリングバッファに放り込んでおくとか。 これは意味がわかりません。オリジナルの画像のピクセル値は1万色を超える場合も ありますので前に計算した値を保存しておいても有効ではないですし、探し出すのも 大変です。 色の値は実質 RGB 各一バイトの24ビットの数値です。これをソートして二分探索する と速そうなのですが、B値に対してR値の誤差が過大評価されてうまくいきません。 distance2 は計算が遅いですが RGB 各値について等価です。
俺ならこんな感じの処理を入れるかな vector<int> pal_list[16][16][16]; for(int i = 0; i < 256; i++) pal_list[palette[i].r / 16][palette[i].g / 16][palette[i].b / 16].push_back(i); for(int r = 0; r < 16; r++) for(int g = 0; g < 16; g++) for(int b = 0; b < 16; b++) if(pal_list[r][g][b].empty()) pal_list[r][g][b].push_back(getNearestColor(r, g, b)); 細かいことを言うと、もっと色々処理が加わるわけだが。
>>553 漏れならRGB夫々5bit(←古来より普通な感じ)か6bit(←最近ならこれか?)にする。
パレットエントリって幾つくらい?
そのdistance2が妥当とは思えないんだけど.
かわりのより妥当なものは?
>>549 ヒント: ボロノイ図
3次元ボロノイ図の高速な近傍探索アルゴリズムが存在するのか知らないけど、
とりあえず適当なことを言ってみる。
そうなんだよな。パレットエントリっていうのは、三次元空間に不規則に散らばった点。 任意の1点からみた最近接のエントリ探索と同じ論理
>>556 まじ?
わしも565か666bitでdistance2つかっているけど、代わりの手法があるなら是非知りたい
>>558 ニューラルネットで連想記憶すれば高速に探索できそう。
n次元空間におけるユークリッド距離が最少になるエントリを検索するって、 結局パターン認識とかと同種の問題になるよな。
で、パターン認識とかではどうやってるの?
オレがやってるのは以下の2手法。 ・領域分割 RGBそれぞれ、上位4ビットだけを見た、4096(=16×16×16)の色空間ブロックに分解し、 それぞれの領域について、その領域内にあるパレットのリストを持ち、 検索色について、その色が所属するブロックと、隣接するブロックのパレットリストから検索する。 ブロック内に検索対象パレットが存在しない場合の処理はちょっと面倒。 厳密解じゃなくなるけど、領域立方体の頂点になる8点のそれぞれについて、最近傍になるパレットを算出しておき、 その中から探してる。 ・キャッシュ ハッシュで、今までに検索した「色→パレット番号」の履歴を保存しておく。 全ピクセルに持ってたらやってられないので、LRUで使われてないエントリは消していく 正しくは、ハッシュじゃなくて、衝突したら古いのは消してるけど、 65536エントリぐらいあれば、滅多に衝突しないので結構使える。 「オリジナルの画像のピクセル値は1万色を超える場合」ぐらいなら、 1万エントリを記憶できるキャッシュだけで十分な気がする。 640x480でも、30万ピクセルから、30倍は速くできるな。
>>564 549じゃないけど参考になった。トンクス
私は手抜きハッシュです
ハッシュ値は以下で求めてます
(B & 15) + ((G & 15) << 4) + ((R & 15) << 8);
値がダブった場合は上書きしてます。
>>550 VGA(32万画)の場合は相当無駄〜な計算することになるけど。
実に50倍以上。
549です。 回答下さったみなさん、ありがとうございます。 ハッシュは、すぐに試せる出来合いのコンテナクラスをつかって 文字列−値 の ものをつかったので処理速度はともかく、画面で見る限り、かなりテーブルの コリジョンが起こっているらしく、ノイズがのりました。 ハッシュ値の工夫をして、色データ:エントリ番号 の構造にトライしてみます。 ブロックによる区画化は、すぐに実装出来ないので気長にやってみます。 ありがとうございました。大変勉強になりました。
568 :
デフォルトの名無しさん :2005/07/12(火) 01:50:39
>>566 手抜きだけど、シンプルで高速そうですね。
コリジョンがどの程度起きるか気になるところだけど、ちょっと感動。
メジャーな方法なんですか?
569 :
デフォルトの名無しさん :2005/07/12(火) 02:13:12
>>539 遅レスかつ個人的な見解ですまんけど。
識別問題に第k成分まで使ってパラメータ空間を〜なんてやつは眉唾。
SVD使う事には反対しないけど、固有ベクトルの選択方法を誤ると識別性能はがた落ちするよ。
例えば、二次元平面上に二つのクラスがV字上(それぞれの直線上にそれぞれのクラスのデータが存在)に分布してる場合、第一主成分はV字の真ん中を通るベクトルになる。
こいつにデータを射影すると見事に二つのクラスが混合しちゃうわけで。
うまく性能でないから固有ベクトル増やしてマハラノビス〜とか目も当てられない。
549です。566さんとは違うハッシュ値なんですけど > コリジョンがどの程度起きるか気になるところだけど、ちょっと感動。 ハッシュ値の発生方法にも依るんだろうけど 550x400 で43719色の場合 1%程度のコリジョンでも、画像上ではかなり目立ちます。これだったらハッシュ法は 採用したくないです。まだ改良の余地があります。 あと、元画像からどの程度最適化されたパレットを得るかにもよりますが、最適化がかなり よい場合は区画化のほうが有効のような気がしてきました。すくなくても、自分の色の値から 近いところから検索を始められるのはかなり有利なようです。こっちをまずやってみようと 思っています。
>>569 SVMによる判別分析は、事前にカーネルで高次元空間に
写像してから行うのが定説だと思うけど(´・ω・)?
>>568 画像依存ですがヒット率は5割〜8割だった記憶が。(まあ、5割でも単純計算で2倍速ですが。。。)
ビット数を増やせば増やすほどヒット率は上がっていきますが、1次キャッシュに載る程度のほうが速かったのでそんな感じに(^^;
自分で考えて実装したものですけど、きっと誰かの車輪の再作成になっていると思います。
コリジョンしたら再度distance2を256回やる羽目になるだけで画質の影響はないんでは?
全部覚えるパターンは拡散誤差を入れると色数が膨大に増えてメモリを食うのでやめた。
>>568 最適な画像ではなく単に速さだけでよいなら、5:5:5の15bitのハッシュ(テーブル)を
用いて32K色 -> パレットエントリへの変換を行い1ピクセル出力した後、出力した色
と出力すべき色の誤差を拡散させて処理を続ける、という誤差拡散で済ませるのが
良いと思います。
フルカラーから32K色へ落とす処理としては、単に各色5bitで量子化するほかに、
パターンディザを用いることも可能です(フルカラーの自然画像に対してはあまり
良くないけど)。
なんか微妙に話題がずれてる
575 :
デフォルトの名無しさん :2005/07/12(火) 16:36:26
>>574 一瞬、ずれているとオレも思ったが、
>>573 の提案は、
「前処理としてRGB独立の減色でまず32K色まで落とし、
32K色に対する変換テーブルで、目的のパレットに
変換する」と、いうことだと思う。
そうか? > フルカラーから32K色へ落とす処理としては....パターンディザを用いることも可能です とかで、ディザつかってそれからパレットエントリを求めるって倒錯じゃないだろうか
誤差分散やパターンディザは、パレットエントリ決定後の最終処理だと思うが
578 :
デフォルトの名無しさん :2005/07/12(火) 18:53:51
2枚の画像をアフィン変換により合成する方法を教えて下さい。 参考になるようなWebページがあれば教えて下さい。
ヒストグラム作成→色空間分割*255によるパレット生成→誤差分散しながら各画素のパレット番号決定 という流れが普通かなあ(^^; ヒストグラム作成時にある程度間引くのか、現代のメモリ満載PCなら大丈夫と完全ヒストグラムを作るかは選択だと思うけど
今はパレット生成の話はしてないよね?
>>576 倒錯ではあるんだけれども、任意のパレットに対して適切にパターンディザを
行うのはコスト大なので。
代替策としてRGB各5bitへの量子化のときにパターンディザで処理しておくと、
マッハバンドのとことかそれなりにパターンディザっぽい画像が得られる。
それは話が逆。ディザを得るのは目的じゃない。一種の誤差修正なんだから。 パレットエントリを決定する前に、原画を細工してディザを加えるのは全くナンセンス
>>583 「パターンディザ」っていうのは、表現方法の一種として
ディザを得ることを目的とする場合に使われるもんだと思うけど・・・?
それなら最初から話題からずれてるよ
>>583 まあまあまあ・・・
ナンセンスとまでは言えないよ。そりゃまあ、「処理の順序が逆じゃないか!」
と、言いたい気持ちはよく分かるし、オレも、あんまりやりたいとは思わないけど。
ディザや誤差拡散をサポートしていない減色ツール(あるいは減色ハード)や
二値化ツール(二値化回路)を使わざるを得ないときに、オリジナルの画像に
ノイズを載せてから減色することもないではない。
>>584 いや、そういう話をしているわけじゃないんだが。583氏が問題視しているのは、
画像処理のどの局面で交流バイアスを与えるか、と、いう順序の問題のはず。
587 :
584 :2005/07/13(水) 03:37:49
パターンディザは視覚的効果のために用いられることがある、
っていう基本的なとこが無視されてるような気がしたので。
(そもそも変換誤差最小を目指さないということ)
任意のパレットに対するパターンディザ風の処理を、
>>583 の主張するようなやり方で行う(現実的な)手法って、知られてるのかな。
>>587 視覚的効果のために使うって、本当にそんなに使う?
映像上の特殊効果としてカラーの画像の装飾的なパターンを
重ねる場合なら、そもそも減色なんてしないよなぁ・・・
おそらく、
> パターンディザは視覚的効果のために用いられることがある、
> っていう基本的なとこが無視されてるような気がしたので。
ってのは、基本的なことではなくて、周辺領域の話じゃないかな。
基本は、ノイズシェイピングの手段としてのディザだもん。
画像関係のツールやライブラリやLSIを設計していると、ついつい、
深みにはまって、ディザだの誤差拡散だのに、多芸な機能を盛り
込んでしまったりするけど、まあ、はっきり言ってユーザーからは
必要とされてない作り手の遊び。自戒を込めていうんだけどね。
589 :
デフォルトの名無しさん :2005/07/13(水) 08:33:53
画像処理初心者です。 ある画像について、画質を評価したいのですが、 元画像と圧縮後の画像の比較や、光学系機器通過前と後の比較などといった 複数の画像間で定義されたものではなくて、 一つの画像に対して定義された画質の指標というものはありますでしょうか? 漠とした質問ですみません。
エントロピー
591 :
デフォルトの名無しさん :2005/07/13(水) 16:16:49
官能試験しかしらない。
549です。
パレットエントリを予め区画化しておいてから、最短距離を求める564氏の領域分割の提案を試しました。
テスト使ったのは、
・画像1 = 色の種類は少ないが微妙なグラデーションが多い人物写真 336x560、 51952色
・画像2 = 色の種類は多いがグラデーションが少なめの街並み写真 512x384、104730色
256色への量子化によるパレットエントリの決定
Gervautz-Purgathofer Octree Color Quantization Algorithm(
http://www.microsoft.com/msj/archive/S3F1.aspx )
単純な巡回によるエントリ番号の決定では量子化過程も含めて 画像1 で 3723ミリ秒、画像2で 3870ミリ秒
かかります(私のPCでの3回の平均)。
今回は区画を区切ってオリジナルピクセル値が属する区画にエントリが存在するときはその中の最短値を、無い場合は
256回巡回するという単純な論理です。
RGBそれぞれ上位4ビットを使って4096区画の場合は、画像1は890ミリ秒、画像2は1437ミリ秒と3,4倍の効率化
上位3ビットの512区画の場合は、画像1は274ミリ秒、画像2は287ミリ秒と実に13倍の効率化
上位2ビットの64区画では、画像1が665ミリ秒、画像2が587ミリ秒と6倍くらいの速さです。
画質は、4096区画の場合は単純巡回の場合とほとんど同じですが、画像1では微妙なグラデーションに差があります。
512区画ではグラデーションの差が拡大しますが画像2では見分けがつきません。
64区画では、さらに単純法よりグラデーションの結果が異なりますが、やはり画像2では見分けがつきません。
この方法の成否は、オリジナル画像からのパレットエントリを決定する量子化過程が重要です。その意味でも上記の量子化
は満足すべき結果を与えてくれました。なにより、今回の質問の処理よりものすごく高速です。
以上より、RGBおのおの上位3ビットを採用する512区画にすることにしました。最終的には誤差分散をしているので
得られる画像は単純法と見分けがつきませんし、10倍以上の速さは体感速度としても十分で大満足です。
みなさん、ありがとうございました。
>>589 解像力を見るなら画素値の差の平均とか、ヒストグラムの形状とか。
>>592 俺(=553)が書いたのは564の方法そのものなんだけど、
>今回は区画を区切ってオリジナルピクセル値が属する区画に
>(中略)
>無い場合は 256回巡回するという単純な論理です。
これは前処理で先に計算しておける。(553の後半)
553では端折って区画内の代表点に一番近い色だけにしているが、
実際には区画内の色が一番近くなる可能性のある色全てを求めて
おく必要がある。
これをやってないから
>4096区画の場合は、画像1は890ミリ秒、画像2は1437ミリ秒と3,4倍の効率化
これが遅くなっているんじゃないかな。
あと、564も書いているけど、エントリが存在する区画では、同じ区画内だけでなく
隣接する区画からも色を探さないといけない。
同じ区画内よりも、隣の区画に近い色がある可能性があるため。
これをやれば
>画質は、4096区画の場合は単純巡回の場合とほとんど同じですが、
>画像1では微妙なグラデーションに差があります。
これも解消されるはず。
ちなみに、この処理も前処理で可能。予め隣接する区画をマージしておくだけ。
本当は計算しないといけない区画は隣接する区画全てではないし、隣接する区画を
計算する必要が全くない場合もあるが、条件分岐等を入れるよりは速くなると思う。
ある程度区画が細かくてパレットが綺麗に分散していれば、ほとんどの区画が
隣接区画全てをマージしても変化無しのはず。
549=592 です。 > 俺(=553)が書いたのは564の方法そのものなんだけど、 はい、実はあのコードだいたい分かったのですがわたしは C++ ユーザじゃないので ちょっとその・・・。失礼しました、ありがとうございました。 あとは、おっしゃってる意味は分かります。該当エントリに無い場合はどうするか、 あっても、最短エントリがそこにあるとは限らない、っていうことは理解できます。 今回は、なるべく単純にしたので、無い場合は256回にしてしまいました。 区画を細分化すると、エントリが無い場合が多くなり、今回の方法では時間がかかり ます。逆に大雑把にしていくと、単純巡回に近づいてやはりスピードダウンします。 今回のような方法では、パレットエントリの数と区画の数がコンパラな場合が具合 いいだろう、とだいたい予想がつきますよね。 あっても無くても周囲を見るならはじめから周囲を含む区画にしておく、というのは ちょっと考えただけでも等価じゃないですね。 あと、パレットエントリを決定する色の量子化がかなりよいものだと、今回の画像1の ような場合は、RGB三次元空間の中でパレットエントリがかなり局在化します。あらかじめ 格子点の最短距離をもとめておくのはなんか無駄なような気がしていますが、どうなんでしょうか。 失礼しました。もうすこし周囲の区画を見ることをやってみます。
>>595 エントリの無い区画に対して予め計算しておくのが遅くなりそうなら、
初めてそういう区画の処理をしたときに、情報をキャッシュしておくといいかと。
どんな種類の画像でも、似たような色というのは何度も出てくるから、
キャッシュの効果はかなりあるはず。
549=592=595です。
で、できました!
594氏の指示通り、予め該当区画を囲む計27区画のエントリをマージしておくことにより、
4096区画で画像1、画像2とも単純巡回法に比べてちょうど10倍ほど高速になりました。
画質は単純巡回のときと全く同じです。素晴らしいです。
ありがとうございました。
>>596 ご教示ありがとうございます。今回は上に書いたとおり、予めエントリ番号の方をマージしておく
ことにより周囲を見回すことが出来ました。
549=592=595=597です。 数値で記録を残しておきます。自宅PCです。 画像1 2933 ----> 296 ミリ秒 画像2 3034 ----> 309 ミリ秒 これは色の量子化過程を含んでいるので、純粋に NearestColor の方法 としてはもっと高速化されていると思います。
すみません、あまりにうれしくて、みなさんご存じの "Lenna" 画像も試してみました。512x512,148279色 3956 ----> 482 ミリ秒 でした。 ほんとうにありがとうございました。ここで質問してよかったです。
その嬉しさのお裾分けに、ソースを公開したらどうだろう。
>>600 承知しました。今晩までお待ち下さい。
ちなみにソースは Delphi です。
C++ ユーザの皆さんもパスカルは擬似コードとしても読めると思います。
549ではないが、LBGクラスタリング使った自作減色プログラムに564+594を適用したら20倍程度速くなったよ 区画処理+マージ処理+キャッシュをフル実装。 512×768のエロ画像で検証。ありがと。
605 :
589 :2005/07/15(金) 07:53:36
>>590 ,
>>591 ,
>>593 ありがとうございます!
画素値の差の平均というのは、隣接する画素値についてですかね。
とりあえず、頂いたキーワードで論文など探してみたいと思います。
エントロピー最大の白色ノイズは高画質ですか? 絶対的な画質の指標ってのは難しいね。
607 :
566 :2005/07/16(土) 13:16:07
>>564 >>549 どうにも速そうなので実装しようと考えて隣接8ブロックだけではまずそうなことに気づきました。
以下が隣接8ブロックではダメな例。
[16,16,16]と[48,31,31]というパレットエントリのみがある場合に[31,31,31]の
パレット番号を探すと自動的に[16,16,16]になる。
([31,31,31]は[16,16,16]の区画でかつ[48,31,31]は隣接区画ではない)
ところがdistance2は
distance2([16,16,16], [31,31,31])=675
distance2([48,31,31], [31,31,31])=289
ちゅうか、隣接26ブロック?
あぁ、確かに隣接だけだと駄目だね。 同じ区画内で最も遠い2点は√3の距離にあるから、 2つ隣まで届いちゃうね。
ま、区画化+マージはそういうロジックでエントリを見つける。ということで納得すると。 パレットエントリの数が少ないとどっちにしろ単純に計算したほうがいいだろうし
中心の区画からみて立方体じゃなくて球で切り取るとすると、27区画マージのつぎに 精度を上げるのは何区画にするべきだろうか
√3の距離は頂点方向だから、この方向は頂点を接する一区画で十分だから面方向に あと一区画ずつ足すと27+9x6 = 81区画ですか?
あーそうでもないか、頂点から√3の距離すべて覆うには81区画じゃ足りない。 5x5x5 だと完璧だけど無駄なところがあるかも
614 :
デフォルトの名無しさん :2005/07/20(水) 17:18:54
局所平均をとるときに、3×3より5×5でやったときの方が画像がぼけるのはなんでですか?
それがそのまま答えだと思うが
ツ、釣りだよね.......
1x1 だとなぜぼけないか、考える!
先生、2x2だと何故か移動します。
釣りだと思うけど、真面目に答えようと思うと「ぼけとは何ぞや?」という 命題にぶつかってうまく言えないなぁ 実は、かつて 「高周波成分が落ちると、なぜボケるんですか」 と、質問されて返答に困ってしまったことがある・・・
ウェーブレットで画像圧縮するソースプログラムくださいませんか。 急用なんです。お願いします。
>>614 とりあえず1次元で考えて、フィルタカーネルの離散フーリエ変換(≒周波数特性)を計算してみるとよい。
単なる移動平均フィルタの場合、カーネルが長くなるほど高周波成分が早く減少するのがわかる。
「高周波成分が落ちると、なぜボケるんですか」といわれたらそれまでだがw
>>626 おまいさんの使ってる言葉が理解できるような人間ならそもそもあんな質問しねーよ。
ちったぁ物考えろ。
628 :
デフォルトの名無しさん :2005/07/21(木) 03:34:24
OpenCV + IPP + Intel C コンパイラ が 行列計算でも最速って本当?
>>628 結構早いですが、最速かどうかは知りません
>>628 画像処理に特化せず、科学技術計算関連だったらMKL+ICCの方がいいと思うよ。
>>620 「かつて」ということなので今はその命題をクリアしてるのでしょうが、
ボケという現象を、顕微鏡の対物レンズのNAと分解能の関係からナイスに説明できませんでしょうかネ。
いきなり顕微鏡なんて持ち出さずに、 普通のカメラの被写界深度と錯乱円の関係でも考えてみたほうがいいんじゃない?
原図より高周波成分が落ちることを、ボケる、と定義する
「電話の声はモワモワして聞きとりづらいダロ」 というのは、どーかナ。
bmpで縦軸を中心に反転表示させたいのですが無理です。 どなたかできるようにしてもらえますか? ○| ̄|_ ⇒ _| ̄|○ こんな感じにさせたいのですが・・・
637 :
636 :2005/07/23(土) 22:48:41
forのある行に対応するコメント書いてみろ
ひゃぁ〜、久し振りにグローバル変数を関数の戻り値の代わりに使うプログラムを見たよ。
>>636 横着せずに、一旦メモリ上に読み込んでから反転処理をし、その後ファイルに書き出した方がいいぞ。
それから、言語の勉強もしような。
640 :
デフォルトの名無しさん :2005/07/24(日) 19:05:30
線に強弱が付いた(=場所によって太さが違う)ベジェ曲線を描画したいのですが、 これという手法があったら教えていただけないでしょうか
まあがんばれ
>>640 習字で書くような力強さのある字なのか、
それともある法則で書ければよいのか。
644 :
640 :2005/07/24(日) 22:36:37
>>642-643 お付き合いありがとうございます。
強弱の値自体は機械的なのですが、それでもどちらかというと習字っぽい方が理想です。
ここの猛者の前では恥ずかしいのですが、一応今迄やって失敗したやり方を書いておきます。
(a)強弱の値に大きさが比例した円を、ベジェに沿って敷き詰める
(b)ベジェを直線で近似し、各直線を元に強弱に応じた台形っぽいのを作り、台形を塗りつぶしで描画する
(a)はベジェのパラメータのデルタが上手く取れず、最悪に備えて無駄がもの凄い生じてしまうか、
あるいは無駄を出さないように円間の距離を一々測ったりで重くなってしまいました。
(b)はつなぎ目がどうも上手くいきませんで・・・
また、ちゃんと前の線とつながるような台形を作ろうと思うとやっぱり重く
(a)(b)とも何かを参考にした訳ではないので、もの凄い無駄をしているんだろうなと思います。
改めてよろしくお願いします。もちろん(a)(b)は無視してください。
645 :
デフォルトの名無しさん :2005/07/24(日) 22:55:38
とおりかがりのもんですが。 ●曲線の法線から、その半径の距離だけ離れた点を求める。 ●その点に対してベジェ曲線で補完する。 ●こうしてできた閉領域を塗る。 という案はどうですか?
眠い頭に浮かんだいい加減な方法。検証無し。 ベジエ曲線上の各点P(i)に対して、法線方向にP(i)での太さだけ進んだ点をP'(i)とし、P(i)からP'(i)とは逆方向にP(i)での太さだけ進んだ点をP''(i)とする。 点列P'(i)に対して最小二乗法などを適用して適当な曲線にする。P''(i)も同様。 これら2本の曲線に囲まれた範囲を塗りつぶす。 太さの変化や曲線の変化が激しいところでも誤差を保障するのは面倒。 素直に各点で円を塗りつぶしたほうが速いかも。
647 :
646 :2005/07/25(月) 00:51:20
というかP'(i), P''(i), P''(i+1), P'(i+1)を結ぶ台形でいい気もする。 正確さにこだわるなら別だけど。
>>644 (b)の線で高速化を考えるのが良いかと
(b)はAutoCADのポリラインそのもので、AutoCADでは台形の連続でも継ぎ目を補間しつつ、
高速に描画しているので、速くする方法があるんでない?
どう高速化するかまでは知らんけど、AutoCADのプログラマとの知恵比べということで。
>>640 細かいことだけど、ベジェじゃなくてベジエ(ベズィエ)ですよ〜
>>649 Googleで検索してみますた
ベジェ の検索結果 約 30,500 件
ベジエ の検索結果 約 10,500 件
ベズィエ の検索結果 約 31 件
ベジェ優勢のもより・・・どーでもいいけど
俺は会話でも「ジェ」を一体化せずにちゃんと「べ・ジ・エ」と3音で発音してるぜ!
英語読みだとベイズイェイじゃねーとか言われるので、外国語をカタカナに開くときの表記に文句つけるのはやめといたほうがいーぞ
ラルクアンシェルと発音して笑われる>652がいるのはこのスレですか。
発音や表記の問題はすれ違い
発音スレはここですか?
どーでもいいことだけど,P(i)うんぬんの (i) がまんこに見える。
きみきも〜
使用前 ( | ) 使用後 ((i))
がまんこ って何? かえる?
キミルソン・キムジョギル親子について
がまんこ の使用前を脱がさないで 画像認識するにはどうすればいいでしょうか?
つまらねえ方向に脱線するのうぜえ!夏の害虫どもコロスゾ!!
>>663 コロスゾなんてネット上で煽っても意味ねーじゃん。(プゲラ
うぜぇならごちゃごちゃ言わずにネタふりゃいいじゃん。
665 :
640 :2005/07/26(火) 23:12:38
申し訳ないです、昨日は修羅場で家に帰れずじまいで。
皆さんのレスを一通り試させて頂きました。
曲線補完の方法は勉強不足のため、まだどうも上手い具合に行ってません。
どうも太さの比率にムラが・・・。今度の休みに資料を集めて再挑戦してみます。すいません。
とはいえ、直線で近似したあと、
>>645-647 の方法(台形仕上げ)を使わせて頂いたところ
私の低スペックPCでも一瞬で綺麗な線を描画することができました。
印刷目的じゃ無いならば、もうこれで御の字のようです。
AutoCADの方には適いませんが、これからカリカリにチューニングしてみます。
皆さんレスありがとうございました。
666 :
646 :2005/07/27(水) 04:09:21
今見たら646は645そのものだった……orz。やはり眠い頭で書くもんじゃないな。
667 :
デフォルトの名無しさん :2005/07/27(水) 12:16:19
windowsでlibjpegを使ってjpegを操作したいのですが、 jpgsrc.v6b.tar.gzをダウンロードし、Cygwinでconfigureを実行後、make→make install としたのですが、その後いったいどうすればいいのかわかりません。 jpeglib.hをincludeするだけじゃだめなのでしょうか? makeしたファイルたちをどこに保存しておくのかもよくわからないのですが どなたかご教授御願いします
>>667 その質問は画像処理とは殆ど関連性がないのでcygwinスレへでもどうぞ。
つーか、libjpegを使ったサンプルとか使い方を書いたページくらい検索すれば出てきそうだが。
>>667 cygwin使わなくてもいいんだけどね。makeしたらライブラリが出来る。
それを組み込まんことには始まらんよ。
しかし、プログラム書いて実際に使うまでの説明が長いからしない(マテ
jpegなんて劣化フォーマット仕事じゃ使わんけど、 libjpeg自体を使うのはlibpngに較べれば楽じゃない? まぁ初心者はImageMagickでも使っておけってことで。
あるいはファイル入出力だけでもVCLつかっとけ、かな?
>>670 libtiffも使い勝手悪い。
lib〜は画像フォーマット理解して使うなら容易いが、
素人が使うにはきちんと勉強しないといけないよ。>667
673 :
667 :2005/07/29(金) 01:17:07
画像をいろいろ操作したいのに、画像を読み込むところで立ち往生していても 仕方ないのでとりあえずjpegはあきらめbmpを扱うことにしました。
Windows上でWin95とか切っていいなら素直にGDI+使っとけ。
675 :
デフォルトの名無しさん :2005/07/29(金) 02:33:21
CxImageとかFreeImage使えば次のように簡単に読み込める。 CxImage image; image.Load("test.jpg",CXIMAGE_FORMAT_JPG);
677 :
デフォルトの名無しさん :2005/07/30(土) 22:17:39
>>679 どうもありがとうございます。他のオンラインブックストアでも品切れでした。
取り敢えずはウェブで勉強して、時間がある時に書店巡りしてみます。
682 :
デフォルトの名無しさん :2005/07/31(日) 23:23:24
NxMの長方形のテクスチャを、角度x長さのテクスチャとみなして、 それを半径がRの円に綺麗にマップしたいなと考えています。 円の中心付近は、元テクスチャーの多くの色を平均化する必要があり、 円の外側付近では逆に色を補間してやる必要がありそうです。 なんだか、MIPMAPとか異方性フィルタとかって関係ありそうな気がしますが、 あんまり良くわかってません。 こういう場合のやり方の定番ってあるんでしょうか?
GUIを用いた静止画像・動画像処理を勉強するためのお勧めの本とかありますか?
GUIと画像処理は分けて考えた方がよいとおもうけどな。 GUIまわりは開発環境で全然変わってくるから、普通のプログラミング入門書を使えばよいと思うけど。
>>683 レンダラ書くんだったらソース読むべきじゃないかな。
蟻の行進はどうやって実現したらいいんですか。 いろいろ考えているのですが、わからないのです。
ひとりごとなので、気にしないでください。
WinExec("mplayer.exe 蟻の行進.wmv");
>>687 群体シムやりたいなら、boidsとか調べてみたら?
まぁ、蟻の行進の場合は線に沿って歩くだけだから
あまりそういう手法は必要なさそうだが。
グラフィック選択中の表示だろ?
>>687 素人考えですが、こんな感じでプログラム作るとおもしろいかも。
i は蟻の行列の先頭からの順番を表す
i番目の蟻の位置を p(i) で表す
i と i-1 の距離を d(i) = | p(i) - p(i-1) | とかする
i番目の蟻の速度 v(i) を d(i) の関数で表す
1時刻先の位置 p'(i) := p(i) + v(i) とかで求める
関数 v(i) を非線形な奴 ( v(i) = d(i)^2 ) にするとおもしろそう
あと,なんかの拍子に止まるようにするとか
694 :
693 :2005/08/02(火) 01:06:34
画像処理ライブラリーvigraの vigra::BORDER_TREATMENT_WRAP まわりにバグある気がするんだけど、誰か使ってる人いる?
vigra::Kernel2D<float> average3x3; average3x3.initExplicitly(vigra::Diff2D(-1,-1), vigra::Diff2D(1,1)) = 1.0/9.0; average3x3.setBorderTreatment( vigra::BORDER_TREATMENT_WRAP); vigra::convolveImage(srcImageRange(image1), destImage(image2), kernel2d(average3x3)); コンパイルは通るけど落ちる. average3x3.setBorderTreatment( vigra::BORDER_TREATMENT_WRAP); しないとちゃんと動く
>>692 点線のラバーバンドってこと?
あれって、蟻なのか……
>>698 見てみたらgimpだとmarching antsと表現されている。marching antsでぐぐってみるといくつか引っかかるので英語だと普通に使うのかもしれん。
>>699 PhotoShopとか初代MacPaintなんかでは、
破線がウニウニ動いていたからmarching antsなわけで、
Windows の Paint のような単なるマウスで伸び縮みする
破線は rubber band でいいような。
PhotoShopでは枠のところを region にして、
何種類かの白黒斜め線テクスチャでアニメートさせて
塗りつぶしてるみたい。
あまりに良く見かけるので、OSの標準APIか何かだと思ってたよ
702 :
687 :2005/08/03(水) 22:06:58
>>687 質問しておきながらしばらく書き込みできずに申し訳ありませんでした。
ここのスレの皆様ならどのような方法で蟻の行進を実現しているのか気になり
質問させていただきました。
ご返答いただきました皆様、深く御礼申し上げます。
>>700 >PhotoShopでは枠のところを region にして、
>何種類かの白黒斜め線テクスチャでアニメートさせて
>塗りつぶしてるみたい。
なんという貴重なご意見・・・どこで仕入れたのですか??
703 :
687 :2005/08/03(水) 22:09:10
>>700 ちなみにもちろん後者の正当な蟻の行進の実装を目指しております。
704 :
687 :2005/08/03(水) 22:11:02
連続投稿大変申し訳ありません。 テクスチャ方式を考えてみたのですが、もしそのテクスチャの斜め線と平行に 範囲選択をした場合、その平行面は黒なり白なりの一色になってしまうことは ないんですかね・・・・。
フォトショップでもそうならなかったっけ?
PS7で試してみた。斜めに選択範囲を作成すると、 テクスチャと線の角度が平行になった場合、線全体が白と黒の交互に点滅する。
707 :
687 :2005/08/03(水) 22:20:03
>>705-706 こんなに早くご回答頂きまして誠にありがとうございます!
私はPSを持っていませんでして、すぐに試すことができない
状況でした。本当に感謝いたします。
やはりそういう結果だったのですね。ならばその方式で実装を
考えたいと思います。
なんとか実装できました暁には、こちらに稚拙なソースコードに
なるかと思いますが、ご報告をいたしたいと思います。
>>704 実際、手元の PhotoshopLE で、ひし形の選択領域を作ってみたら
分かるけど、ご想像の通りのことが起こるよ。斜めの境界線は、
白と黒の点滅になる。
それを避けようと思うなら、選択領域の形に応じて動的に縞模様を
作る必要があるだろうけど、まあ、そこまでしなくても・・・
「境界線」がわかれば、あとはラインスタイルを変えつつ線をひくだけでできるね。 「領域」から「境界線」を抽出するのはちと面倒だけど。
711 :
デフォルトの名無しさん :2005/08/08(月) 16:51:29
画像処理ライブラリーvigraのメーリングリスト に登録したのに反応がいまだまったくない。 誰か登録できた人いる? MLにメール流れてないだけかな
実は登録してるのが711だけというオチ。
713 :
デフォルトの名無しさん :2005/08/10(水) 15:27:55
C言語 JAVAで 読み込んだ画像に任意の文字列を挿入して出力する方法を 教えてください
715 :
デフォルトの名無しさん :2005/08/11(木) 07:52:09
>>713 img = LoadImage("./image.bmp");
img.string(100,100,"ぬるぽ");
716 :
デフォルトの名無しさん :2005/08/12(金) 13:56:31
>>715 言葉足らずの質問に返信ありがとございます
ちょっとそんな便利な関数がWinにはつかえるんですね
717 :
デフォルトの名無しさん :2005/08/12(金) 16:06:28
cvIntegralの中で sum[-1] = 0; sqsum[-1] = 0; 定義されてない配列要素に値が代入されてる気がする 大丈夫なんだろうか
718 :
717 :2005/08/12(金) 16:09:25
cvsumpixels.cpp の前半あたりが、疑問のところ
cvIntegralを知らずにカキコ。 operator[]が定義されてるんじゃねーの?
vigra本当に誰も使ってないの? かなり深いところまで使ってしまったので 後戻りできないのだけど・・・
viagra?
>>722 印刷用のPostScriptファイルからPDFに変換した際に画像の解像度が低下して、
原画像とモザイク処理後の見分けが付かなくなってしまったのだと思う。
PDFを作った担当者がAcrobat Distillerの最適化オプションについて無知だったんだろうね。
OpenCV beta5でてるね beta4で開発したライブラリから、そのまま置き換えられるかな
>>723 明快なご説明ありがとうございます。
なるほど、PDF作成時のミスでしたか。
世の中には私の知らないモザイク処理があるのかと焦ってしまいました。
問題の方が間違ってるって事もあるんですね。
それぞれの分野ごとにいろんな行列計算ライブラリーがあるの なんとかならないのかなあ
> なんとかならないのかなあ 他力本願じゃどうにもならんわな
ちょっと聞きたいんだけど カラー画像のC言語でのクラスタリング(特徴空間内で距離が近いデータをまとめグループ化するための手法) に詳しいサイトとか書籍ってないかな?
730 :
デフォルトの名無しさん :2005/08/19(金) 00:36:05
>>729 不親切なやつだな(w
クラスタリングとVQは違うだろ・・・
紙一重だけど。
731 :
デフォルトの名無しさん :2005/08/19(金) 04:28:24
Visual CでBMP形式からRGB形式かHSL形式に変換するプログラムが必要なんですが何かいい方法教えてください。
>>728 Cマガ2000年7月号にソースがのっとる。ただし、そのままでは遅すぎて使い物にならない。
結局説明だけ参考にコード書き直して何とか使える速度を出した。
最近
>>600 前後の手法を参考にさらに高速化して、100万ピクセル程度なら2〜3秒でクラスタリングで
きるようになった。
>>731 BMPファイルを読み込んで、RGB形式かHSL形式に変換して
ファイルに書き出すといいよ。
DelphiでDLLを作って、Visual Cのバイナリから呼び出すといいよ。
初心者巣スレでこちら向きの質問だと指摘されました。 質問です。 メタセコイアで使用している色設定のコントロールのようなものを 自前で作成したいのですが、カーソル位置からRGBにどのようにして 変換しているのかわかりません。 あのような色空間はどのような基準で描画すればいいのでしょうか? カーソル位置からRGBにどのようにして変換すればいいのでしょうか?
>>736 みたまんま、HSV経由でRGBにすればいいじゃん。
>>736 ほほぉ、あっちのレスは無視かね。
・「あのような色空間」とはなんぞや
・何を描画したいのか
・クリックした座標の取り扱いはできるのか
・色変換に関してどの程度知識があるのか
色空間なんて単語が出てくるから誘導したけど、
それ以前に色について何にも判ってないんじゃないのか
739 :
736 :2005/08/21(日) 16:46:53
ハァ・・・。 おまいらメタセコイアも知らないで画像処理板にいるわけ? やれやれ。自己解決したんでもう用は無いよ。 ばいばい
めちゃセコイや
ハァ・・・。
>>739 は板とスレの違いも知らないで2chにいるわけ?
やれやれ。池沼だってわかったんでもう用は無いよ。
ばいばい
メタセコと画像処理は遠からず近からず。
厨房の法則 オレ様基準 = 世界基準 典型例 > 739
知らないなら黙ってればいいのに
>>743 おまえみたいな奴いるよな。
知らないこと聞かれると精神障害起こす奴。
自分で自分の事を頭良いって勘違いしてて、ばれそうになるとムキになるんだよな(w
747 :
デフォルトの名無しさん :2005/08/22(月) 14:28:41
「自己解決した」とか、「もう用はない。ばいばい」と言っておきながら、 こんなにも必死に粘着するのはなぜだ?
このスレの過去ログを読めば明らかだが、このスレで扱う画像処理と
3Dソフトであるメタセコイアの間には、ほとんど関係がない。
ちなみに
★初心者にVisual C++を教えるスレ★ Part20
http://pc8.2ch.net/test/read.cgi/tech/1120222322/898 に対する解答は、すでに、あのスレの901に出ている。
いずれにせよ、もし736=739だとしたら、736は重症のバカだし、
その後必死になって粘着荒らしをしているのも736だとしたら、
これはもうダメかも知れないね。ガス室に行ったほうがいい。
infoweb の規制が解除されたから嫌味の一発も書いてやろうかと 思っていたんだが、みんな一斉に・・・ まあ、736は自己解決できたと言っているんだから、もう放っておけば いいのでは? 解決できたにしては妙な粘着振りだけど、まあ、夏だし、 不機嫌になることもあるだろうさ。
この板によく出る なりすまし「自己解決しました」宣言君じゃないの?
736以降のメタセコア厨が同一人物かどうかも怪しい(w 放置が一番。
>>751 そんな事言ったら君がメタセコ珍獣っぽくなるよ
>>739 って誰がどう見ても騙りだろ。
マジレスして煽ってる人って何がしたいの?
またVIPPERの罠にはまったか
vigraバージョンアップ
756 :
736 :2005/08/23(火) 10:57:49
オリジナルの736です。 なんか、僕の書き込みが元でご迷惑をおかけしているようですね。 本当に申し訳ありません。
>>756 謝るくらいならきちんとフォローしろ。
事の起こりはあんたがまともにレスしないからだろうが。
他の画像処理ライブラリーには日本語解説あまりないのに OpenCVの日本語解説ばっかり沢山あるのは Intelの陰謀?
>>758 Open CVの資料がたくさんあるのはインテルのせいかもしれんが、
他のライブラリの資料があんまりないことについてまでインテルの
せいにするのは、たぶん激しく間違っていると思うな。
類似画像検索についてやってんですけど、フラクタル画像圧縮を利用してますが、自分でプログラム書こうとするとわけわかりません。 1.画像ファイル読み込み 2.画像ファイルを2次元のピクセル配列にする 3.RangeブロックとDomainブロックに分割 4.Rangeの1ピクセルとDomainの4ピクセル(正方形)を比較 5.比較を全て対して行う 多分かなり意味不明だと思うのですが、理解できるかたがいればどんな感じで書けばいいか教えてくださるとありがたいです。 厳しければ1.2.だけでもかなり嬉しいです。 開発環境はCです。 宜しくお願いします。
761 :
デフォルトの名無しさん :2005/08/24(水) 19:42:24
>>760 君・・・やろうとしてる事とスキルの落差が激しすぎるね・・・。
せめて開発環境くらい明示しないと答えられないが、とりあえずOpenCV等のフリーな既存のライブラリを使う訓練をすることをお勧めする。
MATLABでコード書いてたことの多かったおいらは OpenCVよりもvigraの方が好みだった ドキュメントはOpenCVのほうが充実してるけどね
>>761 自分でやろうと決めたわけではなく・・・卒研で先生に強引に・・・自分のスキルないのはわかってるのに・・・
>>760 ImageMagickでppm形式かRGB形式に変換。あとは幅*高さの配列にずらずら読み込み。
>>763 まさか漏れの知り合いじゃないよな?w
似たような人がいるんで(卒研で追い込まれてる)
>>765 内容がほとんど同じだったら知り合いだったりして・・・これやってる人そんないないし・・・
そもそも、フラクタル画像圧縮って俺は5年ぶりくらいに聞いた言葉。
>>766 あんま詳しいことは知らないけど、なにやら
画像処理やってるようなこといってたからなぁ。
OSはLinuxだったりするのかな
まぁ頑張って。
>>760 1,2なぞ、先輩でも捕まえて1,2時間聞けばすむだろ。
言語も触ったことの無いようなレベルなんだろうな。
研究室なら質問しながら、何処をどうすればいいか聞きながらやるしか。
私信はすれ違い
研究室フォー
772 :
デフォルトの名無しさん :2005/08/25(木) 13:25:15
>>764 おそらく、ファイルアクセスの仕方もわからないと思われ。
773 :
デフォルトの名無しさん :2005/08/26(金) 17:14:10
fopenなんか使わずにmmapしようぜ!
invalid operands to binary + ていうエラーはなんのエラーですか?
>>774 二項演算子「+」のエラー。
オペランドが無効だとさ。
a+=b;だとすると aとbの型が合ってないということですか?
そう思うなら修正してみればいいじゃない。
修正してみた。 ダメだった・・・
779 :
デフォルトの名無しさん :2005/08/26(金) 21:25:56
変数の型はなんなのさ? ポインタだったりしてない?
aがdoubleで、bがabs(絶対値)。 doubleの絶対値はfabsっていうことはわかったんだけど… absの中がだめなんだろうか? 形としては、 double a; unsigned char str[i][j]; (中略) a+=fabs(str[]使った式); って感じなんだけど…わかりにくいですね。 誰か理解できれば教えてください。 失礼しました。
>>780 肝腎なところを省略するな。
つーか、スレ違いだから続けたいなら初心者スレで。
申し訳ない。 プログラムの中身が画像関係だったもので、つい。 終了します。
画像をテキストの数字の列で出力する方法ないの? OpenCVからできるとうれしいんだけど
>>783 何をしたいのかな?
例えばxbmやxpmとかpnm(pbm/pgm/ppm)とかは画像ファイルそのものがテキストだけど。
#pnmに関してはバイナリ版とテキスト版があるので注意。
785 :
デフォルトの名無しさん :2005/08/27(土) 11:28:15
質問の仕方が下手なやつが多いな・・・。 意図的にやってるのか?
質問の仕方がうまいやつは検索のしかたもうまいので自己解決。
大抵の問題は他人にちゃんと説明できた時点で8割は解決してる。
Linux で,MPEG などの動画像からフレーム毎の静止画を生成するにはどうすれ ば良いのでしょうか?
790 :
デフォルトの名無しさん :2005/08/28(日) 00:33:31
読点を,とする奴に用はないな
論文気取りの学生臭いな
ん?
研究室の標準設定ファイルでデフォルトが ,. になってるよ
ここは研究室なのかそーなのか
798 :
けんぞー :2005/08/30(火) 00:30:39
オプティカルフローのプログラムが載っている書籍やHPがあったら教えていただけませんか?
"オプティカルフロー ソース"で検索したら 『フルスクラッチによるグラフィックスプログラミング入門』 って本がヒットしたよ。 ちょっとググってみたけど、そこそこ評判いいみたいだから 俺は買ってみようと思うが。 ただ、入門書らしいので、もっと専門的なのが欲しい俺には 物足りないかもしれないが… あとは、OpenCVにオプティカルフローも入ってるよ。 これ書いてる間に↑の本、Amazonで在庫切れになったorz
その本、半年前に買ったけど、なかなか面白かった。線一本引くにも、いろいろな ノウハウがあるもんだね。Windows の GDI を使っていると気がつかないことが その本を読むとコード付きで理解できる。アンチエリアスを自力で実装するとか。 ま、しかし、ゲーム作る以外に実用性はあまり無いけど、基礎の考え方のレビュー にはなってるし、オレには目新しくて面白かった。
801 :
デフォルトの名無しさん :2005/08/30(火) 02:42:05
>>799 たったいま、紀伊国屋の在庫を調べたところ、かなりの支店に
まだ在庫があるぞ。
アマゾンと違って高い本を買っても送料(380円)を別に取られるけど、
支店によっては、ウェブで取りおきを頼んでおいて、後日
受け取りに行くこともできる。(受け取りに行く運賃のほうが高い?)
>>799 大阪日本橋ジョーシンテクノランドにて生存確認
Gems4の近くに置いてた
フルスクラッチという言葉にアレルギーあるから買えないや 実写の洋爺さんが表紙の本はなかなか良かったぞ
>>799 俺も持ってるぞ。
直線検出のところで自分の大学の廊下部分が出てきてびっくりしたw
広く浅くの本だけどかなり面白いよ。
806 :
高専生 :2005/08/30(火) 18:48:12
ありがとうございました。自分で組むにも時間がかかり過ぎそうだし、研究の手段にそんなに時間もかけられないので、本を買って利用したいと思います。
>>806 それならOpenCVを利用すればいいのでは?
809 :
デフォルトの名無しさん :2005/08/31(水) 07:35:00
その本、昨日から使いはじめたんだけどド素人すぎて44ページ目で躓きました
>>809 どっちがド素人なんだ?本か?おまえさんか?
812 :
デフォルトの名無しさん :2005/08/31(水) 20:40:47
プログラム板だし車輪の再発明(再開発)には反対だな。
車輪の再発明なんてしょっちゅうやん。 なに言うてはるの。アホとちゃいますか。
アルゴリズムを覚えるのは再発明を防ぐ意味で重要 円の描き方を10個以上知らない奴は買っとけ ちなみに再開発(=リファクタリング)はいくらでもやってよし どうせ10回書き直したら9回は改悪だろうけどな
発明と開発は違うからね。車輪は日々再開発され続けていて、それぞれの用途に適合した よりよい車輪がどんどん生まれている。まさか千年前の木製の車輪で高速道路を走ったり、 ダンプカーの重量を支えようなんてことは誰も言わない。
817 :
デフォルトの名無しさん :2005/09/01(木) 19:15:50
こんにちは。アドバイスお願いします。 libpngライブラリを使ってVCでPNGを保存するプログラムを書いています。 α値つき24bitの32bitRGBAのPNGを保存したいのですが、うまくいきません。 color_typeをRGB_ALPHAにして、RGBAの順にデータを保存しています。 ちなみに、photoshopだと問題なく表示されます。 windowsのビューワや、PAINTなんかだとRGBがずれたような画像になってしまうんです。(涙) どなたか教えてください! libpngを使ってVCでPNGを保存するプログラムを書いてるんですが、 α値つき24bitの32bitRGBAのPNGを保存したいのですが、うまくいきません。 いろいろな方のHP等を参考にして書いてるのですが、?です。 ちなみに、photoshopだと問題なく表示されます。 windowsのビューワや、PAINTなんかだとぐっちゃぐちゃの画像になってしまうんです。(涙) 原因って何が考えられますか・・・?
819 :
デフォルトの名無しさん :2005/09/01(木) 19:34:17
817です。すみません・・・マルチってなんですか?
820 :
デフォルトの名無しさん :2005/09/01(木) 19:38:42
817です。今調べて、意味がわかりました。 いろんな掲示板に同じ質問を書くのはマナー違反なのですね。 考えたら確かに失礼でした。ごめんなさい。
アルファブレンディングは表示デバイス依存な予感。 MSDNでしらべれ。
>>817 同じことを繰り返して書いている理由がわからないが。。
画像のヘッダ情報はどのように書いているのかな?と。
lib何とかを使えばデータの出力は簡単なんだけど、
大抵の人はそこで躓いているような気がする。
しかも、サンプルソースは使えないものが多いし。
画像情報はIrfanとかでチェキしてみると吉だよ。
823 :
デフォルトの名無しさん :2005/09/01(木) 21:58:26
817です。お返事いただきありがとうございます。 以下の様に記述しています。 widht:画像幅、height:画像高さ、m_BmpImageは座標(0,0)からRGBAの順で並べた 画像配列です。 今から、irfanを見てみます。 FILE *fp; png_structp png_ptr; png_infop info_ptr; unsigned char **image; image = (png_bytepp)malloc(height* sizeof(png_bytep)); for (j = 0; j < height; j++) image[j] = (png_bytep)malloc(width*4 * sizeof(png_byte)); for (j = 0; j < height; j++) { for (i = 0; i < width*4; i++) { image[j][i] = m_BmpImage[j*width*4+i]; } } fp = fopen("test.png", "wb"); png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); info_ptr = png_create_info_struct(png_ptr); png_init_io(png_ptr, fp); png_set_IHDR(png_ptr, info_ptr, width, height, 8, PNG_COLOR_TYPE_RGB_ALPHA, PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE); png_write_info(png_ptr, info_ptr); png_write_image(png_ptr, image); png_write_end(png_ptr, info_ptr); png_destroy_write_struct(&png_ptr, &info_ptr); fclose(fp);
824 :
デフォルトの名無しさん :2005/09/01(木) 22:46:21
>>813 再発明と再開発がソフトウェア開発を遅らす一つの原因ジャン。
勉強として自宅でやるのはかまわんけど、現場でやられるとたまらん罠。
再発明・再開発やりたがる潔癖症and/or自分を過大評価してる勘違いand/or要領の悪い奴とは仕事したくないな〜。
なんかさ、最近、ソフトウェアはこうあるべきだ、と言っている人間のこだわりが 妙に馬鹿げて見えてくるんだよ。 机上の効率なんて、もはや興味は無い。
>>824 >再発明・再開発やりたがる潔癖症and/or自分を過大評価してる勘違いand/or要領の悪い奴>とは仕事したくないな〜。
全て自分でやりたがる奴は嫌だなぁ。しかも大したこと出来なかったりすると。。
年末から2月に掛けて怖い時期が続く。。
コードの再利用レベルの話と発明レベルの話は分けて考えないといけないと思う。 発明レベルの話なら既存の発明の追体験は結構重要なことだ。 普通のソフトの開発工程に発明の要素が入り込む余地はまずない、 あるとしたら設計段階やパイロットシステムなどで済ませておくべきこと。 「車輪の再発明」の比喩は面白いがソフト開発論にもちいると誤解を招きやすいと思う。
>>828 いや、発明の追体験は構わないが、再発明は無駄だろ。
「車輪の再発明」って言うときは、既に発明されているものがあるのを知らずに
苦労して「新しい物を発明したぞ」って同じ物を作り出すことを戒める言葉だし。
だから、再発明っていうのは、自ら進んで行うものではなくて、
結果として、後から自らの行いが再発明であることに気づくものだね。
昔、整数演算のみで直線を描く高速なプログラムについて試行錯誤したことがあるんだが、
最終的に出来たアルゴリズムが、実際には Bresenham の改悪版なんだと気づいた時には
すごくショックだったよ。
それ以来、いざというときのために、世に出てるアルゴリズムについては
できるだけ予習するように努めてるんだが
最近の論文なんかは特許が絡んでるのが多くて、糧にしにくいんだよなぁ…
830 :
デフォルトの名無しさん :2005/09/02(金) 03:23:23
>>824 開発と発明は全然違うぜ。
それとも、あなた、Fortran時代の画像処理ライブラリをそのまま使ってます?
そりゃ、違うでしょ?
どうでもいいけど、 「ソフトウエア開発とはかくあるべき」という話題は、 画像処理スレッドで扱うべき話題ではないので、 続けるなら、よそでやろう。
時間やコストの節約のため既存の画像処理ライブラリを使うのは大賛成 ただ、開発する能力が無くて既存のライブラリをブラックボックスで使うだけというやつも混じって いるようだな。きっと、ライブラリにその機能が無いのでできませんと言い訳しているんだろうな。
>>830 みたいな勘違いヤローがチームの足引っ張るんだよなぁ。
うざいなぁ。得意げなところが痛いし・・・。
>>833 あなたも彼と似たり寄ったりのようですね(^^)
開発で使用するライブラリは要件定義や設計段階で何を使うかとか買うか作るかといった方針は 決めるものだと思うのだが。以前外注したシステムに勝手に配布条件に問題のあるライブラリが 使われてて納品寸前に大改修をしたことがあるよ。
836 :
デフォルトの名無しさん :2005/09/02(金) 17:23:17
>>833 で、Fortranライブラリをリンクしているんですね? 再発明禁止なら。
得意げに、再発明はいけないと言っているやつが、「新発明」をやったためしはない。 つーかさ、オレも含め、ほとんどの労働者プログラマのやっていることって、ほとんど 全部、とっくの昔に他人が完成させた仕事の焼き直しだせ。いきがって発明家や 科学者を気取っちゃいかんし、オリジナリティなんてクソ食らえだと思うんだが。 そりゃ、手作業でくだらん最適化(ループでもなんでもないところ)にうつつを抜かして 納期を遅らせまくったあげく、職人の良心を語るやつにも、ものすごく困らされることは あるが、なんか、極端は相通ずるものがあるね。
そんな労働者ばかりがこの板見てるわけでもないだろ。 そもそもの発端の『フルスクラッチによるグラフィックスプログラミング入門』という 本の最初に書いてあるけど、ブラックボックスの内容を理解しないでそれ以上のコードは 書けない。だから、新発明を目指す人も再開発や再発明を恐れることは必要ないし、どん どんやるべきだろう。 個人的には、再発明だろうがなんだろうが、仕事と趣味と研究とちゃんとわきまえて プログラミングしてね、ってことだ。
839 :
デフォルトの名無しさん :2005/09/02(金) 20:00:28
つーことで、画像処理の話にもどろーぜ
>>840 世の中に画像処理スレ見るような労働者なんか1%もいないだろ。
>>808 特殊な画像処理はともかく、基本的な設計の定石やパターンを
知らずに、独自に作って仕様変更やバグが頻発して火を吹いてい
た所があった。当然ソースはスパゲティ、本人は体調崩して回り
の連中が火消しをしてた。
普通に考えて、トヨタとか日産のエンジニアとか、エンジン作
るまえに、他のエンジンを分解してそれなりの機構をマスターして
から、新エンジンの開発に取りかかるのに。 どうして、プログ
ラマーは一部をのぞき、そういう事をせずにいきなりつくるのか?
>>842 普通のプログラマはちゃんとやってるから心配無用
いや普通の職業プログラマはそんなことやってる時間なんてとれないだろう。
俺のまわりじゃまさに
>>842 の言うとおりの状況だよ。
845 :
844 :2005/09/02(金) 22:53:18
もちろんその結果、結局開発が遅れるんだから 最初に勉強会の時間を設けるとかして欲しいけど。 会社はそんなこと絶対してくれない。
まあまぁ・・・ 痛いほど気持ちは分かるけど、スレ違いの話題が 長引くのは避けたいので、ここらへんで・・・ お願い。
んじゃ、話題変更がてら初歩的な質問を。 RGBからHSLに変換する方法について。 厳密なロジックと簡便な代替ロジックがあるならそれも。 自分で当たりをつけて作ってみたけどどうも腑に落ちなくて。
>>847 OS再インストールして「お気に入り」から消えたが、カラー変換とかでぐぐる
といろいろの変換を並べて説明しているページがあった。
半年前かそこらここでわたしも関連して細かいこと教えてもらった。
わたしは HSV とかもいろいろ使っている。
>>847 どの辺が腑に落ちないの?
厳密なロジックつーたら変換式をfloatで実装すればいいし、精度より速度が欲しい場合は固定小数点演算ですましてる。
851 :
デフォルトの名無しさん :2005/09/06(火) 02:22:21
>>850 GNU関連のライブラリって大抵”ライブラリGPL”だから問題にならないと思うけど。
LGPLは静的リンク、動的リンクどちらも感染するってGNUのエロい人がいってました。
853 :
デフォルトの名無しさん :2005/09/06(火) 07:42:25
854 :
デフォルトの名無しさん :2005/09/07(水) 04:47:26
動的リンクが感染するなら、 そこらの圧縮解凍アプリはみんなLGPLとかGPLになってしまうのだが。 同梱が前提の話なのか?
>>854 Richard Stallmanとそのシンパがそう言ってるだけで汚染しないと考えるのが一般的
まだあっちでも激しく議論中
>>855 > そこらの圧縮解凍アプリはみんなLGPLとかGPLになってしまうのだが。
なんで?
zlib も bzip2 も GPL でも LGPL でもないはずだが...
OpenCV beta5使ってる人います? beta4から移行できるか不安だ
ライブラリGPLってGNU Lesser General Public Licenseのこと?
http://www.javaworld.jp/beginners/-/11250-4.html によると、
●利点:GPLと同じく、このライセンスが適用されたプログラムについては、その
派生プログラムにも同じライセンスが適用される。したがって、他のプログラム中
に独占的に取り込まれてしまうことがない。また、静的/動的を問わず、リンク
するプログラムは、このライセンスの適用範囲外になる
●欠点:BSDライセンスと比べて条項が複雑なので、利用者にとって理解
しにくい。オリジナル版の著作権が、派生プログラムの著作権に対して制約を
課せられるか否かといったことに関して、判例が出ていない
だって。
863 :
861 :2005/09/07(水) 13:52:28
動的リンクか静的リンクかは本質的な問題じゃない。
>>864 じゃあなにが問題なのさ
動的リンクもGPL/LGPLにせにゃならんということか?
>あなたは受け取る人がライブラリに変更を加えてそれを再コンパイルしたのちに >そういったコードをライブラリと再リンクできるよう、彼らに完全なオブジェクトファイルを提供しなければなりません 肝はここ
え、なに。 それが肝なの? それじゃ、ライブラリに変更加えなければGPL/LGPLにしなくてもいいとかいうわけ?
画像処理スレなんですけど・・
LGPLな画像処理ライブラリを扱う場合には参考になるかもね。 ところで、LGPLな画像処理ライブラリってある?
>>867 >>866 のは前文で、本文の6節のa)に対応している。
LGPLのライブラリがリンクされたソフトを手に入れた。
↓
そこで使われているLGPLのライブラリを改造した。
↓
再リンクしようと思ったらソフトのオブジェクトファイルが無いから再リンクできないぞゴルァ。
ということが無いように、ということ。
動的リンクの場合(6節のb))は問題無し。
ただ、6節によるとLGPLとリンクしたプログラムはリバースエンジニアリングを許可しないといけないので完全に好きなライセンスを適用できるというわけでもない。
#さらにややこしい言葉の問題として、リンクしたプログラムはLGPLに従わなければならない。
#しかしそれはソースを公開しなければならない等を定めた4節等に従わなければならないという意味ではなく、6節などの条件に従わなければならないという意味となる。
#6節ではリバースエンジニアリングなどを許可しなければならないなどの条件を満せば好きなライセンスでリンクしたプログラムを配布していいと書かれている。
#スレ違いスマソ。
再配布とか再リンクを誰でも出来るようなライセンスと形態(.h, .obj、.lib同梱?) だったら有償ソフトとして販売しても、別の誰かが無料で再配布できたりしない?
こんな感じでどうとでも解釈できるんですよ、LGPLは
873 :
デフォルトの名無しさん :2005/09/08(木) 06:28:45
>>859 WinでもLinでも移行して今まで作ってたプログラムの再コンパイルしたけど問題なさげ。
インスコとコンパイル位しかまだやってないから詳しいことはまだわからない。
GPL関連で盛り上がってるけど、このスレってWin以外の環境の人多いの?
>>873 ライセンスはOSに依存しないんジャマイカ?
例えばTortoiseSVNはWindowsで動くけどGPL。
#スレ違いゴメン
要するに、 商用ソフトにGPL/LGPLライブラリを使うのは自殺するものだってことか?
>>876 保守で稼ぐなんてな〜このスレ関連のアプリじゃ無理か〜
だから使ってることを隠す。 でも、たまにバレてソース公開や無償化に追いやられるソフトが出てくるね。
GPLつかったら有料はNGだっけ? ソース公開はしなきゃだけど。
有料はOK
でも再配布できるので、誰かが無料で公開しても大丈夫なんだよ。 だから、保守で稼ぐ〜なんて発言が飛び出したりしてくる。
>>871 LGPLの場合再リンクできるようにオブジェクトファイルを入れておけばプログラム本体は再配布不可でもいい。
デジカメについて来た ACDSee というのに、画像修正のメニューとして 「露出」というのがあり、暗い画像を明るくしてくれるようですが、 調節のスライダに、「黒」、「白」、「ガンマ」というのがあります。 「白」は HSL 変換で明度を上げているのかなあと想像していますが、 「黒」というのは何をしているか、分かりませんか。 似た処理を自作の画像修正アプリに取りこんで、部分適用とかして みたいと思っています。
Windows用の画像ライブラリであるLeadToolのContrastのアルゴリズムが判らん。 「濃度128を基準に」って書いてあるのに濃度128の画素の変化を調べたら コントラストを+すると値が増加するし、-すると減少する。 どうやら64付近が基準になっているような気もするのだが、入力を横軸に出力を縦軸にした グラフを作るとコントラスト+1000から-1000まで段階的に変化させた交点が一つにならん。 そのグラフから、-1000〜0まではy切片が32〜0まで変化して0〜+1000まではx切片が 0〜32まで変化するのは判ったけど。 大抵の画像編集ツールだと-100%とかで全面濃度128になったり+100%で128を閾値に 二値化した状態になったりするんだけどなぁ。 #勿論、グラフにすれば(128, 128)で交叉するわけで。
Contrastでしょ? Brightnessじゃなくて? 普通に、+100%で2倍、-100%で1/2倍になるんじゃない?
887 :
885 :2005/09/09(金) 09:50:51
>>886 あー、それが128との差分の2倍/.5倍というなら判る。その理屈だと、-∞で128のみになるし、+∞で二値化するわけだから。
そう単純なもんじゃないから困ってるのよ。
888 :
883 :2005/09/09(金) 12:57:23
>>884 どうもありがとうございます。
補正前後の画像の相対するピクセルの元の明度を横軸に明度の変化値を縦軸に
グラフを描いてみれば分かるってことですね。やってみます。
まぁ一見日本語になってるだけマシだろ。
これかな。 >Do not use this option if you are loading a bitmap with a color depth greater than 8bpp. 迷訳だな。
Do not use this option if you are loading a bitmap with a color depth greater than 8bpp.
894 :
デフォルトの名無しさん :2005/09/10(土) 16:04:08
お世話様です。PCのホームページでオリジナルの地図がある画面を携帯に送り、画像保存しておきたいんですが、 地図画面の保存が上手くいってないせいか、携帯におくっても見れませんでした。 携帯から直接アクセスしてもページが大きすぎて中断となってしまいました。 いったいど〜すれば良いのでしょうか?写真画像ですと普通に保存すればJPEGになるものが 多いので、携帯に画像保存ができるのですが・・・・・?ちなみにPCで保存した時の形式名は「GIFイメージ」 となっておりました。 機械おんちなんで何卒アドバイスお願いします。
>>894 gifからjpegに変換すればいい。PC初心者板辺りで聞けば教えてくれるんでないかい?
>>896 ちょwwwおまwwwテラヤサシスwwww
898 :
名無しさん@そうだ選挙に行こう :2005/09/10(土) 20:47:01
輪郭抽出がカラーで出来ない理由って何だ?
901 :
名無しさん@そうだ選挙に行こう :2005/09/11(日) 11:43:42
>>893 速くなるんじゃない?
おいら、アセンブラ使えないんで、ベクトル化してくれるようにソース工夫してintel C++ compilerに放り込んでる。
903 :
893 :2005/09/11(日) 21:14:02
アセンブラは実はよく分かってないけどwebを参考に SSEのpsadbwというbyte単位の絶対値演算処理を一気に 16個やるのをSSDで作ってみた。随分速くなった。 フィルタ畳み込みとなると積和演算pmaddwdを使うのだろうけど これはWORD単位で画像データを設定しないといけないぽい。 SSEでフィルタ処理やるのなら画像データ自体を 16bit/pixelで画像幅とアドレスを16byteでアライメントするのが 常識なんでしょうか。そうなると今使っている画像クラス自体を 改造せんといかんなあ。 intelのコンパイラはうまくソースを書けばこういうのもSSEを駆使して 最適化してくれるのでしょうかね。上のように画像のデータ構造自体が 問題な気がします。
>>901 いまは市販コンパイラもベクトル化するんだ。。
し、知らなかった・・・ (^^;
>>902 なに寝ぼけたこと書いているんだか。
何もかもが他人の陰謀に思えて仕方がないというなら、それは精神病だぞ。
しばらく仕事を休んで静養しろ。
906 :
デフォルトの名無しさん :2005/09/12(月) 09:07:38
>>903 > 16bit/pixelで画像幅とアドレスを16byteでアライメントするのが
> 常識なんでしょうか。
常識。
2byte, 4byte, 8byte(?)でアライメントしとくべき。
Windowsのビットマップもそーなってるでしょ?
そうしとくと画像のコピーとかも速くできるよ。
>>903 一般的には、ゼロとアンパックしてワードデータにする。
908 :
903 :2005/09/13(火) 14:07:20
>906, 907 なるほど、ありがとうございます。 なんとか作れそうです。 g(x)g(y)のタイプのファイルはだいぶ速くなりそうです。
でも今回の選挙みると思ったより陰謀だらけなのが分かる intel MSあたりなんて、もっと過激なことしてそうだよ
ヒマな陰謀論者ってアフォくせー
ベクトル量子化のCBの作り方で有効なのってLBGアルゴリズムでよろしいんでしょうか?
>>911 よろしいんでない?
減色では、速度面が多少心配なので再帰分割などで粗いCBを作ってから適用しているけど。
913 :
デフォルトの名無しさん :2005/09/13(火) 23:52:54
>>911 適応ベクトル量子化でいいならもっと素敵なアルゴリズムがあるよ。
>>912 >>913 ありがとうございます。
このとき初期CBはランダムの方がいいのかそれとも出現頻度上位のベクトルを
初期CBとしてつかったほうがいいのでしょうか?
あと、CBにLBGアルゴリズムを適用するとした時、
ABCDE・・・という連続した画像(連続したものなのでほぼ同じ画像)に対して
VQを施すことを考えた場合、まずAのCBを作成して、それをBCDE・・・にも適用することを
考えるべきなのか、それとも、AのCBを作成して、次のBではAのCBを初期CBとして
用いて新たなCBを作ってそれをCの初期CBとして・・・を繰り返すべきなのでしょうか?
少し乱雑な文章ですがどうかよろしくお願いいたします。
それを実験するのも勉強のうち
916 :
914 :2005/09/14(水) 00:10:45
少し追加させていただきます すみません あと、CBにLBGアルゴリズムを適用するとした時、 ABCDE・・・という連続した画像(連続したものなのでほぼ同じ画像)に対して VQを施すことを考えた場合、まずAのCBを作成して、それをBCDE・・・にも適用することを 考えるべきなのか、それとも、AのCBを作成して、次のBではAのCBを初期CBとして 用いて新たなCBを作ってそれをCの初期CBとして・・・を繰り返すべきなのでしょうか? とかきましたが、目的はCBを毎回作成するのでは時間がかかるのでできるだけ時間をかけずに 符号化したいということです。ですので画像ごとにCBを作るのではなく、同じような画像なら CBを固定にしたいということです。で、できるだけ良いCBを作りたいので AでLBGを使って生成したCBをBで初期CB・・・・とするというお話をさせていただきました 設計方針をお聞きで切ればなと考えております
考えてみたのですが 最終的にAのCBを作っていってそれをFまで前のCBを初期CBとしてCBを作ったとすると 最終的な画像に対してのCBであって全画像に対してのCBではないですね・・・
918 :
デフォルトの名無しさん :2005/09/14(水) 08:17:53
もしかして動画をVQで圧縮するような用途を考えているのかな? AでCBを作る。 AをAのCBで量子化。 BをAのCBで量子化。 量子化誤差が大きいとき、BでCBをつくり、BをBのCBで量子化。 CをBのCBで量子化。 量子化誤差が大きいとき、CでCBをつくり、CをCのCBで量子化。 が基本なのかな? 計算量が大きくなりすぎるかな?うえの人が言うように適応型のVQを使うのも手かも。
>>918 ありがとうございます。
動画に似ていて、画像を連続で表示させる場合を想定しています(GIFのような感じ)
で、ひとつのCBだけで連続した画像すべてをまかないたいのです。
このとき初期CBとしてどのようなものを使ったらいいのかなと考えております。
単純にAの上位ベクトルだけをもっていくのか
それとも全画像のベクトルを集めてから上位ベクトルを使って初期CBにするのか
ということです
初期CBの作り方で結構かわってくるのではと考えたためです
参考書を見てもLBGは乗っていても初期CBは初期CBとしかのっていなかったので
みなさんの知識を拝借できればと思いました よろしくお願いします
北海道へ行きたいのに沖縄へ向かってる方向音痴?
MFCでアプリケーションをつくりAVIファイルを再生しようとしたのですができません。 「圧縮解除プログラムvids::mjpgが見つからないため再生できません。」とでました。 ほかのファイルは再生できるのに自分で撮影したAVIファイルは再生できないのです。 わかる方解決法ありましたらお願いします。
>>920 ありがとうございます。もしよろしかったらどこがおかしいか教えていただけないでしょうか?
motionJPEGのcodecがないだけじゃね?
926 :
デフォルトの名無しさん :2005/09/14(水) 20:29:20
>>919 LBGで局所解を避けたいつー話だったら、色々試してみるしかないよ。
ところで、LBGに拘ってるのは何故?
ベクトル量子化のアルゴリズムはたくさんあるよ。
>>926 ありがとうございます
LBGしか知らないためにいってるのと、VQの処理時間のほとんどを占めているのが
CB作成時間なので、CBを固定できたら処理時間短縮が目指せるのではと考えたためです
初期CBに何を使ったらいいのかと毎日考えております。
それによってLBGの処理時間もかなりかわってくると考えております
何かいいアドバイスあったら是非ご教授お願いします
傾き補正のアルゴリズムを解説してるWebとか書籍はないでしょうか? 自作の画像処理ツールに傾き補正を仕込みたいけど、どうやってやればいいのやら。 対象となる画像はグレイスケールか二値画像。 最初は四隅を検出して位置関係を調べて、何か数学計算で角度を出せるかと思ったけど、 台形とかな画像だと四隅の位置関係が等距離とは限らないし。 VBとかVCのサンプルコードがあれば嬉しいけど、せめてアルゴリズムだけでも知りたいです。
直線を引いてもらって、それが水平/垂直になるように 画像を回転させるだけで良いんじゃ?手動なら。
特徴のある角とか辺とかをパターン認識して回転させれば? 重心を求めて、そこを中心とすればもっと良いかも。
あと、カメラ画像だと、 スケール補正とか、3次元->2次元歪み補正とか要りそうだけど。
>>929 画像取り込み時の±5度くらいの傾きを補正するとする。ある程度長い水平あるいは
垂直部分がある画像では、
輪郭・芯線抽出
長めの水平・垂直に近い線分(±5度)を集める
角度でクラスタリング
最大クラスタの傾きを採用して回転
ただし、地図では斜めの線だらけで無理。テキスト画像のように長い線の無い画像
でも上記の方法では無理。市販のOCRでは傾き補正やっているのでできることは確か。
汎用でやるならユーザーに2点を指定させるしかないのでは
一般的な画像評価はSN比を使うと思うのですが 画像評価ツールのようなものはあるのでしょうか? あったら教えていただけないでしょうか。お願いします。
>>929 変換部分のアルゴリズムは分かるが、正確に計算するには
画角の情報が必要だよ。
>>934 フリーソフトでpsnrbmpというのがあるけど。
>>936 ありがとうです。ちょっと使ってみます。何か他にもあったら色々試してみたいので教えてくれるとうれしいでs。
938 :
デフォルトの名無しさん :2005/09/16(金) 16:39:07
動画を扱っています。 蛍光灯下だと、動画が波打ってしまうのですが、 それらを抑える処理ってどうやるのでしょうか?
>>938 ・蛍光灯を消す。
・蛍光灯をインバータタイプにする。
・残光型のモニタにする。
・モニタのフレッシュレートを変えてみる。
941 :
929 :2005/09/16(金) 19:57:02
複数の画像を一気に処理するツールなので、自動でやりたい。 OCRとかスキャナのソフトで自動傾き補正をしてるけど、あんな感じのを実装したい。 一定角度以上なら自動調整、それ以下なら放置にしたいが、それはまた別の話なので。 うーん、図形の特徴を画像認識するしかないんでしょうか。 重心検出は手持ちの本に載っていたのでいいとして、特徴検出は何をどう検出してどう使えばいいのか。 自分のスキルでは手に余りそう(´・ω・`)
>>943 領域分割+輪郭追跡
色分割はリージョングローイングかクラスタリング
>>941 ハフ変換を使って直線の検出をしてから
傾き補正すればできるかも
それでもかなり難しそうですね・・・
564氏の領域分割を実装しようとしてます。 607 から 613 に書かれている事について質問です。 "同じ区画内で最も遠い2点は√3の距離" とはどういった事でしょうか?
画像評価の方法について質問があります。 元画像と非可逆符号化を行った後の画像とを比べたいのですが、(画質が多少は劣化するので) 評価方法としてはSN比以外になにかいいものがあるのでしょうか?
>>948 947です。
5x5x5だと完璧、という理由が理解できました。
無駄な区画が多そうな気がしますが・・。
>>953 ありがとうございます。
私もちょうどそこを何とか発見してみていたところです。
客観的な尺度としてはSNRなどを用いて
主観的評価として多数の人間からアンケートをとって評価するというという方法で
画質劣化の評価はできるのでしょうか?
アンケートをするべきかどうかなやんでいて・・・。
>>954 > 主観的評価として多数の人間からアンケートをとって評価するというという方法で
> 画質劣化の評価はできるのでしょうか?
評価は可能。実際ここ2年は客観指数と主観評価を実施している。
しかし、アンケート実施者の話し方で結果は変わるので、
評価結果の有効性には疑問がある。
大量の画像でSNRなどを求め、手法による数値の差異が
統計的に有意であることを立証した後、
主観評価で、妥当性を確認って感じ。
まあ、予算(と時間)があればって程度かな?
被験者選びや主観評価の手法への突っ込みがあると、応対が面倒だよ。
>>955 なるほど。ありがとうございます。
まずは、SNRなどで客観的数値を求め、そのあとにアンケートを用いてSNRと比べ、差異がそこまで
ないことを示すことで主観的な手法であるアンケートの有効性を立証するということですね。
被験者選びは 同性や同年代の人が多ければそれだけ偏ったりするということですよね?
主観評価の手法の突っ込みというのは具体的にはどういったものなのでしょう?
画像を見せて、大変気になる(5)〜まったく気にならない(1)のように点数化する手法などに
対するつっこみということでしょうか?
大変助かりました、ありがとうございます。
>>955 >
>>954 956です
> 大量の画像でSNRなどを求め、手法による数値の差異が
> 統計的に有意であることを立証した後、
> 主観評価で、妥当性を確認って感じ。
これはSNRなどの手法が有意であるかを立証して、そのあとで主観評価で妥当性を確認
ということなのでしょうか?
何度も読み返すと956で言った、アンケートの有意性ではないようなきがしたので
>>957 > これはSNRなどの手法が有意であるかを立証して、そのあとで主観評価で妥当性を確認
> ということなのでしょうか?
そうです。個人的にアンケートは有意とは言いにくいです。
後、主観評価手法への突っ込みとは、
・画像表示環境(モニタのキャリブレーション手法、照明の状態等)
・被験者の母集団の選択理由、能力指標(画像処理の経験の有無)などの妥当性
・被験者間の隔離方法
・アンケートの項目の妥当性 等々
心理実験は面倒ですから、数値評価の補助程度と考えてます。
輪郭がくっきりでのっぺりなのが素人目には良く見え、 ちょっと慣れている目には、ノイズっぽくてもディテールまで再現してるのが良く見える って気がする。
>>958 >>959 ありがとうございます。
客観的評価としてのSNRはこれまでの研究からも妥当性は証明しなくてもすむと思います。
しかし、主観的評価であるアンケートについては確かに難しそうですね。
画質評価を考えるだけで研究になりそうですね・・・。
主観的評価は、客観的評価の補佐的な役割でやっていくのが妥当そうですね。
>>928 フレーム補間ソフト、もう一度くれませんか?
>>944 943です。
情報ありがとうです。
リージョングローイングはCマガ2001/4号によると、塗り潰しの技法っぽいのですが、
ラスター・ベクター変換に利用できるのでしょうか?
965 :
デフォルトの名無しさん :2005/09/24(土) 19:22:14
l'´ ̄`l ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄`l | | u | | | . \ '/ | はああああー | :J | ‐ー くー : | ... | | J ´゚ ,r "_,,>、 ゚' | ヤパーリ、ryokoたんの穴は . | | . ト‐=‐ァ' | . | | ` `二´' J | シマリがいいYO〜!! .. | | | | \ __ ト、 ミ \ ,.ミ'´ ̄ ̄`` `ヽ、| | (( ミ ミ \' 、 ヽ| 力 ミ、 ミ \ i. ゙、 勹 | ミ、 ,' l L.___|_ l l { -─- 、 | l -、 ヽ ,. '´ ヽ | ! ヽ ヽ ,.' ,、 ヽ ./´ ̄`V ,ヽ、 ,' ,' ; ,. ,: , ハ :, , i / 、 | / 、`ー ノ! ; : ; /_'/./_/ Li_l ! ./ i | / ヽ ヽ 〃 / | ;:「 ____... リjリ !. ! / ヽ {{ / (`| il| __.. ` ̄lノ i Σ `ー‐ゝ、 ' / ヽ___,.-‐'"⌒゙| !| °,,, ,  ̄/,: ハ `ー--‐' ,. -‐'"´ リi从_ 、 '''ノ_:_ノ ヽ 力 /"ー─------<二/ ´ヽ、-<r"/,ー、 丿 勹 { 〈 )、 Y `ゝ(_/_/./' } `ー----------─一--‐'´
通常の場合、 結果画像=元画像*透過率+合成画像*(1-透過率) となる。 その他の場合も同様に。
968 :
966 :2005/09/25(日) 10:53:50
はぁ?
結果画像=元画像*透過率+合成画像-合成画像 * 透過率 透過率*(元画像 - 合成画像) = 結果画像 - 合成画像 ∴透過率 = (結果画像 - 合成画像) / (元画像 - 合成画像)
971 :
966 :2005/09/25(日) 14:21:16
>>970 それは結果画像の透過率じゃないような。
半透明な画像同士を合成すると結果も半透明になるから、
それの透過率と色を計算したいです。
なにがしたいのかいまいちわからん 半透明な画像とは?具体例を挙げてみ
(画像2,透過率2)の上に(画像1,透過率1)を乗っけた画像(結果画像,結果透過率)を求めるのだったら、 結果透過率=透過率1×透過率2 結果画像=(画像1×(1-透過率1)+画像2×(1-透過率2)×(透過率1)) /(1-結果透過率) かな
974 :
966 :2005/09/25(日) 17:32:02
回答ありがとうございます。
>>972 Photoshopのレイヤーの合成とか。
レイヤーが何枚かあって、下から順に合成していくときは967の式で出来るけど、
先に上のレイヤーを合成したいときは、結果画像の透過率も分からないと
それより下のレイヤーと出来ないです。
>>973 その式で計算したら上手くいきました。ありがとうございます。
あと描画モードが通常以外の場合はどうすればいいでしょうか。
>>974 少しは貴様の体の上に乗っかっている南瓜を使ってみたらどうだ?
976 :
デフォルトの名無しさん :2005/09/25(日) 20:18:05
>>974 下から順に合成していかないと、非線形な合成をしている場合、つじつまが
あわなくなるぞ。全部加算合成? だったから、中学校の掛け算の問題だ。
> あと描画モードが通常以外の場合はどうすればいいでしょうか。 下から順にやる以外に方法はない。なぜなら、掛け算や足し算と 違って、非線形演算には交換法則や結合法則が成り立たないから。
もちろん、「このソフトでは上から順に計算していく。それが仕様だ。 フォトシップとの互換性は考えない」と、いうことなら、それはそれで 構わないぞ。
979 :
966 :2005/09/25(日) 22:18:27
>>976-978 原理的に不可能な部分は同じにならなくても問題ないです。
Photoshopでも「下のレイヤーと結合コマンド」で
順番を変えて結合すれば結果は異なります。
>>979 仕様が変わってしまってもいいということなら、もはや、あなたがいいと
考えるとおりに、どんな方法で実装してもいいんじゃない?
暴走しない限り、どんな計算をしようとも、「これが俺のやり方だ!」と、
割り切ってしまえばいいじゃないか。
ただ、グラフィックツールを使う立場の人間にとっては、フォトショップの
ように、下から順に非線形合成をし、合成結果のもとの画像との加重平均をとる
という計算を繰り返すのが、たぶん、最も理解しやすい結果になるとは思うけどね。
半透明なレイヤーを上に追加して、下にある「すでに計算結果の確定している」
レイヤーにさらなる味付けや重ね描きをするというのが、たぶん、もっとも
受け入れやすい仕様じゃない? もちろん、そうでなきゃいかんと法律で決まって
いるわけでもないし、自分のやりたいようにやっても、全く問題はない。
981 :
966 :
2005/09/26(月) 04:07:01 >>981 表示するときの合成順序は変えないです。
ユーザが意図的に合成コマンドを選んで合成したときの話で、
フォトショップや他のグラフィックツールと同じ仕様です。