画像処理 その2
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
NGNG画像処理
http://pc2.2ch.net/test/read.cgi/tech/992671330/l50
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG/⌒ヽ コラ―――!!!
/ =゚ω゚)=
( ヽノ
ノ>ノ ヒタヒタ
. 三 しU
0004デフォルトの名無しさん
NGNG/⌒ヽ コラ―――!!!
/ =゚ω゚)=
( ヽノ
ノ>ノ ヒタヒタ
. 三 しU
0005デフォルトの名無しさん
NGNG/⌒ヽ コラ―――!!!
/ =゚ω゚)=
( ヽノ
ノ>ノ ヒタヒタ
. 三 しU
0006デフォルトの名無しさん
NGNG/⌒ヽ コラ―――!!!
/ =゚ω゚)=
( ヽノ
ノ>ノ ヒタヒタ
. 三 しU
0007デフォルトの名無しさん
NGNG/⌒ヽ コラ―――!!!
/ =゚ω゚)=
( ヽノ
ノ>ノ ヒタヒタ
. 三 しU
0008デフォルトの名無しさん
NGNG/⌒ヽ コラ―――!!!
/ =゚ω゚)=
( ヽノ
ノ>ノ ヒタヒタ
. 三 しU
0009デフォルトの名無しさん
NGNGテンプレも参考リンクもなしに新スレ立てんでくれ。
前スレで話しあってから立て直すように。
0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG・画像処理について素人同士で大激論
・初学者の質問に対してやさしく(的を外れた)解答を与える
・その道の玄人も大歓迎
/*********************** 始動 ***********************/
0012テンプレ
NGNGQ:カラー画像をグレースケールに変換するには?
A:グレースケールへの変換には、完全な解答はありません。
一般には、下式が用いられるようです。
グレースケール = 0.299R + 0.587G + 0.114B
ちなみに、(R+G+B)/3はオススメできません
0013デフォルトの名無しさん
NGNG左上が 真白 右下が黒 のパレットを作ろうと思うのです
xx ,yy をx,y座標として
y:=1-(xx+yy)/2; //輝度
x:=(1+(xx-yy))/2*360;//色相
で y=0.5 の時に彩度が最大 としたいのですが 旨い計算式が思いつきません
001413
NGNGy:=1-(xx+yy)/2; //輝度
t:=1-2*abs(y-0.5);
if t<>0 then x:=(1+(xx-yy)/t)/2*3;//色
n:=Trunc(x);
x:=x-n;
case n of
0: begin r:= x ; g:= 1-x; b:= 0 ; end;
1: begin r:= 1-x ; g:= 0 ; b:= x ; end;
2: begin r:= 0 ; g:= x ; b:=1-x ; end;
end;
0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNGJava2使え。
0018_
NGNG0019デフォルトの名無しさん
NGNGKylix使え。
0020デフォルトの名無しさん
NGNG何をしたいのかよく分からんが
YHS輝度色相彩度やRGBと座標X,Yの対応はR^3⇔R^2で連続には
出来ないだろう。
0022デフォルトの名無しさん
NGNG全部の色を一度に見られないというデメリットがあるが……
0023デフォルトの名無しさん
NGNG色空間をペアノ曲線に乗せてみた。全くの無意味だった
http://up.isp.2ch.net/up/d6a1398874fa.jpg
やはりPainterのパレットの類(一つのパラメータは独立させる)のほうが
まともに使えると思う
002413
NGNGでも一般の人は画面上に全部の色があってそこからひらって来るイメージの方が判り易いかもしれないと思ってさ、
Adobeのツールのパレットが上が白で下が黒で連続した感じで色が並んでる。
それで、斜め方向に明るい順に並べて出来るだけ色が連続するようにしたらどうかなと思ったんだけど
数学的に解くのは難しいみたいだ。
8x8x4=256色なら 16x16に手作業で順におけばそれなりにおけるんだけどねえ
0025デフォルトの名無しさん
NGNGPhotoshopのパレットはおそらく彩度を固定していて
彩度の低い灰色などは選べないと思う。
0026葉っぱふみふみ
NGNGフリーじゃない。。?もしかして。。
0027デフォルトの名無しさん
NGNGhttp://mpeg.telecomitalialab.com/standards/mpeg-2/mpeg-2.htm
どれもisoで買うようにリンクされている
0028デフォルトの名無しさん
NGNGITU から無料で入手可能 ITU-T H.262 / ITU-T H.222 というのがそれ
MPEG-2 Video と MPEG-2 System だけだけど、多分 26 の言う MPEG-2
はこの二つで足りるはず。
0030葉っぱふみふみ
NGNGttp://ecs.itu.ch/cgi-bin/dms-ebookshop/
で登録するとお一人様、年三回ダウンロードが無料っす。
0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNGさらに,カメラで撮影した画像から手軽に内容を認識できれば面白そうだが.
QRコードの解説
www.denso.co.jp/EAP/qrcode/index-qr.html
0033デフォルトの名無しさん
NGNGこの画像をリアルタイムで2値化したいのですが、どのようにすればいいでしょうか?
背景を一色でその前に人をたたせて 人 背景部分を分離したいのです。よろしくお願いします。
0034デフォルトの名無しさん
NGNGどんなシチュエーションを想定してるの?
0035デフォルトの名無しさん
NGNGttp://wwwdoi.elec.nara-k.ac.jp/html/jisyu/dxm/cap2/index.html
このテキストレインのような状態を目指しています。
4月からプログラムを始めてやっとスムーズに取り込めるようになり、方法としてはDirectShowをつかってdvカメラから白黒動画をグラバに読み込んでます。
人と背景の境をエッジ検出でやろうと思ったのですが、2値化して分けたほうがいいのではないかと思いチャレンジしています。
リアルタイム処理で2値化して境の部分であたり判定を出そうとしているのですが、見当違いでしょうか?
美大系の大学でこういう事を専門にしている先生がいないために、もしかしたらものすごく見当違いのことをしているのじゃないかと思い、アドバイスいただけるとうれしいです。
よろしくお願いします。
0036デフォルトの名無しさん
NGNG浮動小数点を使わずに、
任意の二点間に直線を引きたいのれす。
もちろんlineとかは使えません。
使えるのはPSETなどの1ドット描画だけれす。
条件を満たす高速なアルゴリズムがあったら教えて欲しいのれす。
0037デフォルトの名無しさん
NGNGDDA Bresenham で検索したら?
003836
NGNG(´・ω・`)ノ すぐに実現できました。
ありがちょう!!
0039デフォルトの名無しさん
NGNGリアルタイムで白黒画像なら、2値化して境界の判定をするオーバーヘッドは
大きい様な気がする。 2値化の精度も問題だろうし・・・
特定のカラープレーン1枚を使って、マスクがあればマスク、無ければ直前の
画像との差分を、境界判定の処理にまわした方が良いと思うな。
「マスク」って背景のみ映ってる画像の事ね。
0040デフォルトの名無しさん
NGNG自分なら背景に加工するけどね。 たとえば
案1、背景を点滅させる
点滅してる部分をマスクパターンとして抜けば人物が残る
案2、背景に縞模様を写す
辺より縞模様を追跡して、分岐があった個所を繋げば輪郭パターンの出来上がり
0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNGいまとても参考にしているHPがあり
ttp://wwwdoi.elec.nara-k.ac.jp/html/jisyu/dxm/cap2/index.html
この中では差分で判定しているのですが、その差分判定の
s = s + (buf2[i]= fabs( buffer[i] - buf3[i]
で、とても時間がかかってしまいます。
クロマキー処理ということはあるひとつの色をすべて抜くということですよね。
あした大きな本屋にでもいってその情報も調べてみようと思います。
他にも気が付いたことがあったらぜひお願いします。
0043デフォルトの名無しさん
NGNG妥協案として、背景を真っ白とか真っ黒なら、有りか・・・
点滅してても、画像取り込みの段階で(略
2値化は難しい。 決まればキレイだがそうでないと、何見てるんだか判らん。
その式は、複数行に分けて、コンパイラの最適化に期待。
出来ればMMX命令を使ってアセンブラ化が良いぞ。
0044デフォルトの名無しさん
NGNG232Cかプリンタポートで取り込み毎に on/offを反転し
取り込んだ映像で1ピクセル単位に輝度差を調べれば良いから簡単だ
0045デフォルトの名無しさん
NGNGもろもろの基本的な画像処理がわかる書籍について、
知っている人がいたら教えてクレクレタコラ。
0046デフォルトの名無しさん
NGNGネット上にいくらでもあるような
0047デフォルトの名無しさん
NGNG判定した方が、処理が早いと思うが。
ポートを見に行ってたのでは、時間が掛かり過ぎるよ。
>45
VRAMの効率的な扱い方って、処理系に依存するから、自分で探すしかないよ。
0048デフォルトの名無しさん
NGNGそういうのはゲームプログラミングの関係で多いよね。
0049デフォルトの名無しさん
NGNGポートを見るとか関係ないよ。
言ってるのは、232CのRTSとかの出力で人物背景のライトをON/OFF出来るようにしておいて、
ライトオンで一度 取り込み -->A
ライトオフで一度 取り込み--> B
A-Bのデータを作れば背景が抜けるという意味さ
0050デフォルトの名無しさん
NGNGゴメン、意味は判ってるんだ。 ただ、セントロやシリアルのポートをいじるのは
画像の収集(フレームの取り込み)に比べて時間がかかり過ぎる事が言いたかった。
それから、その方法では、人物が画面内に静止したら、まずくないか?
0051デフォルトの名無しさん
NGNGこの方法は人物が静止してたら問題ない。逆に動いていた時に差分が
出てしまい、その動いてたときに間違えないような設定値を探さないといけない。
0052デフォルトの名無しさん
NGNGついての質問をさせていただきます。前スレを読んだのですが、
私の状況と微妙に違ったため、解決することが出来ませんでした。
(状況)
利用しているサーバではGD,PerlMagickがインストールされていません。
(欲しい情報)
・インストール無しで使える、画像縮小のモジュール
・画像を縮小するための具体的なアルゴリズム
・インストールが必要なGD,PerlMagickモジュールの改造方法
・前スレで記載されていたjpegの展開⇒サイズ変更⇒圧縮について
のような情報を求めています。
(jpeg/png/gifなどについて行いたいです。(1つしか出来なくても構いません))
自分でJpegの構成を調べて処理することは最後の手段としたいっす。
どうかよろしくお願いします。
0053学生
NGNGなかなか、難しいです。先生から2値化 エッジ検出 動き差分習得などのアドバイスを
いただいたのでそれらを試してみたいと思います。
ただ先生は、わからないけど。。。じゃない?という答えだったので不安でいっぱいなのですが。
rc232cポートなどつかういいんですかね?ただ、そうなるとまたハードルが高く。。
アセンブラ化も、、大変そうですね、がんばってみます。ありがとうございました。
また、なにかあったら質問にきます。ありがとうございました。
005452
NGNG0055社会人
NGNG出力は最終的にはBMPあたりなんですが、それはいいとして、とりあえず
DXFをラスタライズする際に利用可能な、そこそこ使いやすいライブラリ
(有償/無償問わんです)って何かないでしょか?
アプリだと、要はコンバートなので色々見つかるんですが、ライブラリだ
となかなか見当たらなくて。
呼び出し側の言語としては、Javaか、C/C++のどちらか(現時点ではどち
らでもいいです)で、ただ、C/C++ならWindows上で利用できることが前提に
なりそうです。
よりふさわしいスレ/板があったら、それでもよいので教えてくださいまし。
005655
NGNG書き方が変だったかも
> ベクタで、2DのDXFファイルを、解像度指定してラスタライズしたいです。
↓
> ベクターデータのDXFファイル(2D)を、解像度指定してラスタライズしたいです。
0057デフォルトの名無しさん
NGNG面倒なのはスプラインくらいだろ
005855
NGNG> 面倒なのはスプラインくらいだろ
いや、全部のDXFエレメントをレンダリングするのを自力で実装する費用は
出ない案件で、上司から、
「市販でコンバートするライブラリとかあるんじゃないの?」
と言われていたものの、探してみると意外とみつからない、というのが実情
でして…。
0059デフォルトの名無しさん
NGNGhttp://my.vector.co.jp/servlet/System.FileDownload/download/ftp/0/281853/pack/win95/game/table/pachinko/SUTING.LZH
http://www5b.biglobe.ne.jp/~ryo-kyo/
0060デフォルトの名無しさん
NGNGコマンドライン形式のコンバータを呼び出すのではダメなの?
数十万円程度で入手できると思うが
ただ、AutoCADの表示に完全に忠実なラスタライズをしている製品
は、少ないので注意。特にPOLYLINEやMTEXT。
0062デフォルトの名無しさん
NGNGどの値が自由に使ってよいか知ってる人がいれば教えてください。
0063デフォルトの名無しさん
NGNGどんな方法がありますか?
できるだけ高速なものがいいです。
0064デフォルトの名無しさん
NGNG0065デフォルトの名無しさん
NGNG今linuxでlibtiffってライブラリーを使ってC言語で
グレースケールの画像の各ピクセルの輝度を取り出したいんですが
どうもよくわかりません。
ここにあるTIFFReadScanlineって関数を使ってやれば出来そうだなとは思うんですが。
http://www.libtiff.org/man/TIFFReadScanline.3t.html
開いた画像を一行ずつスキャンしてバッファーに解凍するって言うんですけど
このバッファに入った値をどうすればピクセル毎の輝度が得られるかさっぱりわからないんです。
文字列をgets()で開いた場合に、配列の各要素に一文字ずつ格納されるのとはどうも違うようで
イメージが掴めません。
どなたかわかる方がいらっしゃったらよろしくお願いします。
0066デフォルトの名無しさん
NGNGプレゼンハムってどんなプレゼン?
0067デフォルトの名無しさん
NGNG輝度はピクセルのRGB値から簡単に求めることができる。
公式は「0.299f * R + 0.587f * G + 0.114f * B」
0068とも
NGNGhttp://s-rf9.free-city.net/page003.html
0069デフォルトの名無しさん
NGNGStretchDIBits()した結果のデバイスコンテキストをDIBなりDIBSectionなりに取得。
0070
NGNG光を受ける面が傾いていたら暗くみえて,傾いていない(勾配がゼロ)
の場合明るく見えますよね?
それとは少し違うんですけど,三次元の形状でなめらかな特性をもつ
物体の「なめらかさ」を定義したい場合
(px^2 + py^2) + (qx^2 + qy^2)がそのなめらかさらしいのですが
いったいなぜそうなるんですか?
ちなみにp,q というのはその三次元形状の物体の面の勾配です。
0071デフォルトの名無しさん
NGNGCADファイルのDXFをメタファイルに変換をしているのですが、
ブロックの挿入で
x方向・y方向・z方向の尺度と回転角度って項目がデータにあるんですが
これはブロックの何を基準に回転または拡大・縮小をかけているんでしょう?
始点?終点?中心点?
どなたかわかる方がいれば教えてください
007265
NGNGアドバイスして頂いてありがとうございます。
でも、今取り組んでいるのはグレースケールなんです。
それと私がわからない点は、一行分バッファに取り込んでから
どうすれば各ピクセル毎の輝度が得られるかって事なんです。
理解し難い文章ですみません。
0073デフォルトの名無しさん
NGNGTransparentBltってだめなのwin98だけ?
win98seからはok?
0074デフォルトの名無しさん
NGNGWin32APIには無いようだが。もっともWin32APIのマニュアルには
そういう関数がサンプルプログラムで入ってはいるが
0075デフォルトの名無しさん
NGNGだめ、2000かXP。
↓のスレで聞いた方が良かったな
Win32API 質問箱 Build12
http://pc2.2ch.net/test/read.cgi/tech/1056033645/
>>74
>Win32APIには無いようだが。
なにをもって無いと、言ってるのか分からないが・・・
http://www.microsoft.com/japan/msdn/library/ja/jpgdi/html/_win32_transparentblt.asp
0076デフォルトの名無しさん
NGNGtiffはよくわからんがbmpにしてから
http://asapc1.cc.it-hiroshima.ac.jp/stu/c02/c02.html
みたいにするのはだめか?
0079デフォルトの名無しさん
NGNGウインドウが他のウインドウで隠されても描画したものを保持したいんですが、
XSetWindowAttributes window_attr;
window_attr.backing_store = Always;
window_attr.save_under = True;
XChangeWindowAttributes(display, window, CWBackingStore|CWSaveUnder, &window_attr);
としても、消えてしまいます。
どうしたら描画内容を保持できるのでしょうか。
0081デフォルトの名無しさん
NGNGwmfの事についてlibwmfのドキュメントを少し読んでみたのですが、
libwmf自体は各画像フォーマットへのインターフェース的な事だと
私は解釈したのですが、そういう事であっているのでしょうか?
そういう事であれば、wmfと言う画像フォーマットはヘッダ情報に
wmfと書かれた、実体はjpegであったり、その他色々な画像形式が
そのままで含まれている形式(?)と言う事なのでしょうか。
どなたか、わかる方がいたら教えてください。
0082デフォルトの名無しさん
NGNGWMF=Windows Meta File
WindowsのGDI描画命令をそのまま保存されてるもの
0083デフォルトの名無しさん
NGNGあ、なるほどそうですね。そういえばベクターフォーマットの形式ですね。
wmfって。
今、Javaでwmf画像のファイルを扱うプログラムを作りたいのですが、その
描画命令を理解できるParserが必要って事ですよね。こう言うのが載った
wmfフォーマット形式の仕様書みたいなのってどこかにあるんでしょうか?
0084デフォルトの名無しさん
NGNGAPIを通じた入出力については書かれている
008532
NGNG大学でちょっと試す程度なので,なんとかお安くならないものでしょうか.
#シェアウェアでソースがあったら買ってしまいそうです.
0086デフォルトの名無しさん
NGNGカメラ映像に残った幼児連れの若い男について画像分析などで、市内の13歳
の中学生とほぼ特定した。
もとの画像がどれだけ曖昧だったか気になるところ。
0088デフォルトの名無しさん
NGNG(1) XCreate
Pixmap でピックスマップを作る.
(2) ウィンドウに描くのと同じ要領でそれに描画.
(3) Expose イベントを取得したときに XCopyArea で
表示したいウィンドウに描画
でいかがでしょうか?
0089デフォルトの名無しさん
NGNG(1) XCreatePixmap でピックスマップを作る.
なんで改行入ったんだ?
0090山崎 渉
NGNG__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0091デフォルトの名無しさん
NGNG二次元配列に格納する関数ってありますか?
言語はCです。
よろしくお願いします。
009479
NGNGやっぱりそうするしかないんでしょうか。
学校の solaris では期待したとおりの動作をするんですが……。
0095デフォルトの名無しさん
NGNG今私の膝で開いてる本によると,バッキングストア機能は
持っているサーバと持ってないサーバがあるらしいです.
009695
NGNG×バッキングストア機能は
○バッキングストア機能を
どの X サーバでも確実に動作させたいなら,
バッキングストア機能を頼るのはよくなさそうですね.
0097デフォルトの名無しさん
NGNG割と最近のWindowsでは、DIBにJpegイメージを格納してデバイスコンテキストに描画できるらしい。
それでうまくいけば、DIBSectionのメモリデバイスコンテキストにでも描けばRGBの配列が得られるはず。
0098デフォルトの名無しさん
NGNG画像ファイル .PCT と .PNG を自力で展開したいので、
上記2つのフォーマットの詳細な構造を知りたいのれす。
ご存知の方、ヒントでもなんでも良いのでよろしくお願いします。
0099_
NGNG010098
NGNG日本語の情報が欲しいのれす。
http://www.wotsit.org/ にある英語情報は読めないのれす。
0101デフォルトの名無しさん
NGNGでなければ翻訳サイトでも使え。
そうでなくともぐぐれば png形式は簡単に引っかかる
0102デフォルトの名無しさん
NGNGが 0 を返します。
どこが悪いのでしょうか。
Display *display;
Colormap colormap;
unsigned long pixel[4];
display = XOpenDisplay(NULL);
colormap = DefaultColormap(display, DefaultScreen(display));
XAllocColorCells(display, colormap, False, NULL, 0, pixel, 4);
0103_
NGNG0104102
NGNG色を変化させることです。
0105デフォルトの名無しさん
NGNGttp://tech.millto.net/~pngnews/kndh/PngSpec1.2/PNGcontents.html
010632
NGNG何回かメール差し上げたのですが...
0109山崎 渉
NGNG0110デフォルトの名無しさん
NGNGjpgの構造が載っているページ、英語でも(もちろん日本語のほうが嬉しいですが)いいので教えてください。
自分でも少し検索してみたのですが、jpgだと画像が引っかかってしまい上手く検索できませんでした。
0111デフォルトの名無しさん
NGNGIJGのlibjpeg使うよろし
0112デフォルトの名無しさん
NGNG公式な情報はwww.jpeg.orgに(英語)。
日本語のWebサイトでは、
http://siisise.net/jpeg.html
とかを便利に使ってたけど。
あと、書籍では
http://www.amazon.co.jp/exec/obidos/ASIN/4797306327/
が分かりやすいと思うが、入手困難かも。
0113110
NGNGすいません。jpegなめてました。さすが本一冊でちゃうだけのことはありますね。
おとなしくlibjpeg使います。
どうもありがとうございました。
0114デフォルトの名無しさん
NGNG/***** hsi_data[0][g][r] 色相、hsi_data[1][g][r] 彩度、hsi_data[2][g][r] 明度 *****/
void rgb_to_hsi(double ***hsi_data, UCHAR ***rgb_data, int gyou, int retu){
int g,r;
double min_i,max_i;
double R,G,B;
for(g=0; g<gyou; g++)
for(r=0; r<retu; r++){
max_i = (MAX3(rgb_data[0][g][r],rgb_data[1][g][r],rgb_data[2][g][r]))/255.0;
min_i = (MIN3(rgb_data[0][g][r],rgb_data[1][g][r],rgb_data[2][g][r]))/255.0;
hsi_data[2][g][r] = (max_i+min_i)/2.0;
if(max_i - min_i <= EPSILON)
hsi_data[1][g][r] = 0.0;}
else{
if(hsi_data[2][g][r] <= 0.5) hsi_data[1][g][r] = (max_i-min_i)/(max_i+min_i);
else hsi_data[1][g][r] = (max_i-min_i)/(2-max_i-min_i);
R=(max_i-(rgb_data[0][g][r]/255.0))/(max_i-min_i);
G=(max_i-(rgb_data[1][g][r]/255.0))/(max_i-min_i);
B=(max_i-(rgb_data[2][g][r]/255.0))/(max_i-min_i);
if((rgb_data[0][g][r]/255.0 - max_i) <= EPSILON){
hsi_data[0][g][r] = (B-G)*PAI/3;
}else if((rgb_data[1][g][r]/255.0 - max_i) <= EPSILON){
hsi_data[0][g][r] = (2+R-G)*PAI/3;
}else if((rgb_data[2][g][r]/255.0 - max_i) <= EPSILON){
hsi_data[0][g][r] = (4+G-R)*PAI/3;
}
if(hsi_data[0][g][r] < 0)
hsi_data[0][g][r] += 2.0*PAI;
}}}
0115続き
NGNGint g,r,h;
UCHAR p,q,t;
for(g=0; g<gyou; g++)
for(r=0; r<retu; r++){
if(hsi_data[1][g][r] <= EPSILON) rgb_data[0][g][r] = rgb_data[1][g][r] = rgb_data[2][g][r] = (UCHAR)(hsi_data[2][g][r]*255+0.5);
else{
if(hsi_data[0][g][r] < 0.0) hsi_data[0][g][r] += 2*PAI;
h = (int)(hsi_data[0][g][r]/PAI*3);
if(hsi_data[0][g][r] >= 2*PAI) h=0;
p = (UCHAR)(hsi_data[2][g][r]*(1-hsi_data[1][g][r])*255+0.5);
q = (UCHAR)(hsi_data[2][g][r]*(1-hsi_data[1][g][r]*(hsi_data[0][g][r]-h))*255+0.5);
t = (UCHAR)(hsi_data[2][g][r]*(1-hsi_data[1][g][r]*(1-hsi_data[0][g][r]+h))*255+0.5);
switch(h){
case 0:
rgb_data[0][g][r]=(UCHAR)(hsi_data[2][g][r]*255), rgb_data[1][g][r]=t,rgb_data[2][g][r]=p;break;
case 1:
rgb_data[0][g][r]=q, rgb_data[1][g][r]=(UCHAR)(hsi_data[2][g][r]*255),rgb_data[2][g][r]=p;break;
case 2:
rgb_data[0][g][r]=p, rgb_data[1][g][r]=(UCHAR)(hsi_data[2][g][r]*255),rgb_data[2][g][r]=t;break;
case 3:
rgb_data[0][g][r]=p, rgb_data[1][g][r]=q,rgb_data[2][g][r]=(UCHAR)(hsi_data[2][g][r]*255);break;
case 4:
rgb_data[0][g][r]=t, rgb_data[1][g][r]=p,rgb_data[2][g][r]=(UCHAR)(hsi_data[2][g][r]*255);break;
case 5:
rgb_data[0][g][r]=(UCHAR)(hsi_data[2][g][r]*255), rgb_data[1][g][r]=p,rgb_data[2][g][r]=q;break;
default:
error1("hsi_to_rgb error");
}
}}}
0116デフォルトの名無しさん
NGNGわけわかんない感じの
ながいコードになっちゃうんだよなあ
そこがツライ・・・
0117115続き
NGNGhttp://www.42ch.net/UploaderSmall/source/1060271379.png
http://www.42ch.net/UploaderSmall/source/1060272009.ppm (間違ってppm上げてしまいました)
青が赤に・・・
検索もしてみましたが、彩度を求めるときに明度<=0.5 or 明度>0.5という判定を使っている式が見つかりませんでした。
この式は私が使っている教科書に載っているのですが、これにはHSI逆変換については載っていませんでした。
その為HSIからRGBにするときには使っていて、RGBからHSIに戻すときにこの判定が無く青が赤になってしまうのではないかと・・・。
結論を言いますと彩度を求めるときに明度の判定を用いているHSI逆変換プログラムの式を教えてください。
あとrgb_data[0][g]には赤、rgb_data[1][g]には緑、rgb_data[2][g]には青が入ってます。
0118114
NGNG改行制限とかタブが消えるとかあったのでマスマス分かりにくく・・・
0119デフォルトの名無しさん
NGNGhttp://www.42ch.net/UploaderSmall/source/1060272692.png
参考にしたページ
http://216.239.57.104/search?q=cache:LAb_Oee8lKkJ:village.infoweb.ne.jp/~ishidate/vcpp6_g3/vcpp6_g3.htm+HSI%E5%A4%89%E6%8F%9B%E3%80%80HSI%E9%80%86%E5%A4%89%E6%8F%9B&hl=ja&lr=lang_ja&ie=UTF-8
http://216.239.57.104/search?q=cache:bO0-4KTmwMgJ:homepage1.nifty.com/susho/diary/2001/02.html+HSV%E9%80%86%E5%A4%89%E6%8F%9B&hl=ja&lr=lang_ja&ie=UTF-8&inlang=ja
0120デフォルトの名無しさん
NGNG0121デフォルトの名無しさん
NGNGRGB->HSI変換式が参考Webページと異なる気がするのだが。
HSVとHSI(HSL)がごっちゃになってる?
(どちらがどういう色空間だったかは忘れたけど)
0122デフォルトの名無しさん
NGNGで明度は(Max+Min)/2の奴か。面倒だな
しかしよくごちゃごちゃ書いたもんだ。もう少し綺麗に書こうとは
思わないのかね。
0123デフォルトの名無しさん
NGNG括弧の対応とか,case文の中身とか
0124114
NGNGrgb_data内にはunsigned char型として0〜255の値を格納しています。
その為HSI変換内で255で割って正規化しています。
あとは明度を求めるときにRGBの最大値と最小値の和を2で割って求めている点と、
彩度を求めている点でしょうか。
HSIとHSVとHSLは同じと下のページに書いてありました。
そこによるとIとIntensity、VはValue、LはLightness
http://216.239.57.104/search?q=cache:QRiStM-N1JUJ:www2u.biglobe.ne.jp/~color/all/ml_summary1501_1550.htm+HSI+HSV+HSL+value+intensity&hl=ja&lr=lang_ja&ie=UTF-8
と思ったのですがHSIとHSVは違うようで・・・
http://216.239.57.104/search?q=cache:BIysCB_YqegJ:homepage1.nifty.com/snap/room03/c02/cg/cg01_03.html+HSI+HSV+HSL+value+intensity&hl=ja&lr=lang_ja&ie=UTF-8
ここら辺が色の色相が変わる原因でしょうか?
>122>123
とりあえずソース上げてみました。
上のやつは見やすくするために全角スペース使ってる箇所があるのでそのままではコンパイラは通らないと思います。
あとUCHARはunsigned charです。
http://www.42ch.net/UploaderSmall/source/1060339287.c
0125デフォルトの名無しさん
NGNGとりあえず,色の変換だけするように機能を削ってみてはいかがですか?
(rgb_to_hsiなら,入力が1画素分のRGB値,出力が1画素分のHSI値となるように)
このままだと,テスト実行するだけのためにいちいち三次元配列を
宣言しないといけないのでちょっと面倒です.
あと,この関数の実行例なども一緒にいれてほしいです.
0126デフォルトの名無しさん
NGNGif((rgb_data[0][g][r]/255.0 - max_i) <= EPSILON){
hsi_data[0][g][r] = (B-G)*PAI/3;
}else if((rgb_data[1][g][r]/255.0 - max_i) <= EPSILON){
hsi_data[0][g][r] = (2+R-G)*PAI/3;
}else if((rgb_data[2][g][r]/255.0 - max_i) <= EPSILON){
hsi_data[0][g][r] = (4+G-R)*PAI/3;
の,(2+R-G)*PAI/3 のところは, (2+R-B)*PAI/3の間違いじゃない?
0127126
NGNGif((rgb_data[*][g][r] / 255.0 - max_i) <= EPSILON)となっているところは,
if(fabs(rgb_data[*][g][r] / 255.0 - max_i)) <= EPSILON) にしないとまずいと思う.
ここは,rgb_data[*][g][r] /255.0 と max_i が同じかどうかを判定させる目的でやっている
と思うけど, 括弧の中が負になった場合も条件を満たしてしまう.
0128126
NGNGHSI -> RGB の変換方法を解いてみました.
(0 <= I <= 1,0 <= S <= 1,0 <= H < 2π)
I <= 0.5 のとき
max = I(S + 1)
I > 0.5 のとき
max = (1 - I)S + I
}
min = 2I - max
i = H / (3π) の整数部
hh = H / (3π) の小数部
0129デフォルトの名無しさん
NGNGR = max
G = max * hh
B = min
i = 1のとき
R = max * (1 - hh)
G = max
B = min
i = 2のとき
R = min
G = max
B = max * hh
i = 3のとき
R = min
G = max * (1 - hh)
B = max
i = 4のとき
R = max * hh
G = min
B = max
i = 5のとき
R = max
G = min
B = max * (1 - hh)
0130126
NGNG>> i = H / (3π) の整数部
>> hh = H / (3π) の小数部
正しくは
i = H / (π / 3) の整数部
hh = H / (π / 3) の小数部
これでうまくいくはずです.
0131デフォルトの名無しさん
NGNG129 の中身全てをこれとすげ替えてください.
d = max - min
i = 0のとき
R = max
G = hh * d + min
B = min
i = 1のとき
R = (1 - hh) * d + min
G = max
B = min
i = 2のとき
R = min
G = max
B = hh * d + min
i = 3のとき
R = min
G = (1 - hh) * d + min
B = max
i = 4のとき
R = hh * d + min
G = min
B = max
i = 5のとき
R = max
G = min
B = (1 - hh) * d + min
0132デフォルトの名無しさん
NGNGそれから別に聞かなくていいけど一言言いたい事は
色空間の変換は画素ごとに独立しているんだから
全画素にわたる反復と色空間の変換は別の関数にしたい、という事と
画素は一つの構造体(struct rgb{double r;double g;double b};)にまとめた
方が気分がいい、という事だな
0134114
NGNGそうですね。テストをするなら1画素に注目したほうがわかりやすいですもんね。
自分電卓使って手で求めてました・・・。
実行例は上の方にpng画像がまだあるハズです。
>126
おっしゃる通りです。
初歩的なミスを犯してました。
>127
そこの部分に関してはrgb_data[*][g][r]に格納させる値が0〜255なので問題はないかと思われます。
ですがプログラマとしてはそういった部分を気をつけるのは大切なことだと思ったので参考になりました。
>128-131
わざわざありがとうございます。早速コーディングしてみたのですが前と変わらなく・・・_| ̄|○
前というのは正確に言いますと
http://216.239.57.104/search?q=cache:LAb_Oee8lKkJ:village.infoweb.ne.jp/~ishidate/vcpp6_g3/vcpp6_g3.htm+HSI%E5%A4%89%E6%8F%9B%E3%80%80HSI%E9%80%86%E5%A4%89%E6%8F%9B&hl=ja&lr=lang_ja&ie=UTF-8
のソースをそのまま使った場合の結果です。
念の為ソースを上げておきます。コーディングミスの可能性が多分にありますので・・・
http://www.42ch.net/UploaderSmall/source/1060353992.c
>132-133
反復と変換を分けると関数の呼び出しが増えてたとえポインタで引数を渡したとしても
処理が遅くなったりしないんでしょうか?そこら辺詳しくないのでわからないのですが。
画素は確かに構造体にまとめたほうがいいですね。
あとこれは画像処理標準テキストブックを参考にしたのですが、そこにはHSI変換と書いてあり、
HSI双六角錐カラーモデルとありました。
0135126
NGNG>> >127
>> そこの部分に関してはrgb_data[*][g][r]に格納させる値が0〜255なので問題はないかと思われます。
例えば, RGB 値が (0, 255, 0) のときを考えると,
max_i = 1.0, rgb_data[0][g][r] = 0.0 のため,
if((rgb_data[0][g][r]/255.0 - max_i) <= EPSILON){
hsi_data[0][g][r] = (B-G)*PAI/3;
}else if((rgb_data[1][g][r]/255.0 - max_i) <= EPSILON){
hsi_data[0][g][r] = (2+R-B)*PAI/3;
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ↑ここを実行したいにもかかわらず,
}else if((rgb_data[2][g][r]/255.0 - max_i) <= EPSILON){
hsi_data[0][g][r] = (4+G-R)*PAI/3;
}
実際は
if((rgb_data[0][g][r]/255.0 - max_i) <= EPSILON){
hsi_data[0][g][r] = (B-G)*PAI/3;
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ↑ここを実行してしまう
}else if((rgb_data[1][g][r]/255.0 - max_i) <= EPSILON){
hsi_data[0][g][r] = (2+R-B)*PAI/3;
}else if((rgb_data[2][g][r]/255.0 - max_i) <= EPSILON){
hsi_data[0][g][r] = (4+G-R)*PAI/3;
}
0136126
NGNGrgb_to_hsi 内にやたらと / 255.0 が入っていますけど,
これをなくすように変更するだけでだいぶ単純になりますよ.
そうすれば, if( *** - max_i <= EPSILON) とやっているところも
自然と if ( *** == max_i) に置き換えられますから
0137デフォルトの名無しさん
NGNG>反復と変換を分けると関数の呼び出しが増えてたとえポインタで引数を渡したとしても
>処理が遅くなったりしないんでしょうか?
高速化は、まともに動作するものが出来てから考えればよいかと。
最初は冗長でも可読性の良いコードを書くべし。
このスレ急に盛り上がってきたな。
0138114
NGNGそうですね・・・私が馬鹿でした。
ちょっと考えればわかることでした。
青が赤になってしまうのはここが原因だったようです。
>136
言われたとおり正規化したRGB値を格納する配列を作ってみました。
最初からこうしていればハマらなかったですね。
>137
盛り上がってきたようでその実私ばかり書き込んでるわけで。
126氏のプログラムとWEBのサンプルコードを比較してみました。
http://www.42ch.net/UploaderSmall/source/1060402857.png
やはり明度判定のある方が再現性が高いようです。
レスくれたみなさん。特に126氏。どうもありがとうございました。
分からないことがあったらまた来ると思いますのでそのときはよろしくお願いします。
0139デフォルトの名無しさん
NGNGRGB->HSI 変換、HSI->RGB変換は可逆変換なので、
完全に元に戻せるはずです。なので、
再現性うんぬんでなくて、正しいか間違っているかどちらかということになります。
114さんのHSIは双六角錐型、
WEBで紹介しているHSIは(単)六角錐型で異なる色空間(こちらはHSVと呼ばれることが
多いみたいです)なので、114さんがやったことは、結局下のようなことになります。
・RGB -> HSI 変換
・HSI を HSVとして読む
・HSV -> RGB変換
HSI と HSV はそれぞれ異なる色空間なので、最初のRGB値と最後のRGB値は
変わっていて当然なわけです。
いきなり画像を使って比較するのではなく、RGB値やHSI値を直接いれて
比較してみることをお勧めします。
0140114
NGNG>RGB->HSI 変換、HSI->RGB変換は可逆変換なので、
>完全に元に戻せるはずです。
ここに関してはとあるWEBページでHSV変換は
>もともと256階調のものをかたや0〜2π、かたや0〜1に変換するんだから、誤差くらい出る。
>それに、Hが同じでもVやIが低いとかなり色は不安定になる。
>そもそも、HSVへの変換は線形式使ってるわけじゃないんだから、完全な逆変換なんて存在しない。
これを読んでたために再現性という言葉を用いたわけですが、HSI変換は違うのでしょうか?
私も計算中の型落ち等で可逆変換は無理だと思います。
結論を言いますと明度判定のある逆変換がHSI逆変換(126氏の)で
無い方(WEBの)がHSV逆変換ということで、HSI変換で生成されたものに
HSI逆変換を施したのだからHSV逆変換を施したものより似ているのは当たり前である。
ということでよろしいでしょうか?
0141デフォルトの名無しさん
NGNGそうです。
(114氏の)HSI と,(WEBの)HSV では、 H の変換の仕方は同じですが、
SI と SV の変換の仕方がそれぞれ違います。
そのため、あべこべに使うと適切でない変換をしてしまうことになります。
>> >そもそも、HSVへの変換は線形式使ってるわけじゃないんだから、完全な逆変換なんて存在しない。
>> これを読んでたために再現性という言葉を用いたわけですが、HSI変換は違うのでしょうか?
>> 私も計算中の型落ち等で可逆変換は無理だと思います。
とりあえず、理論上は可逆にできると思います。
そして、少なくともこのケースでは充分な精度を持てば完全に可逆にできます。
証拠のソースも示しておきますね。
ソースの説明
(1) ある rgb 値を用意
(2) rgb -> hsi に変換
(3) hsi -> rgb に変換
(4) (3) で求めた rgb 値と (1) の rgb 値の差を求める.
全ての rgb 値についてこの処理をして、 (4)の和を求めます。
その和が 0 であれば誤差 0 といえます。
rgb それぞれ 8ビット(=256種類)ずつ、つまり、 256^3 色分だけ求めますので
かなり処理時間がかかると思います。なるべく速いマシンでやって下さい。
0142デフォルトの名無しさん
NGNG#include <stdio.h>
#define PI 3.14159265358979
#define PI2 (PI * 2.0)
#define PI_3 (PI / 3.0)
//HSI双六角錐カラーモデル
static int max3(int x, int y, int z) {
int i, a[3], max;
a[0] = x;
a[1] = y;
a[2] = z;
max = a[0];
for (i = 1; i < 3; i++){
if (max < a[i]) max = a[i];
}
return max;
}
static int min3(int x, int y, int z) {
int i, a[3], min;
a[0] = x;
a[1] = y;
a[2] = z;
min = a[0];
for (i = 1; i < 3; i++){
if (min > a[i]) min = a[i];
}
return min;
}
0143デフォルトの名無しさん
NGNGdouble min, max, d;
double r, g, b;
r = rgb[0]; g = rgb[1]; b = rgb[2];
max = max3(r, g, b);
min = min3(r, g, b);
d = max - min;
hsi[2] = (max + min) / 510.0;
if (max == 0.0){
hsi[0] = 0.0; hsi[1] = 0.0;
}else{
if(hsi[2] <= 0.5){
hsi[1] = d / (max + min);
}else{
hsi[1] = d / (510 - max - min);
}
if(rgb[0] == max){
hsi[0] = (g - b) / d * PI_3 ;
}else if(rgb[1] == max){
hsi[0] = (2.0 + (b - r) / d) * PI_3;
}else if(rgb[2] == max){
hsi[0] = (4.0 + (r - g) / d) * PI_3;
}
if (hsi[0] < 0) hsi[0] += PI2;
}
}
0144デフォルトの名無しさん
NGNGdouble H, S, I, hh;
double max, min, d;
int i;
H = hsi[0];S = hsi[1];I = hsi[2];
hh = H / PI_3; i = (int)hh; hh -= i;
// H = i + hh (i : 整数部, hh : 小数部) (0 <= H < 6)
if (I < 0.5) max = I * (S + 1.0);
else max = (1.0 - I) * S + I;
min = 2.0 * I - max; max *= 255.0; min *= 255.0; d = max - min;
max += 0.5;min += 0.5; //四捨五入
switch(i){
case 0:
rgb[0] = max; rgb[1] = hh * d + min; rgb[2] = min; break;
case 1:
rgb[0] = (1 - hh) * d + min; rgb[1] = max; rgb[2] = min; break;
case 2:
rgb[0] = min;rgb[1] = max;
rgb[2] = hh * d + min; break;
case 3:
rgb[0] = min;rgb[1] = (1 - hh) * d + min;
rgb[2] = max; break;
case 4:
rgb[0] = hh * d + min;rgb[1] = min;rgb[2] = max; break;
case 5:
rgb[0] = max;rgb[1] = min;
rgb[2] = (1 - hh) * d + min; break;
}
}
0145デフォルトの名無しさん
NGNGunsigned char rgb[3];
int i, j, k;
double sum, sum_prev;
double hsi[3];
sum = 0.0;
for (k = 0; k < 256; k++){
for (j = 0; j < 256; j++){
for (i = 0; i < 256; i++){
sum_prev = sum;
rgb[0] = i; rgb[1] = j; rgb[2] = k;
rgb_to_hsi(hsi, rgb);
hsi_to_rgb(rgb, hsi);
sum += abs(rgb[0] - i) + abs(rgb[1] - j) + abs(rgb[2] - k);
if (sum > sum_prev){ //誤差がでたときに表示されます
printf("(%d, %d, %d) -> (%d, %d, %d)\n", i, j, k, rgb[0], rgb[1], rgb[2]);
}
}
}
}
printf("sum : %f\n", sum);
return 0;
}
//全角スペースをタブか半角スペースなどに変換してからコンパイルしてください.
0146デフォルトの名無しさん
NGNGrgb それぞれ8ビットずつのとき、どれくらいの精度があれば完全に可逆にできるか
検証してみました。
最も彩度の高い色がでる領域(HSI なら S=1.0, I=0.5 HSV なら S=1.0 V = 1.0)で、
赤(255, 0, 0)からその隣の色(マゼンタ(255, 0, 255)か黄色(255, 255, 0)) に移動するときに、 H に必要な精度を考えます。
(この移動で SI や SV は変わりません)
赤と黄色の中間色は 赤と黄色を含めて 256 通りあります。
なので、その間で H が 256 分割できるだけの精度(つまり 8 ビット)が必要になります。
白と黒を除くと原色は 6 個あるので、 H は全体で 256 * 6 分割 必要になります。
よって、2^10 < 256 * 6 < 2^11 なので、 H は 11 ビット必要となります。
今度はS=0からS=1.0に移動する場合を考えます。
Sの変化に対して最もよく色が変化する点はHSI なら I = 0.5、HSV なら V = 1.0です。
(S=0のとき、HSIは灰色(127,127,127)、HSVは白(255, 255, 255))
そこから、例えば赤(255, 0, 0)に移動することを考えます。
すると、HSIでは 128 分割、 HSV では 256 分割必要なので、多くても Sは 8 ビットあれば
充分です。
Iについても白と黒で同様に考えれば、 8ビットあれば充分です。
計算誤差に対する遊びを1〜2ビット用意したとしても
H 13ビット S 10ビット I 10ビット V 10ビット あれば誤差0にできるということになります。
ちなみに 142-145 のソースでは 全て double型(64ビット)でやっているので、この条件を
余裕でクリアしてます。
0147デフォルトの名無しさん
NGNG>> 完全な逆変換なんて存在しない。
これがいいたいことは、こういうことかもしれないです。
H = 120度
S = 0
V = 0
↓ RGB へ 変換
R = G = B = 0 ← ここで H (Sも?)の情報が消える
↓ HSV へ 変換
H : 不定
S : 不定?
V = 0
HSV -> RGB -> HSV とやると、元の HSV の値は必ずしも復元できるとは限らないので、
そういう意味では互いに完全に可逆の関係とはいえないかもしれないです。
ですが、逆は可逆になると思います。
R = G = B = 0
↓ HSV へ 変換
H : 不定
S : 不定?
V = 0
↓ RGB へ 変換
R = G = B = 0 ← H, S がどんな値でも V=0 なら黒
HSI も I=0 のときに黒になることに加えて I=1 のときもH, S の値に関係なく白になるだけで
あとはだいたい同じかと思います。
0148デフォルトの名無しさん
NGNGhsi_to_rgb 及び rgb_to_hsi
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=135&fi=no
0149デフォルトの名無しさん
NGNG見事に整頓されてますね。
rgb_to_hsi と hsi_to_rgb の 引数 row, column は関数呼び出し側で&をつけるだけで
不要になるような気がしますがいかがでしょうか?
0150148
NGNGえーとポインタを渡すということ?
それからやはり浮動小数の0比較には誤差切捨てが必要
double chop(double d){ return fabs(d)<epsilon ? 0 : d ;}
としてif(chop(d)==0)...;、
あと構造体の変換にはコンストラクタがほしいなあ
0151デフォルトの名無しさん
NGNG0152149
NGNGえっと、こんな感じで
HSI hsi[HEIGHT][WIDTH];
RGB rgb[HEIGHT][WIDTH];
.
for (j = 0; j < height; j++){
for (i = 0; i < width; i++){
rgb_to_hsi(&hsi[j][i], &rgb[j][i]);
}
}
0153114
NGNG遅くなり申し訳ありません。
コンパイルして実行してみました。
そうしたらグレースケール時?にGreenの値が消えていたので
ソースをよく見たところ彩度が0の時の判定が抜けてました。
if (S == 0.0) {rgb[0] = rgb[1] = rgb[2] = I * 255.0; return;}
その他は問題がありませんでした。
仰るとおり可逆変換ですね。
ここまで細かく検証していただきありがとうございます。
>148
どうもありがとうございます。
RGB2RGB_INT内での丸め誤差と彩度の判定が無い以外問題はありませんでした。
他の人のソースコードはとても参考になります。
お二人ともどうもありがとうございました。
0154山崎 渉
NGNG│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNG雲がかった濃淡のある背景にパーティクルが乗っているのですが、
パーティクルの厳密なサイズが知りたいのでサイズに影響を与えることなく
背景を除去する方法ってありますか?
今のところは平均化して差分をとったりして模索中です。
パーティクルはひょうたんみたいに重なってることもあるので
くびれが細っちゃったりするのも困り者なのですが。
0158デフォルトの名無しさん
NGNGベクトル量子化系の圧縮を自作したんですが、性能的には、
圧縮率は7〜8倍程度、幾何学的な単純な図形やグラデーションとかだと
10〜14倍で、視覚上の劣化がほぼ判らないと思います。
ただ、それ以上圧縮しようとすると大きく画がひずみます。
展開速度的にはjPEGの7割程度です。
こういうのだと、どのようなところでの使用が考えられますかね?
ちなみに、動画圧縮に応用しようと考えているのですが、
高圧縮領域での画質が良くないことがネックになって苦戦してます。
0159デフォルトの名無しさん
NGNG当てずっぽうで書いてしまいますけど、
幾何学的な図形に向いているということであれば、
プレゼンテーションソフトで作った動画の圧縮とか?
用途はピンポイントでも、需要はあるかも。
0160デフォルトの名無しさん
NGNGえと、圧縮率がJPEGより10倍程度優れているの?
もしそうならば、>>159 のような用途が見えてくる。
しかし、圧縮率がJPEGあるいは幾何学模様用圧縮に劣るならば、
展開速度の遅さは致命的。
0161デフォルトの名無しさん
NGNG素のBMPに対して、1/7〜1/14、
JPEGの展開速度の7割というのは、JPEGが50msなら35ms程度で
開くという意味です
0162デフォルトの名無しさん
NGNGアニメのリアルタイムエンコーディングとかにも利用できるかも?
0163デフォルトの名無しさん
NGNGオークションとかに服を出すために、自分で服を着て出す時
そのままじゃ出せないので、顔にモザイクや、マークをかぶせて隠してる人が
沢山いるんですけど、あれってどうやってやるのかなーと思ってるんですけど
どこかそういう話題に相応しいスレってありますか?スレ違いですみません。
0164デフォルトの名無しさん
NGNGというか、普通に板違い
誘導先探すのも面倒なので、適当に答えると
Photoshopなどの画像エディタ使え
黒塗りくらいなら、ペイントでもいいしな
ツールの使い方はここで聞くなよ
0165デフォルトの名無しさん
NGNG0166デフォルトの名無しさん
NGNG自分でモザイク処理したい、ってんならここでもいいけどね。
0167デフォルトの名無しさん
NGNGBMP内で多く使われている色の上位8色を降順で表示させるためには
どうすればいいでしょうか?
言語はCです。
よろしくお願いします。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=147
0168デフォルトの名無しさん
NGNGを用意して、出現した色ごとに counter[R*65536+G*256+B]++; して、
それが終わったら降順にソートしる。
省メモリでやろうとすると、結構奥が深い問題。キーワードはハッシュだ。
0170デフォルトの名無しさん
NGNGその応用のHPしかでなくて…
0171デフォルトの名無しさん
NGNG「いいHP」だけじゃ何を知りたいのかわからん。
0172デフォルトの名無しさん
NGNGどうやって、物体だけを抽出するのかを書いてあるHPがいいんですが…
本でもいいのでお願いします。
0173デフォルトの名無しさん
NGNG0174デフォルトの名無しさん
NGNG普通は、背景と物体だけを抽出した物が初めにあって、背景に物体を置いた物をつくるんだよ。
0175170
NGNGそれだと
背景をAとして物体をBとした時
A+Bの画像を作るって事ですよね?
漏れがしたいのは
(A+B)-A=B
って感じで物体だけを取り出したいんです。
0176デフォルトの名無しさん
NGNGA+Bの画像を自分で作ったんじゃないんなら、
Bを取り出す完璧な方法はない。
0177デフォルトの名無しさん
NGNG背景差分法はAとA+Bを部分(画素)ごと比べて、
変化していればB由来、変化していなければA由来
という事だろうが、これ以上の何が知りたい?
0178デフォルトの名無しさん
NGNGそもそも自分で作ってないなら、背景が無いだろ。
0179デフォルトの名無しさん
NGNGttp://www.cs.tau.ac.il/~idrori/completion.pdf
0180デフォルトの名無しさん
NGNGという配列からBの部分だけ抽出するマスク
000001111100000
を作ればOK!!これでBだけ取り出せるぜ!!
0181デフォルトの名無しさん
NGNG背景はデジカメで2枚写真を撮って1枚目がまだ物体を置いてない物2枚目が物体を
置いたものって感じです。
>>179-180
理論的にはわかってるつもりなんですけどそれを実現するためのプログラムを
どうやって作ったらいいのかわからないのです…
0182デフォルトの名無しさん
NGNG0183デフォルトの名無しさん
NGNG綺麗に結果がでなくてもある程度認識できればオッケーなんですよ。
0184デフォルトの名無しさん
NGNG差が一定以上なら物がある、と判断。
これでいい?
0185デフォルトの名無しさん
NGNGオキュパイドドメインで判定を行うと、精度が向上する。
0186デフォルトの名無しさん
NGNG結果 = A * C
0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNG0189デフォルトの名無しさん
NGNGスプラインで描いてみたら
フォトショップのカーブダイアログのと
ぴったり重なりました
0190デフォルトの名無しさん
NGNGこれらの圧縮について、
解説してある書籍など、ご存知でしたら教えて下さい。
いちおう、libtiffのソースは拾ってみたのですが、
いまいち理解できなかったので・・・
やっぱり、ITU-Tの勧告書買うしかないんでしょうか?
0191デフォルトの名無しさん
NGNG圧縮使ったこと無いので見当違いかもしれませんが、
http://partners.adobe.com/asn/developer/pdfs/tn/TIFF6.pdf
の49ページから一応CCITTのエンコード関係が書かれています。
# しかし、質問の内容から既に読んでいそうだな〜
0192デフォルトの名無しさん
NGNGレスありがとうございます。
非圧縮のTIFFはこの仕様書で十分だったんですが、
圧縮は・・・私の英語力が足りないのか、
これだけでは書けそうにありません。
できれば、日本語の資料で(これを最初に書くべきでした)
良いものがあればご教授ください
0193デフォルトの名無しさん
NGNGこの本、
http://www.cqpub.co.jp/hanbai/books/32/32641.htm
は当たってみました?
0194デフォルトの名無しさん
NGNGありがとうございます。
トランジスタ技術は盲点でした・・・
さっそく、アマゾンで注文してみました。
0195190
NGNG0196デフォルトの名無しさん
NGNGHALCON ってどうなのでしょうか?
世界最高峰って本当ですか?
0197デフォルトの名無しさん
NGNGここは画像処理プログラミングのスレなので
プログラミングに関係がないなら他を当たってくれ
0198デフォルトの名無しさん
NGNGVC,VBに変換できるらしいし,
HALCON Developer's Kit で開発もできるらしい
0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNGに行ってください
0201名梨産
NGNG0202198
NGNGどなたか利用したことは無いでしょうか?
他に様々なアルゴリズムが揃ったライブラリって無いでしょうか?(商用,非商用問わず)
ご教示願います.
0203デフォルトの名無しさん
NGNGあれくらい簡単に作れる。
ていうかあのようなものを作っている人のスレだし。
0204デフォルトの名無しさん
NGNG誰が世界最高峰だなんて言ってんの?
ソース出せ
0205デフォルトの名無しさん
NGNGモノクロ画像になってしまうし、横幅が約3/4になってあとの1/4は
なんていうか左端の部分が繰り返すみたいに出てしまいます。
使い方が悪いんだと思うんですがどこが悪いんだかよくわかりません。
こんな症状にありそうな原因ってなんでしょうか?
0207デフォルトの名無しさん
NGNG情報どうもありがとございます。参考にします。
0208205
NGNGWindow 絡み(X Window)の部分とあいなりました。XImage を使った
のですが、どうも使い方が分かりにくい代物です。
0209デフォルトの名無しさん
NGNG↑この中でどのように差分を求めているのでしょうか?
計算式と計算過程を教えてください。
0210デフォルトの名無しさん
NGNG具体的な用途はカメラからの入力画像から
手の形などを認識させるといった感じなんですが・・・
>>209
error 403(アクセス不可)・・・
0211デフォルトの名無しさん
NGNGアセンブラ
0212デフォルトの名無しさん
NGNG言語は何でもいい。
適当に二値化してパターンマッチングすりゃいい。
ここはそういうライブラリーを作るためのアルゴリズムを語るところなので
出来合いのライブラリーを探したければ各環境ごとのスレに行ってくれ
0213デフォルトの名無しさん
NGNG精度がある程度求められるので、特徴ベース法ではないものが良いのですが…
0214213
NGNG0215デフォルトの名無しさん
NGNG特許のために情報が表に出てこないらしい上に、
特許を持つIterated Systems社のページには繋がらないので何がなんだか。
0216209
NGNG↑のサイトは、アクセス不可になることが多いので、
http://kenkyu2.hp.infoseek.co.jp/cap26.cpp
にも置きました。
差分を求めている方法を教えてください。
また、計算式と計算過程を教えてください。
お願いします。。
0217デフォルトの名無しさん
NGNGfor( i = 0;i < n ;i++){
s = s + (buf2[i]= fabs( buffer[i] - buf3[i] ));
}
...
if( s/n > 10 )
Beep(1000,100);
単純に差分をとっているだけだな
0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNG使えません
0220デフォルトの名無しさん
NGNGfor( i = 0;i < n ;i++){
s = s + (buf2[i]= fabs( buffer[i] - buf3[i] ));
}
について、
buf2は、何を示しているのでしょうか?
bufferは、何を示しているのでしょうか?
buf3は、何を示しているのでしょうか?
プログラム上の計算式ではない、式をおしえてください。
0221デフォルトの名無しさん
NGNGソース見るまでもない。
減算するだけ。
1コマ目から2コマ目を引けば、
変化の無い部分は何も残らず、変化のあった部分だけが残る。
0222デフォルトの名無しさん
NGNGbuf3は一つ前のフレーム、添え字iでbuf3_iとしてそのi番目の画素
buf2は今のフレームと一つ前のフレームの差分の絶対値を収める
buf2_i=|buffer_i-buf3_i|
0223デフォルトの名無しさん
NGNG新しい値(か古い値)を抜き出すのが普通だろうに
なぜ差分なのかはよく分からない。
0224デフォルトの名無しさん
NGNG「変化しているところ」の検出はどうするの?
0225デフォルトの名無しさん
NGNGやっぱり背景差分とる方法じゃまずいかな?
昨日、来年の研究室配属の初顔合わせがあって
教授にウンコと大木の例えでその話したら
「ウンコが白くなるまで待ったら?」とか言われたYO。
場を和ませようとした俺の心遣いを無にしやがって・・・!
(´;ω;`)
0226デフォルトの名無しさん
NGNGで見事に二人してこけたわけだ
0227デフォルトの名無しさん
NGNGJPEGでは短時間離散コサイン変換が使われているのですか?
DCT使われていると知ったんですが、8×8ブロックごとにフーリエ変換
らしいので、窓フーリエつかってるのかと思ったんですが。。。
0228デフォルトの名無しさん
NGNGとりあえず、自分の書いた文章をもう一度嫁。日本語になってない。
JPEGは、実装はいろいろだけど、原理はDCT。
0229デフォルトの名無しさん
NGNGbmp画像をRGB各成分3つに分解する方法が、さっぱりわかりません。
本とか探してもなかなか見つかりません。
BMP→R成分だけの画像 BMP→G BMP→B というプログラムを教えて欲しいです。
0230デフォルトの名無しさん
NGNG0231デフォルトの名無しさん
NGNGぐぐったら、
ttp://rd.vector.co.jp/soft/dl/data/art/se027618.html
DIBフォーマットの説明書ってのがあった。これみて、直接読み込め。
24ビットのBMPなら、ラインのパディングバイトに気をつければすぐ出来るだろ。
0232デフォルトの名無しさん
NGNGと言われたため、ここで質問させてください。
BMPについて、オーム社のC言語で学ぶ実践画像処理を参考にしたところ、
RGB24ビット無圧縮で記録されたBMP形式では
ヘッダ54バイト、BGR・BGR・BGR・BGR・・・(画素分)
というように記述されているとわかりました。
つまりファイルサイズは、縦×横×3+54(バイト)で求まるはずです。
ところが、実際にファイルサイズを確認してみたところ、
この式の通りの画像もあれば、数十〜数百バイト(画像が大きくなればもっと?)分だけ
大きくなっている画像もありました。
上記の式を元にしたBMP読み込みのプログラムを書いたのですが、
やはりと言うか、この式で求まるファイルサイズより大きくなる画像では
正常に読み込めませんでした。
BMPで保存する方法としては、Photoshop、Vix、IrfanViewで試したのですが、
ソフトによって結果が変わるのではなく、画像ごとに決まった結果となりました。
つまり、同じPhotoshopで保存した画像でも、上記の式の通りのファイルサイズもあれば
それより大きくなるものもあるのです。
いずれもパレットは使用しないように設定して保存しています。
バイナリエディタで開いてみたところ、理論値よりファイルサイズが大きくなる画像では、
通常のヘッダ54バイト、色情報に続いて、ファイルの終わりに意味不明の情報が
入っていました。(何を表しているのかわからない値00、FF、80などの羅列)
ファイル末にある、余分な情報は何でしょう?
また、式をどう変更すべきなのでしょうか?
0233デフォルトの名無しさん
NGNGすぐ上のレスも読もうw
ケツに付いてるのはMSDNによるとProfileData(optional)らしい。
0234デフォルトの名無しさん
NGNG1ライン分のデータは4byteにアラインメントされたりするんだけど
それが原因じゃなくて末尾のゴミが原因なら
そんなものは無視すりゃいいだろう
0235デフォルトの名無しさん
NGNGピクセルのRGBまでのオフセットは、54バイトと決め打ちしてはいけない。
BITMAPFILEHEADERからオフセットを取得すべき。
最も一般的な24ビットフルカラーBMPファイル全体の構造は
BITMAPFILEHEADER *1
BITMAPINFOHEADER *2
(カラーテーブル)
RGBデータ
という感じなので、わからないことがあったらBITMAPFILEHEADER/
BITMAPINFOHEADERで検索してみよう(54バイトというのは1,2の
合計)。
0236229
NGNGRGBに分けれたのですが、その後セーブをしても元の絵がセーブされてしまいます。
画像処理後の絵をセーブするにはどうすればいいのでしょうか?
0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNGマリ
0239デフォルトの名無しさん
NGNG再現させることが可能なソースをどこかに置いて
そのURLを晒せ
0240デフォルトの名無しさん
NGNG分けれた、ってのは何したの?
読み込んだRGBをいじらないでまたそのRGBデータを保存すれば、当然
「セーブをしても元の絵がセーブ」されるよ。
あと、画像処理をする時には読み込んだBMPをそのまま使うのではなく
一度BMPから自分でDIB(BITMAPINFOHEADER+RGBデータ)を作ってその
DIBを処理した方が確実かも。そして、保存する時は改めてDIBからBMP
のバイナリイメージを作る。このあたりの処理を自分で書いてみれば、
DIB/BMPの構造も理解できるし。
一番よいのは、最初に24ビットBMPから32ビットDIBを作るクラスなり
関数なりを書いてしまうことだね。画像処理を行う時には、1ピクセル
1DWORDで扱える32ビットDIBの方がずっとわかりやすい。
0241デフォルトの名無しさん
NGNG動きの変化を追っていく方法にはどういうのがあるの?
あと、ほとんど動きが無い部分=変化なし
一定以上動きある部分=変化あり、みたいな感じにするにはどうすればいいの?
0242デフォルトの名無しさん
NGNG情報少ないから詳しくコメントできないけど、
そういう目的なら勾配法でオプティカルフローを計算すればいいんじゃない?
0243デフォルトの名無しさん
NGNG心電図とCT画像の同期と、ある程度の心臓の動きの様子を調べるのが目的だったから
簡単にするために2値化で心臓の輪郭だけ抽出して動き推定、って考えてたんだけど
その勾配法という方法のほうが原画像のまま詳しく調べられて便利かも。難しそうだけど
0244232
NGNG理論値との誤差がほとんどなくなりました。
といってもまだファイル末尾に数バイトのゴミが残っていたので、
思い切ってそれを削除したところ、画像に変化はなく、
正常に読み込めるようになりました。
まだまだ勉強が必要ですね。
レスありがとうございました。
0245229
NGNGそうしたのですが、ダメでした。
>>239
ここに書くのはまずいですかね。
今から出かけるので調度いいアプロダ探せません。すみません。
>>240
VB6.0で「画像データロード」で24bitBMPが表示されます。
次にコマンドクリックすると、表示された絵が少しずつ赤くなります。
絵が赤くなったあと、セーブを実行しているのですが元の画像がセーブされます。
やっぱりどこかでソース晒した方がいいですね。
0246デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/index.html
0247デフォルトの名無しさん
NGNGttp://images.google.co.jp/images?hl=ja&lr=&ie=UTF-8&oe=UTF-8&q=a
image magickで外部ファイルって加工できないの?
0248デフォルトの名無しさん
NGNGプログラムが糞で、やはり動かなかったらしい。
おまいら、こんな簡単な画像処理さえ出来ん役所のやつらに
納税者として何か言ってやれよ
> コイセンサーは取水場に2つあり、監視水槽(容量60リットル)5個で飼って
>いるコイ8匹が、有害物質を感じて異常な動きを示した場合、コンピューターで
>府村野浄水場に自動警報を送る。浄水場職員は、別に設けた観察水槽
>(同300リットル)のコイ8匹の様子をモニター画面で確認、対応策をとる。
>府は1994年以降、計3か所で導入している。
役所の板
http://society.2ch.net/test/read.cgi/koumu/1060611748/559
http://society.2ch.net/test/read.cgi/koumu/1060611748/l50
0249229
NGNGありがとうございます。
ソースを載せたので見てくれるとありがたいです。
画像処理後のセーブが出来ません。
「画像処理VB」というスレで立ってます。
よろしくおねがいします。
0250デフォルトの名無しさん
NGNG簡単かなぁ・・・ 動きの認識だし、魚って鳥と同じで3次元空間で動き回るし・・・
0251デフォルトの名無しさん
NGNG少量の毒を少しずつ与えれば動きが鈍くなって知らないうちに死にます。
後者の場合、コンピュータで判断なんて出来ないと思います。人間でも難しいですから。
0252デフォルトの名無しさん
NGNG0253デフォルトの名無しさん
NGNG0254デフォルトの名無しさん
NGNG死んでも、水の流れとかで、多少は動くと思われw
0255デフォルトの名無しさん
NGNG0256デフォルトの名無しさん
NGNGソリッド・スキャン・コンバージョンの他に色々な方法が
あると思うのですが他の方法としては、どのような方法が
あるのでしょうか?
検索キーワードだけでも良いので教えてください。
0257初心者
NGNG現在デジタルビデオカメラでとった動画をUSB又は、IEEEとかで
取り込んでリアルタイムで解析して顔部分を抽出するといったことを
やってみたいのですが特別なキャプチャーボードなしでできるのでしょうか?
アルゴリズム的にはRGB−>HSV変換後に膨張圧縮といったモルフォロジ処理と
ラベリングによってノイズ除去して肌色を抽出しようと思っています。
c++の知識は少しあるのですがデバイスやwindows関連の方はよくわからないので。
調べたらvideo for windows とかdirect show等が使えそうかと思ったのですが。
一般に動画を汎用PCでリアルタイム解析したい時はどういった方法があるのか
どなたかご教授ください〜
0258デフォルトの名無しさん
NGNGPCカメラ買えばいいんでない?
ソフトはListcamか何かで。
0259デフォルトの名無しさん
NGNG0260デフォルトの名無しさん
NGNG0261デフォルトの名無しさん
NGNG0262デフォルトの名無しさん
NGNG余計なお世話だけど、IEEEって学会の名前だよ。
そこで標準化された規格にIEEEホニャララって番号が付いてて、JISとかISOとか
ANSIと同じようなもの。
例えばプリンタポートはIEEE1284、100BASE-TXはIEEE 802.3u、1000BASE-Tは
IEEE 802.3ab…というように、コンピュータのインターフェースにはほとんど
この型番が付いている。
だからIEEE1394のことをIEEEと呼ぶのは(2chではよく見かけるが)、とても
恥ずかしいこと。
0263デフォルトの名無しさん
NGNG読み方は「アイ・トリプル・イー・いちさんきゅーよん」でおk?
0264デフォルトの名無しさん
NGNG知ったかぶりしてますた。
0265デフォルトの名無しさん
NGNG俺も昔ハードディスクをハードと読んだり
Mpegでも何でもないものをMpeg-4と言ったり
応答遅延をPingと連呼したりする連中に反感を覚えたものだが
今では分かるならば許容する境地に至った。
お前はまだまだだな。
0266デフォルトの名無しさん
NGNG0267デフォルトの名無しさん
NGNGMTF? FITS?
何それ?初めて聞いた。
0269デフォルトの名無しさん
NGNGC言語で実装したprogramどこかに
おちてませんか
0270デフォルトの名無しさん
NGNG君はモニターをテレビと呼ぶ連中まで許容できるのか?
0271デフォルトの名無しさん
NGNG短時間フーリエの画像への適用と、そしてどんな結果になるのかよくわかりません。
ウェーブレットぽい結果になるのかな。
0272デフォルトの名無しさん
NGNG0273デフォルトの名無しさん
NGNGに挑戦したいのですが、
クグッても資料がなかなか見つかりません。
何かありませんでしょうか。
0274デフォルトの名無しさん
NGNG何をやりたいの?
ノイズを加算するだけじゃだめ?
0275デフォルトの名無しさん
NGNGjtrimで行なっている処理をやりたいのですが、
何からノイズを作っているのかよく分からなくて。
あれって、出鱈目に色を入れているだけなんでしょうか?
0276デフォルトの名無しさん
NGNGシャクライ氏のBBSに下記の内容を投稿したのですが
投稿文は削除され、私への返信に書き換わっています。
(投稿から10分で書き換えって早過ぎ)
シャクライ氏がここをチェックしている場合は
私への返信も削除されると思います。
ゴタゴタは嫌いなのでメールを出すつもりはありません。
(メール出したらIrisFilterの開発に勧誘されるのか?)
以後、静観致します。
---- 投稿内容 ----
題名:ゴタゴタの件 投稿日:2003年11月24日<月>13時48分
はじめまして。
某BBSの某特許申請ソフトウェアとゴタゴタについて
話し合いをするのスレから来ました。
私は4年程前に画像をピンボケ化させるツール(非プラグイン)を作成しました。
現在も仲間内のみで使用しており、今回のゴタゴタの行方には関心があります。
しばらくは静観の構えをとるつもりですが、
今回の一部ライセンス無料化はこのゴタゴタに絡むモノなのでしょうか?
#こちらのHPを拝見させて頂きましたが、
#誤記の中でも気になる部分を指摘させて頂きます。
#
# (誤)IrisFiler , IrisFitler
# (正)IrisFilter
0277デフォルトの名無しさん
NGNGIntelのIPP+OpenCV使って同じことやってるよ。
IPPは4.0βがただで使える。
確か前スレで参考リンクをまとめてくれた人がいたはず。
ちなみに2台のUSBカメラでテストしてみたが、
内1台からはまともに取り込めなかった。
0278デフォルトの名無しさん
NGNGCCamera camera;
camera.Initialize(320, 240, -1, m_hWnd);
camera.Start();
CImage img = camera.GetFrame();
cvThreshold(img, ...); // 2値化
ippiFilterMax_8u_C1R(...); // 膨張圧縮
ippiFilterMin_8u_C1R(...);
cvFindContours(...); // ラベリングもどき
0279デフォルトの名無しさん
NGNGあと車名忘れたけど高速道路で白線はみだしたら修正してくれるやつとか
0280デフォルトの名無しさん
NGNGプリウスの車庫入れアシストは画像認識なんかしてるようには見えないぞ?
白線認識はどっかで実用化した?
壁との距離計った方が現実的だと思うが。
0281デフォルトの名無しさん
NGNGttp://www.toyota.co.jp/toyota-navi/plus/lms.html
0282デフォルトの名無しさん
NGNGBitmapを表示するビューアを作っています。
拡大表示したい場合に、バイキュービックやバイリニアを使って表示したいのですが、
この場合、拡大するサイズのBitmapを補完しつつ新たに作成して、それを表示する以外に
なにか方法はあるでしょうか?
というのも、手持ちのビューア(ACDSeeですが・・・)では、同様の補完方法を使って
拡大表示をしても、使用メモリ量がまったく変わらないのです。
上記の方法を使用すれば、大きな画像をさらに拡大した場合、ものすごいメモリを
使う羽目になってしまうはずなんで・・・。
あとは、例えばウィンドウサイズにあわせて画像を拡大・縮小するようにしたい場合などでも
同様に、メモリサイズに変動がないのが不思議なんです。
あとは速度の問題なんかもありますが・・・。
どうしても、2000/XPでのHalfToneによる表示の速度に比べると重くなってしまうので。
教えてください。よろしくお願いしますー
0283デフォルトの名無しさん
NGNGSetStretchBltMode
0284デフォルトの名無しさん
NGNGそれは、HalfToneで描写する以外にもなにかあるんでしょうか・・・?
とりあえずMSDNで見た限りでは何もなさそうなんですが・・・
0285デフォルトの名無しさん
NGNG0286デフォルトの名無しさん
NGNGんなこたーない
拡大してみれ
0287デフォルトの名無しさん
NGNGバイリニアになったぞ。
0288デフォルトの名無しさん
NGNG0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNGSDKのヘルプには使えないと書いてあるが、95でも98でも普通に使えたよ。
IE等のバージョンによって使えるのか、それともビデオカードのドライバに
よって使えるのか知らんが。
0291デフォルトの名無しさん
NGNGシーマ、インスパイアあたりかな。
0292デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNGどういうフィルタが線形で,
どれが非線形かわかりません.
どなたか教えてください.
0294デフォルトの名無しさん
NGNGf(aX+bY)=af(X)+bf(Y)が成り立てば、fは線形。
卒業の時期だからかもしれないけど、盛況だねぇ。
恥ずかしがらずに詳しく書かないと回答できないよ。
大丈夫、教授は見てないよ、たぶん。
0295デフォルトの名無しさん
NGNG画像をエンハンスすればいいんじゃない?
0296256
NGNGソリッド・スキャン・コンバージョンしか無いという事なのでしょうか?
0297デフォルトの名無しさん
NGNG3角形を高速に塗り潰してくれるハードがあるなら3角形に分解するし
0298デフォルトの名無しさん
NGNG行ってまたYCbCrからRGBに変換してBMPを生成する、というプログラムを
作成しているのですが、
輝度成分にだけに施す処理の部分を省いても、(RGB→YCBCR→RGBだけの、単純な変換・逆変換のみ)
生成される画像が暗く青っぽくなるのです。
変換・逆変換に用いている式はお決まりのあの式で、何度も見直したので間違いはないのですが。
オーバーフローしてる?っぽいのですが、今のところ検討がつきません。
BMPから読み込んだRGB情報→double型の配列に、
RGB情報をYCBCRに変換したもの→double型配列に、
YCBCRからRGBに変換したもの(BMP再生成に用いる)→unsigned char型に、
それぞれ入れてるのですがこれが原因??
ある簡単な画像生成プログラムのソースにあれやこれやと付け加えていっているので
もともとあった配列の宣言などはそのままなのです。
ただ、上記の宣言などでRGBのまま扱っているぶんには問題はありませんでした。
0299デフォルトの名無しさん
NGNG値が 256 を超えるかどうかチェックしてみては?
書き込みを読んだ限りではそこが一番危なそうな気がします.
あと,念のためその「お決まりのあの式」も晒してみた方がよいかと・・・
0300デフォルトの名無しさん
NGNGありがとうございます。チェックしてみます。
「あの式」ですが、以下のものです。
Y = 0.29900 * R + 0.58700 * G + 0.11400 * B
Cb = -0.16874 * R - 0.33126 * G + 0.50000 * B + 128
Cr = 0.50000 * R - 0.41869 * G - 0.08131 * B + 128
R = Y + 1.40200 * (Cr - 128)
G = Y - 0.34414 * (Cb - 128) - 0.71414 * (Cr - 128)
B = Y + 1.77200 * (Cb - 128)
ある文献にあったものをそのまま使っています。
もし、値が256を超えているようなことになっていたら、
どのような対処をすればよいでしょうか?
0301デフォルトの名無しさん
NGNG強制的に255にすれば済みそうですが,
もしももっと大きな値になってたらどこかで普通に
計算間違いをしている可能性があると思います.
0302デフォルトの名無しさん
NGNG計算間違い・・・余計な部分はすべてコメントアウトしてるので
>>300の式に間違いがなければどこで間違いがおこっているのか、
本当に検討つかないです・・・(´・ω・`)
0303デフォルトの名無しさん
NGNG0304デフォルトの名無しさん
NGNGBMPファイル取得の際、たしかに、
rgb[3][j][i]という配列に、
RGBの順で取得したつもりになってました。([0]がR、[1]はG、[2]がBで)
が、実際はBGRの並びなのですか?!
もしこれが原因なら激しくカッコ悪い・・・
あわせてこれも試してみます!
0305デフォルトの名無しさん
NGNG0306デフォルトの名無しさん
NGNGダミーが入ってたりするし
0307デフォルトの名無しさん
NGNG0308初心者
NGNG一応video for windows で取り込んでバッファまではしたのですが
フレームを制御する方法がよくわからず秒間2,3フレーム程度でしか
表示できずに困ってます。10〜15フレームは欲しいのですけど。
USBカメラのスペック的には15フレーム/秒となっているんですが、う〜ん。
IPP+OpenCVってライブラリなんですか?ちなみに秒間どの程度の処理できてます?
0309初心者
NGNG一応video for windows で取り込んでバッファまではしたのですが
フレームを制御する方法がよくわからず秒間2,3フレーム程度でしか
表示できずに困ってます。10〜15フレームは欲しいのですけど。
USBカメラのスペック的には15フレーム/秒となっているんですが、う〜ん。
IPP+OpenCVってライブラリなんですか?ちなみに秒間どの程度の処理できてます?
0310初心者
NGNGをひとつのかたまりとして認識させるため2値化した後膨張収縮処理をしたのですが
照明条件によっては領域が分断されてしまうんですよね。
背景等のノイズは除去できたのですが、うまく領域をひとつにする方法は
ないでしょうか?2次元ガウシアンフィルタによる畳み込みがどうのとか
って話を聞いたことあるのですがよくわからないくて・・。
むやみに膨張するのも怖いし
0311デフォルトの名無しさん
NGNG0312デフォルトの名無しさん
NGNG0313デフォルトの名無しさん
NGNGつーかOpenCVについてGoogleさんに聞いたらまさにそれっているページが出たんだが。
0314298
NGNGというか、これからさらにいろんな処理をせねばならないのに・・・
先が思いやられます。
以前これの関係でモノクロBMPを弄くる機会があったのですが、
BMPのダミーにはしてやられました。
仕様を確認するのって大事ですね。
0316デフォルトの名無しさん
NGNGここなんか,まさにそうじゃないスか?
http://limu.is.kyushu-u.ac.jp/~yosimoto/work/opencv-howto/index.html
http://limu.is.kyushu-u.ac.jp/~yosimoto/work/opencv-howto/intro-opencv.html
0317デフォルトの名無しさん
NGNGデバイスコンテキストなんかに書き込むと、
メモリを積んでもリソース不足エラーが発生したりします。
デバイスコンテキストを経由しないライブラリなんかあったりしませんか?
0318デフォルトの名無しさん
NGNGふつうにあるだろ?
libjpegとか
0319デフォルトの名無しさん
NGNG質問が曖昧
0320デフォルトの名無しさん
NGNGなんで、顔認識をやるのに、肌色を抽出するかわからん。
白黒画像にたいして、周波数空間上で、統計的に認識処理
させる方が、精度が高いと思うけど(処理負荷は大きい)。
0321初心者
NGNG周波数空間上で顔領域というのがどういう特性を持ち、どういった統計処理
により抽出できるのかちょっと検討つかないのですが一般的なのですか?
テンプレートマッチングは計算コストとライブラリの作成等汎用性ひくいので
見送ったのですが、それは盲点でした。具体的にはどういう処理なのでしょう?
処理負荷は小さい方がいいですね。一応汎用PCとUSBカメラのみでリアルタイム
処理を試みているので。
0322デフォルトの名無しさん
NGNGIPL→IPP
>>308
IPPはこちらから
http://www.intel.com/software/products/ipp/beta/
右上のEnroll Nowからユーザ登録しなきゃいかん
0323デフォルトの名無しさん
NGNG相互変換するコストってどれくらいあるのでしょうか?
実は32bit専用と24bit専用の画像フィルタがあって、
ソースを書き直すべきか迷っているんですが。
0324デフォルトの名無しさん
NGNG24-32ビットDIBの変換処理コードを書くコストという意味なら、ただ
4バイト境界を計算して3バイトずつコピーしていくループを書く
だけ。Cで書けば数行かな。
処理速度なら、迷う前に数分もあれば実際に書いて確認できるよ。
0325デフォルトの名無しさん
NGNG三次元xyz座標を
ピンホールカメラモデルで二次元uv座標に変換するらしいのですが,
どうやって対応付けしているかわかりません.
わかりやすいWebか本ありませんか.
0326デフォルトの名無しさん
NGNGども。自分で試しましたが意外と食いますね。
こりゃ、全部32bitでソース書き換えたほうがよさそうだ。
0327デフォルトの名無しさん
NGNG0328デフォルトの名無しさん
NGNG0329デフォルトの名無しさん
NGNG0330デフォルトの名無しさん
NGNGいて困っています。
どこかDLできるサイトは無いでしょうか?
サンプルもあるとありがたいのですが・・・。
0331330
NGNGスマソ
0332デフォルトの名無しさん
NGNGせっかくなので、どうやって自己解決したか詳細キボソ
0333デフォルトの名無しさん
NGNGDirect3D使わないとダメなのかなぁ・・・
誰かソース公開してないかなー?
0334デフォルトの名無しさん
NGNG回転ってなに>回転後のイメージを取得? 回転させて描画?
0335デフォルトの名無しさん
NGNG例えば2Dのサイズ(100, 100)の画像を30度に傾けた時どうなるのかとか・・・・
0336デフォルトの名無しさん
NGNG□■■■■■□
□■■■■■□
□■■■■■□
□■■■■■□
□■■■■■□
□□□□□□□
↓回転後(こんな感じに)
□□□■■□□□□
□□■■■■□□□
□■■■■■■□□
■■■■■■■■□
□■■■■■■■□
□□■■■■■□□
□□□■■■□□□
□□□□■□□□□
0337デフォルトの名無しさん
NGNGhttp://www.google.co.jp/search?q=%E7%94%BB%E5%83%8F+%E5%9B%9E%E8%BB%A2&ie=UTF-8&oe=UTF-8&hl=ja&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
0338デフォルトの名無しさん
NGNG自力でやる例ならこれとか。
http://www.sm.rim.or.jp/~shishido/kaiten.html
0339デフォルトの名無しさん
NGNGならアフィン変換でぐぐれ
0341335-336
NGNGあと338さんのサイトのも。
・・・・・sin,cos???うーん、これは高度な知識だ・・・・
アフィン変換・・・ぎょ、行列!(ひー
負けずにがんばります!
0342デフォルトの名無しさん
NGNG0343デフォルトの名無しさん
NGNG三角関数(というか三角比)は、自分で図を描きながらイメージをつかめばそう難しくないよ。
0344デフォルトの名無しさん
NGNG共一次補間とか、3次畳み込み補間とか
0345デフォルトの名無しさん
NGNGフォトショップ2.5だったか、「畳み込み」が「叩き込み」と誤訳されていた。
0346デフォルトの名無しさん
NGNG( ・∀・)つ〃∩ ヘェーヘェーヘェー
0347名称未設定
NGNGLINUXで作った画像処理プログラムをMAC上でメイクすると
symbol _inflateInit_ used from dynamic library /usr/lib/libz.1.1.3.dylib(inflate.o) not from earlier dynamic library /usr/lib/ libz.1.dylib(inflate.o)
といったエラーがたくさん出てしまいます。
また、
ld: Undefined symbols:
_DGifCloseFile
_DGifGetExtension
_DGifGetExtensionNext
_DGifGetImageDesc
_DGifGetLine
_DGifGetRecordType
_DGifOpenFileHandle
_PrintGifError
とgifに関するエラーも出てしまいます。
makefileの中で
CFLAGS=-g -O2 -I/usr/X11R6/include -L/usr/X11R6/lib -lX11 -lXmu -lXi -ljpeg -lpng -ltiff -lz -lm -lImlib
とリンクしてあるんですが、ここがおかしいんだろうなってことまではわかったんですが、それ以上すすめず行き詰まっ てしまいました。
-L/usr/X11R6/libの後ろに続くオプションの部分がおかしいんでしょうが、
知り合いにもらったプログラムを画像処理に全然詳しくないまま組んでいるんで、オプションが何を示すのかも知らず、どうすればいいのやら・・・
画像処理プログラムにくわしい方、ご助言お願いします。
0348347
NGNG単にWindowを表示するだけのプログラムを作り、
cc window.c -o window -L/usr/X11R6/lib -lXm -lXt -lX11
と打ってみましたがコンパイル出来ず、
ld: can't locate file for: -lXm
とエラーが出てしまったので、
cc window.c -o window -L/usr/X11R6/lib -lXt -lX11
としてみたところコンパイル出来ました。
次にterminal上で実行してみたところBus errorとなってしまいました。
そこで、ユーティリティーフォルダにあるX11上で実行させてみたところ
今度はうまく動きました。
その場その場で試してみてるので、なぜ動いたかとか全くわからず・・・
やっぱり難しいですねぇ。。
0349デフォルトの名無しさん
NGNG0350デフォルトの名無しさん
NGNGいっそJava2で書き直した方が楽かもな。
0351デフォルトの名無しさん
NGNG携帯アプリのため、容量制限の関係で、ファイルを沢山もてません。
具体的には、1パターンの人間の画像をjarに入れておいて
服の色、頭の色違いで何パターンか元ネタから、プログラム内で生成したいのですが・・・
やり方や、サンプルなどご存知の方がいらっしゃいましたら教えてください。
0352デフォルトの名無しさん
NGNG画像処理を携帯でやるのは携帯の目盛りの関係でちょっと厳しいものあるかもしれません。
サーバサイドで計算させるなどの方法を取る必要があるかもしれませんが、
あながたプログラミングの鬼と自負するほどならば可能です。
サンプルですがここで聞くよりgoogleに頼った方がいいと思います。
0353デフォルトの名無しさん
NGNGありがとうございます。
先ほどからgoogleで色々探しているのですが、みつからないんですよ。
0354デフォルトの名無しさん
NGNGパレット変更じゃ駄目なの?
0355デフォルトの名無しさん
NGNG実現できれば何でも、かまわないんですが
なにせ、そのあたりの知識が乏しいもので。
ご教示いただけると、ありがたいです。
0356デフォルトの名無しさん
NGNG0357デフォルトの名無しさん
NGNG微妙にスレ違いだけどレスしてみます。
Gif 関連のエラーが沢山でるのは、
Unisys の特許の関係で最近の各種ライブラリではGif関連の関数が削除されてるから。
348 の方は、unix で window を表示したりするのには X11 の APIを用いるんだけど、
あらかじめ X サーバー(ユーティリティの X11 がそれ?) を実行していないとAPIでエラーになる。
簡単なサンプルプログラムだとエラー処理が甘くて bus error になるんだと思います。
0358347
NGNGなるほど、Gif関数がないって言われてるなとは思ってたんですが、
特許関係で削除されてたのですね。
とりあえず、include関連が怪しいなと思い、
/sw/include/のImlib.hやImlib_private.h, gif_lib.hなどを調べてみると、
Imlib_private.hの中でgif_lib.hがincludeされており、
そのgif_lib.hの中で>>347で書いたようなGif関連の関数が宣言されているようです。
しかし、そこまではわかったものの、その関数の実装がどこで行われているのかはわからず、
また、わかったとしてもそれからどうすればいいのかと路頭に迷ってしまった状態です・・・。
とりあえず僕の作るプログラムではjpegを扱い、
そのgif関連の関数は必要ないので、
その参照を削除出来るのなら、そうしたいですし、
別にImlib_load_image関数にこだわりはないので、
jpegを呼び出して画像処理をいままで通り行える関数があれば全然それでOKなんですが・・・。
ちなみにImlib.hはfinkというUNIXのOpen Source softwareをMac OSXに移植するソフトを用いてインストールしたもので、
finkを用いてインストールしたものは/sw/に置かれるようです。
0359デフォルトの名無しさん
NGNG実現は不可能ということですか?
0360デフォルトの名無しさん
NGNG色替えした画像を生成したいだけなら
png画像のパレットを変更すりゃいい。
オープンなフォーマットだから資料はたくさんあるが。
ちょっとはググったのか?
0361デフォルトの名無しさん
NGNGググったのですが、いまひとつわかるものがありませんでした。
0362デフォルトの名無しさん
NGNGじゃあ、あきらめろ。お前には無理だ。
俺ですら、だいぶ昔にぐぐってPNGの仕様書持ってるぞ。
0363デフォルトの名無しさん
NGNG>調べてみたらパレット変更できない機種が多いのね
これが問題なんじゃないの?
いや、俺はまったく知らないんだけど。
0364347
NGNGmake時に-lungifと指定することでコンパイル出来ました。
0365デフォルトの名無しさん
NGNGどこかで見ましたが。
0366デフォルトの名無しさん
NGNGor 参考書ご存知の方います? 原典がはっきりしないサイトは幾つか
あるのですが、厳密性が欲しいので今ひとつ信用できません。
物理的な測定器で計測可能な「色」に関する情報は文献に載っている
のですが、デジタルな話になると係数等諸説入り乱れているようでちょ
っと困っています。詳しい方教えてください。
0367366
NGNG教えてクンではあんまりなので、自分から晒すと
・C言語で学ぶ実践画像処理―Windows、Macintosh、X‐Window対応
ISBN: 4274946193
・ディジタルカラー画像の解析・評価 三宅 洋一
ISBN: 413061116X
・色再現工学の基礎 大田登
ISBN:4339076449
こんな感じです。
0368デフォルトの名無しさん
NGNGちょっと高いけど…
・コンピュータグラフィックス 理論と実践
James D. Foley(著), Steven K. Feiner(著), Andries van Dam(著),
John F. Hughes(著), 佐藤 義雄(翻訳)
ISBN4-274-06405-0 オーム社
これで、かなり勉強になった。
0369デフォルトの名無しさん
NGNGCRCくらい計算すりゃいいだろ。
動的に生成できないなんて言う奴は静的(ってなんだそりゃ)にも生成できない。
0370366
NGNG事故レスですが
http://www.w3.org/Graphics/Color/sRGB.html
のColorimetric definitions and digital encodingsに sRGB については
資料がありますた。
AdobeRGB 誰かわかりませんか?
0371デフォルトの名無しさん
NGNGA4の紙を想定したbmpの、好きなピクセルを書き換えられるペイントユーティリティーを作りたいのですが。
ちなみに、楽譜の編集データ(独自フォーマット)を最終的にbmpに仕上げるのが目的です。
0372デフォルトの名無しさん
NGNGディジタル画像処理の基礎と応用―基本概念から顔画像認識まで
0373デフォルトの名無しさん
NGNG解像度によって違う。
独自フォーマットなら自分で決めたらいいぢゃん。
0374デフォルトの名無しさん
NGNGどういう関数なのか、教えてください。
0375366
NGNG実装的には、あるレベル範囲を切り出すための適当なLUT(lookup Table) を
作成し、それに変換元のデータを入力しテーブルの出力を補正後のデータとし
て書き出すって感じでしょうか。プログラミング言語的な関数という意味では
この仕組みを実現するような関数と考えればよろしいかと。
LUTの中身が普通に数学でいう関数になりますが、式的には
8 bit 決めうちでは
out' = (input - [min]) / ( [max] - [min] )
out'' = pow( out', [gamma]) * 255.0 ※ pow(x,y) は、 x の y 乗の意味
out = out' を 0 〜255 の整数に変換
という式になると思います。(酔っているので、自信なし。)
ほとしょっぷのダイアログでは、[min], [gamma], [max] の順に
パラメータ用のテキストボックスが並んでいます。
0376デフォルトの名無しさん
NGNG0377デフォルトの名無しさん
NGNGどうやって?
0378デフォルトの名無しさん
NGNG大きさが320*240でそこそこ新しいマシンでやってるんですけど、秒間
数フレームしか出ません。メモリーのコピーしまくりとかで、へたくそなプロ
グラム書いてるせいもあるんですけど、性能として大体こんなもんなんでしょうか?
10fpsぐらい出したいんだけど・・・
0379デフォルトの名無しさん
NGNG0380デフォルトの名無しさん
NGNGどういう計算かしらんが、今のPCスペックで、浮動小数点演算ベー
スで秒数フレームぐらいかと思う。8年前のWSでは、10秒に
1コマぐらいだったような。
0381デフォルトの名無しさん
NGNGその手の処理は FSB 800MHz (400MHz x 2) の Pen4 でやると結構いい感じですよ。
漏れフレーム全体をコピーしまくってあれこれしまくっても 60fps 出てるもん。
ってのはともかくとして、最終的に 320x240 の映像を処理するにしても、
途中の段階では160x120 とかに間引いて計算するのも良いと思う。
動いてないとこなんてそれで十分わかるし。
0382デフォルトの名無しさん
NGNGヒストグラム平滑化の方法について教えてください。
お願いします。
0383366
NGNG作成してみました。
マクロぉ??、VBA??って思う方々も、多数おられると思いますが、
意外にそれなりに実用的な速度で動きます。
#無論、肝心なところはVC++で書いていますが(謎)
>382
・C言語で学ぶ実践画像処理―Windows、Macintosh、X‐Window対応
ISBN: 4274946193
にのってたような気がしますが定かではないです。
0384デフォルトの名無しさん
NGNGn
Hi = Σ P(i)
i=1
てな感じで新しい値を計算すればよいと思うけど。
(Hi は 0 〜 1.0 となる)
0385382
NGNG助かりました。
0386デフォルトの名無しさん
NGNG0387デフォルトの名無しさん
NGNG0388デフォルトの名無しさん
NGNGのページを参考にして、中心を5倍して、周囲4マスのピクセルをひく、ラプラシアンフィルタを
かけたのですが、画像が青っぽくなるだけで先鋭化されません。
原因がわかるかたいらっしゃいませんか?
0389デフォルトの名無しさん
NGNG想像で補え
>>388
おまえ、ラプラシアンフィルタの原理分かってないだろ?
R,G,B別に処理するんだよ。
0390デフォルトの名無しさん
NGNGbmpとかpgmとかは簡単なのにな....
0391デフォルトの名無しさん
NGNG0392デフォルトの名無しさん
NGNG画像フォーマット...って流れから言って分らないか?
0393デフォルトの名無しさん
NGNG0394デフォルトの名無しさん
NGNG世界はスカラーだっていうやつ
っていえばいい?
0395デフォルトの名無しさん
NGNG0396デフォルトの名無しさん
NGNG0397デフォルトの名無しさん
NGNGそんなあたなにコンボリューション
0398デフォルトの名無しさん
NGNGアドバイスありがと。
リンク先と同じやりかたなんだけど、rgb[k]の部分でRGBは別々に処理してます。
0400デフォルトの名無しさん
NGNG↓これと、アドビのTIFF仕様書と現物を付き合わせながらやればOK。
http://park2.wakwak.com/~tsuruzoh/Computer/Digicams/exif.html
とりあえず、ヘッダーの解析プログラムをとか書きながら調べてい
けば理解はそれほど難しくは無い。がんがれ。
0401デフォルトの名無しさん
NGNG0402デフォルトの名無しさん
NGNGピクセルがモザイクよりも小さくなるように画像を縮小する
0403デフォルトの名無しさん
NGNGそのあと三次補間で拡大すれば
ほらビックリ
モザイクは無くなった
0404デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1072883528/
海外でよく使われていうる掲示板スクリプト
専用のオフラインリーダー作って下さい。
必要な条件はID、PASSを管理できること、
OpenJaneみたいな三面型の見た目。
簡単にローカライズできるように言語ファイルを採用
0405デフォルトの名無しさん
NGNGそんなことしないでも、写真画像にX線・赤外線・統計暗号復号による透視解析をかけるWinedows .COMの隠しAPIを使えば、モザイクだろうが着衣だろうが一発で消せるよ。
0406某画像処理系プログラマー
NGNGラマーと比べて、世間的には、どう評価されるのでしょうか?
ただ、業務内容といっても、
・応用的なアルゴリズムの研究、設計、試作。
・研究屋の作ったソフトのパフォーマンス、メモリチューニ
ング。
・画像関係ミドルウェアを、DSP、アセンブラを使ってチューニング等、
・論文のアルゴリズムをゼロから実装。。
とまあ、いろいろありますが。。。
0407デフォルトの名無しさん
NGNG「普通のプログラマー」にもいろいろあるからな
0408デフォルトの名無しさん
NGNGその知識が会社にとって必要かどうかってだけでしょ?
パイロットと船乗りを比べてるようなもんだ。
0409某画像処理系似非プログラマー
NGNG猫でも分かる程度のプログラミング知識でメシを食っているも
のですが....。
画像処理自体、プログラミングという手段なしになんともなら
ないので、できる人がいない職場で需要があれば無茶苦茶重宝さ
れます。居る職場では、もまれたことがないので分かりません。
考えるのも恐ろしいですが(謎)。
ちなみに、本業では画像の定量評価手法の開発、官能評価支援
なんぞでメシ食っております。が、こんなのポインタが分かって
猫でも分かるを見れば誰でも分かるジャンとも思えるので、微妙
に怯えることもしばしば。いったいどうなんでしょう、自分も気
になります。
0410たなかやん
NGNG0411たなかやん
NGNG0412某画像処理系プログラマー
NGNGうちの職場も、天然記念物に近い。プログラムはそんなに難しくはない。
ただ、英語と数式が混じった資料を読んで、機能に応じた計算式の簡略化、
実装、チューニングできるのは、強みだと思うけど。
あと、画像処理以外にも、並行処理の設計、サブシステム単位の設計をしている。
> 411
手取り20〜30万(マンション代別)、数学という技能を売りにしている割に
は、安いかな? まだ、初めて2ねんなので、この春のチャージUPにきたい。
まあ、この時代、贅沢しなきゃこれぐらいでもじゅうぶんだが。。。
411のハンドル名だけど、風の噂で大学をやめて、VJ/FLASH/CGプログ
ラマーになった奴と同一名だが。。。
0413デフォルトの名無しさん
NGNG・・・はぁ、転職するかなぁ・・・。
0414デフォルトの名無しさん
NGNG違う物を想像しちゃった。
0415デフォルトの名無しさん
NGNG0416デフォルトの名無しさん
NGNGエロ画像の自動分類とかに使えそうだな
0417デフォルトの名無しさん
NGNG0418デフォルトの名無しさん
NGNG画像処理技術者は文章が下手なのか?
そんな私も画像処理技術者。
0419デフォルトの名無しさん
NGNG0420デフォルトの名無しさん
NGNG日本語も勉強しような。
0421デフォルトの名無しさん
NGNG0422デフォルトの名無しさん
NGNG0423デフォルトの名無しさん
NGNG左利き、右脳優先脳なので、文章表現は苦手かも?
0424デフォルトの名無しさん
NGNG0425デフォルトの名無しさん
NGNGフォトショップとかにある投げ縄ツールのように、
閉じた曲線で平面上の領域を指定したいのですが、
どんなアルゴリズムを使ったらよいものだかわからないでいます。
たとえば特定の座標が曲線の内側か外側か判定するのは、
いったいどのようにしたらよいのでしょうか?
0426デフォルトの名無しさん
NGNG領域内の全ピクセルを塗りつぶす要領で。
0427425
NGNG実装してみます。
どうもありがとうございます。
0428デフォルトの名無しさん
NGNG0429デフォルトの名無しさん
NGNGベジエ等の曲線式から境界の座標を全て求めて境界を作り
あとは普通に塗りつぶす
0430デフォルトの名無しさん
NGNGYUVって輝度と色差ってのは知ってるんだけど、
RGB=(Red,Green,Blue)みたいな、それぞれの頭文字が示す英単語がわかりません。
gooの辞書でも駄目ですた。知ってる人いたら教えてください。
0431デフォルトの名無しさん
NGNGどなたかこれに関して役に立ちそうな情報や、サンプルプログラムがあるホームページ、書籍などを
教えてください。お願いします。使用言語はCです。
0432デフォルトの名無しさん
NGNG広視野? スティッチング?
0434デフォルトの名無しさん
NGNGYUVは単語の頭文字とかじゃないよ。英語で表記するなら
Y=Luminance
U=Chroma Blue(Cb)
V=Chroma Red(Cr)
かな
U,V は値を二次元で表記するときによく使われる文字。(x,y,zなどと同じ)
Y は Yellow の略だという噂を聞いたことはあるけど、本当かどうかは知らない。
0435デフォルトの名無しさん
NGNG0437デフォルトの名無しさん
NGNG> Y は Yellow の略だという噂を聞いたことはあるけど、本当かどうかは知らない。
CMYKならそうだが。
0438デフォルトの名無しさん
NGNG0439デフォルトの名無しさん
NGNGでなくて、任意の角度で自由に射影変換したいのですが、
そういう式はあるんですか?
0440デフォルトの名無しさん
NGNG0441デフォルトの名無しさん
NGNG0442デフォルトの名無しさん
NGNG二次?二次元?
任意の角度とは?
そのよくあるやつを晒して、どこが不満かいってみ
0443デフォルトの名無しさん
NGNGボードの関数はCなのでs-functionを使ってDLLファイルまでは作成できたのですが、
実際(外部モードで)ブロックを動かそうと思うとうまくできません。RTWの設定?なの
か・・・
こんな感じのデバイスドライバやA/D変換等にくわしい方はいますでしょうか??
よろしくデス!!
0444439
NGNGb1*x+b2*y+b3
X= -------------
b7*x+b8*y+1
(Yは省略)
というのが二次元の射影変換式ですが、画像を自分の決めた角度で
回転させたい時のb1〜b8の係数の決定の仕方が分からないんです。
x、y、z軸に対して回転させるマトリックスを使うと思うのですが、
そこからどうやってよいのか分かりません。
0445439
NGNG0446デフォルトの名無しさん
NGNG座標変換してから普通に投影すれば?
四元数(クオータニオン、ハミルトニアンとも言う)を調べること。
0447デフォルトの名無しさん
NGNG何か良いサンプルプログラムはないですか?
最終的にやりたいことは、
char配列でRGB値を持っているので、
そのデータを渡して、jpegで書き出す。
ということがしたいです。
0449デフォルトの名無しさん
NGNGクオータニアンで検索すると1件しか出てこないぞ。よく見れ。
0451デフォルトの名無しさん
NGNGお前はlibjpegのマニュアルを読むのにどれだけの時間を費やした?
0452デフォルトの名無しさん
NGNG3時間。
0454デフォルトの名無しさん
NGNGソースがあるなら、example.cというそのまんまのソースが入っていたと思うけど....
0455デフォルトの名無しさん
NGNG何をやりたいのかよくわからんが、これじゃだめなのか?
ttp://mailsrv.nara-edu.ac.jp/~asait/open_gl/linear.htm#section22
0456デフォルトの名無しさん
NGNG二次元なのになんでZ軸がでてくるのか分からない
二次元の座標値をただ回転させたいだけなら
二次元のアフィンだけでよさそうなものを
0457439
NGNG二次元の画像を3軸に対して回転させたとき、
どのように画像上に投影されるか、ということです。
つまり、奥にある物体ほど小さく投影され、手前なほど
大きく投影される、ということです。
説明不足ですいません。
なんとかすることができました。みなさんありがとうございます。
0458デフォルトの名無しさん
NGNGここに投稿する前に、先生やお友達と相談して、せめて意味が通じる質問にしてね。
0459デフォルトの名無しさん
NGNG0460デフォルトの名無しさん
NGNG回転と投影は全然別の処理と思えるのだがよ
0461デフォルトの名無しさん
NGNGDV形式(AVI)ファイル→MPEG
DV形式(AVI)ファイル→JPEG
例えば、DVのコーデックがカノプのものだったりしたら、
自作以外方法がなかったりしますかねぇ。
0462デフォルトの名無しさん
NGNGDirectShow使えば?
0464デフォルトの名無しさん
NGNG>プログラミングでやらないといけないんでつ。(DirectShowのCOM使えるのかな?)
DirectShow ってプログラムで使うためのものなんだけど……
0465デフォルトの名無しさん
NGNGバイキュービックのソースコードが落ちているサイトはしりませんか?
英語でもかまいません。
数学的なことを書いてあるサイトはあっても、実際の実装法を書いているサイトが見当たらなかったので。
0466デフォルトの名無しさん
NGNG数式見て実装が思い浮かばないようなら諦めた方が……
0467デフォルトの名無しさん
NGNG「BiLinear Image Scaling Source Code」
あたりでググってください。大量にある
0468デフォルトの名無しさん
NGNGまぁ〜慣れって部分もある気がするし
0469デフォルトの名無しさん
NGNGnearestや、bilinearは腐る程ひっかかるが、cubicはほとんどない。
まあ、gimpや、image magikに、実装はされているので、
ソースをのぞいてみる事をおすすめする(最適化されているので、
みずらいが)。
> 466
cubicは16点補完なので、実装がめちゃめちゃめんどくさいと思う。けど。
0470デフォルトの名無しさん
NGNG最適化を考えないなら、
水平方向に4点補間したものを
垂直方向に4点補間すればいいから
簡単でしょ。
0471デフォルトの名無しさん
NGNG便乗。
bicubicの数学的根拠が書いてあるサイトを教えてください。
ベタで良ければソース書いてあげるからさ。
0472デフォルトの名無しさん
NGNGここの7/7のとこに乗ってる、Lanczos2/Lanczos3 フィルタのソースを書いてください。
0473デフォルトの名無しさん
NGNGhttp://www.marumo.ne.jp/db2001_7.htm
0474デフォルトの名無しさん
NGNGhttp://www.marumo.ne.jp/db2000_c.htm
0475471
NGNG違うよ。どうしてそういう係数なのかとか、どういう性質があるのか、ってこと。
3次で補間してるのわかるんだけど、例えば上のページで妙に具体的に書かれている式は、
なにか根拠があるのか、経験的なものなのか、亜流の式でもbicubicって呼ぶのか、
そういうことが知りたいわけ。
lanczosだと(あそこに書いてあることだけ実装するなら、だけど)
各ピクセルごとに
(1) 係数を計算する
(2) たたみ込む
だけだけど、それでいいの?
0476デフォルトの名無しさん
NGNG財団法人画像情報教育振興協会
でも読んで勉強しとけ
0477デフォルトの名無しさん
NGNGsinc 補間 (無限タップ) を 3 次式使って近似して
左右 2 点の 4 タップフィルタにしたのが 3 次補間。
ただそれだけ。
sinc 補間に関してはサンプリング定理とか調べれば
判るでしょう。
0478デフォルトの名無しさん
NGNGさっさとソース出せ
0479472-474
NGNGんじゃ、PDFだけどこんなのは?
http://mikilab.doshisha.ac.jp/dia/monthly/monthly01/20011222/personal_kawasaki.pdf
正直、数学はさっぱりなんで、内容が正しいのかもわからんけど。
あとは、昔のCマガにその辺の詳しいことが書いてあったけど、今は手元に無い。
俺としては理論は置いといて実装できればいいので、>473のを
プログラムに使える形の式にしてもらえればありがたいっす。
0480デフォルトの名無しさん
NGNG0481デフォルトの名無しさん
NGNGつーかそこでソースも公開してるじゃん
ttp://www.marumo.ne.jp/auf/
の「lanczhos 3-lobed 拡大縮小」と
「3次補間フィルタ」ね
0482デフォルトの名無しさん
NGNG入門編とそうじゃないのとがありますが、違いはあるのでしょうか?
通常のやつが入門編の内容を含むものだったら、1冊だけ買いたいなと。
0483デフォルトの名無しさん
NGNG知ってるよ。まあ、解析するのをサボって聞いた俺が悪かったよ。
そう思って今見てみたけど、重み計算はそのまんま当てはめてるだけだね。
あと、バイキュービックは俺には関係ないし。
0484デフォルトの名無しさん
NGNG誰が誰だか分からん。
0485475
NGNGありがとう。ホントにどうもありがとう。
なるほど、そういうことですか。知りませんでした。
sinc補間とかサンプリング定理とかは一応知っているつもりだけど、
そういう本には逆に一般的に名前が付いているフィルタのことは書いてないので
知りたかったんです。
0486デフォルトの名無しさん
NGNGできないんならグチャグチャ言うなっつうのな
0487デフォルトの名無しさん
NGNGお前が書けよ
0488デフォルトの名無しさん
NGNG守秘義務があるのでソースは出せない。
0489デフォルトの名無しさん
NGNG参考サイトありませんか.
教えて下さい.
0490デフォルトの名無しさん
NGNG0491デフォルトの名無しさん
NGNGhttp://www.sm.rim.or.jp/~shishido/
ここの「DIB・グラフィック処理実験室」。
0492デフォルトの名無しさん
NGNG5倍に引き伸ばしたいのですが、うまい補間方法はありますか?
ざっと探してもとっかかりを掴めないのでヒントきぼんぬ。。
画像と関係ないかもしれないけど
画像処理のノウハウを使えそうなので。アヒャ
0493デフォルトの名無しさん
NGNGいったい何を5倍に引き伸ばしたいってんだよ。
0494デフォルトの名無しさん
NGNG左上の[0,0]が東経0度・北緯90度とすると
[0,10]は東経0度・北緯80度、[100,30]は東経100度・北緯60度 のような按配で。
データの解像度が1度刻みということになりますが、
113x65ピクセルの画像を565x325に綺麗に拡大する要領で
擬似的に解像度を0.2度刻みにageたいのです。ウhラー
0495デフォルトの名無しさん
NGNG0496名前は開発中のものです。
NGNG0497デフォルトの名無しさん
NGNGバイリニアってやつですか。
文系のヴァカには少々難しい補間技術ですねえ。。。
がんばって勉強しますm(_____)m
0498デフォルトの名無しさん
NGNG0499デフォルトの名無しさん
NGNG確かに一次関数で切片と傾きのことを理解してりゃ
中学一年生でも分かる範囲だな
三次なら中学三年生くらいかな
0500デフォルトの名無しさん
NGNG0501名前は開発中のものです。
NGNGこれ? tp://www.isl.co.jp/PRODUCT/DZP_DXS/05.html
0502デフォルトの名無しさん
NGNG・オプティカルフローについて
f(n)とf(n+1)にてオプティカルフローを適用する場合、
ベクトルを描くのはどちらのフレームですか?
・円の描き方
ある座標を中心に半径10ピクセル以内を最大輝度値にする場合、
どういうアルゴルリムがありますか?
おねがいします〜
0503デフォルトの名無しさん
NGNGその目的に応じたわかりやすい方でいいと思うけど、
どっちが多いかというなら、移動結果とベクトルを重ねてる方が多そう。
10ピクセル限定なら(あるいはその前後に限定されるなら)、
20x20程度のビットマップにあらかじめ描いておいて、ORする。
一般的な円ならこちら参照(後者の方が解説が丁寧)。
ttp://www.edu.ics.saitama-u.ac.jp/~i736tt/cg/cg2.html
ttp://www2.starcat.ne.jp/~fussy/algo/algo2-1.htm
そして、座標を求めて塗りつぶす。
0504デフォルトの名無しさん
NGNGttp://www.edu.ics.saitama-u.ac.jp/~j736tt/cg/cg2.html
のまちがい
0505デフォルトの名無しさん
NGNGうまく見つけることができないんだけど。
0506デフォルトの名無しさん
NGNGlibjpegのjqunat2.cというファイルにソースが乗っている。
0507デフォルトの名無しさん
NGNG0508デフォルトの名無しさん
NGNG(大半のピクセルについて)ピクセル単位の処理がいらなかったり、
R,G,Bのコンポーネントに分解したりする必要がない処理なら 24bpp のままでも可。
例えば加算合成とか、単純な差分とか。
0509デフォルトの名無しさん
NGNG「輝度を保持する」っていったいどういう処理なんでしょうか?
たとえば
(R,G,B)=(150,150,150)
にカラーバランスで輝度を保持しないで赤方向に30動かすと
(R,G,B)=(166,150,150)
になります。具体的な数字はとりあえずとして、これはわかります。
このパラメータで輝度を保持すると
(R,G,B)=(158,141,141)
になる。なぜ?
元の輝度は0.3*150+0.59*150+0.11*150で150
処理(輝度の保持なし)後が同じ計算で154.8
この数値からどうやって輝度の保持有りの値になるのでしょうか?
0510デフォルトの名無しさん
NGNG煽りでもなんでもなく、その質問は adobe にするべきだと思う。
0511デフォルトの名無しさん
NGNG輝度の求め方は何通りもあるよ
0512デフォルトの名無しさん
NGNG君が正しいと思うRGB値はいくつ?
RGBの値の方が丸められたんじゃないの?
0513デフォルトの名無しさん
NGNGAdobe がどういう計算をやっているかは知らないけど、
> 0.3*150+0.59*150+0.11*150で150
この式の係数は、NTSCで規定されている「R」「G」「B」を前提に
していると思うんだが、パソコンのRGBは、ソレとは違うのかもね。
ひとくちにRといっても、ブラウン管メーカーの使っている赤色の
蛍光体は異なる物質のブレンドだから、同じ色とは限らないしね。
0514デフォルトの名無しさん
NGNGthanks.
0515デフォルトの名無しさん
NGNG色空間は何使ってるんだ?
0516509
NGNG出てくる数値として考えていたのは
元の輝度と処理後の輝度の差を考えて明るさを4づつ落とした
(R,G,B)=(162,146,146)
だと思っていたんです。
この数値を計算すると輝度150.8になるので。
ちなみに、輝度の保持後値で輝度を計算すると146.1
保持してる?と聞きたくなりました。
>>511
>>513
求め方がそもそも違うかもってことですよね。
うーん、何してるんだろう。
>>515
色空間はadobe RGB(1998)を使ってます
どんな処理を実行してるんだろう?
0517デフォルトの名無しさん
NGNGシャドウ・中間調・ハイライトってあるぢゃん。
この辺が効いてるんだろ。
100,100,100で中間調でやったら予想通りになるよ。
150,150,150を中間調・ハイライト同時にやるとほぼ予想通り。
0518デフォルトの名無しさん
NGNGITU-R BT.601 の係数ですな。
正確には 0.299, 0.587, 0.114。
MPEG とかでも YCbCr への変換に使っている係数。
今ではハイビジョンテレビ用の係数とかもあるようだけど。(PCの特性はむしろこっちのほうに近い)
ITU-R BT.709 0.2125, 0.7154, 0.0721
0519デフォルトの名無しさん
NGNG|
|
|
a
a
0520デフォルトの名無しさん
NGNGファイルからならlibjpegで出来たんですが。
0521デフォルトの名無しさん
NGNGlibjpegでできるよ。source mangaer について調べれ
jdatasrc.c が参考になる。
0522デフォルトの名無しさん
NGNG選択されて反転表示させる画像処理方法と
それを元に戻す処理方法について知りたい
のですが、何か良い本ありませんか?
Windowsのリストビューからドラッグイメージを
生成したいのですが、反転されたままの透過
画像になってしまうので。
ついでに、この辺の画像処理テクニック一般を
扱った本があれば読みたいのです。
0523デフォルトの名無しさん
NGNGマスク用意汁。
ついでにスレちがいっぽい。
0524デフォルトの名無しさん
NGNGマスクを使うのは分かるんですが、
どういうマスクを使えばいいのか
分からなくて。
反転色と同じ色のマスクだと、白い
文字も消えちゃうんですよ。
他に適当なスレありますか?
0526526
NGNGこれにカメラ画像をBufferedImageに変換したものを
引数として与えてやると、きちんと保存されています。
しかし、
一度処理(差分領域を赤線で囲む等)を行った後のBufferedImageを変数bfとしたとき、
bfをフレームで表示はできるのですが、
bfをsaveareaで保存しようとするとファイルは保存されますが真っ白です。
saveareaにbfが投げられたときbfがNullでない事は確かでした。
もし解決方法がわかる方がおられましたら、どうしたら保存できるのか教えてください。
0527デフォルトの名無しさん
NGNGBufferedImage i2 = new BufferedImage( image.getWidth(), image.getHeight(), image.getType());
i2.getGraphics().drawImage( image, 0, 0, null);
こんな感じで。
0528526
NGNG返答ありがとうございます。
とりあえず同じ方法でi2に新しくコピーしましたが結果は同じでした。
どうやらBufferedImage型変数を宣言する際に
BufferedImage bi=new BufferedImage(320,240,BufferedImage.TYPE_INT_ARGB);
としていたため、真っ白だったようです。TYPE_INT_RGBに変えたら正しく保存できました。
0529デフォルトの名無しさん
NGNGオフィスのワードのワードアート機能みたいに、
画像ゆがませたりしたいんですけど、
なんか参考になるページ、書籍、単語(キーワード)などあったら教えてください。
ぐぐってもいまいちわからんですた。
0530529
NGNG3D系のライブラリは使用しないで作成したいっす。
0531デフォルトの名無しさん
NGNGビデオゲームの技法で、ラスタースクロールって知っているか?
0532529
NGNG知りませんでした。ありがとうございます。
ただ気をつけないと激しくジャギーがでそうな予感。
贅沢いって申し訳ないですが
丸める技法とかそういうのも教えていただけるとありがたいっす。
キューブマップとか参考にすれば宜しいのでしょうが、
どういうアルゴリズムにしていいのやら。
明日、明後日休みなんでじっくり考えてみます。
0533デフォルトの名無しさん
NGNG0535デフォルトの名無しさん
NGNGここにお世話になった。 WIN32SDKだが、特殊なAPIを
使ってるわけじゃないからいろんな環境で役立つと思う。
http://www.sm.rim.or.jp/~shishido/graphics.html
0536デフォルトの名無しさん
NGNG0537535,536
NGNGRGBの8ビットづつの加算などを一括で。
http://www.emit.jp/prog/prog_b.html
整数型sin,cos,sqrt
http://www.gen-ta.net/underwater/
0538デフォルトの名無しさん
NGNGリアルタイムで画像動かしながら半透明合成でもするの?
0539デフォルトの名無しさん
NGNG前コマa=50%の上に当コマa=100%でsrccpyであらかじめ作っておく。
0540デフォルトの名無しさん
NGNG0541デフォルトの名無しさん
NGNG0542通りすがり
NGNG0543デフォルトの名無しさん
NGNG気を落とさず、精進しなされ。
SRCCOPYもstrcpyも似たようなものだ。
ちなみに、多くの処理系ではmemcpyの方が早いぞ。
0544デフォルトの名無しさん
NGNGせめて「モーションブラーもどき」とか「モーションブラー風効果」って言って欲しいなぁ。
真のモーションブラーは、たとえば秒30コマなら、1/30秒の間に移動した分の画像の合成だから、
1/30秒内の画像を重ね合わせて作るべき。
まじめにやるなら、たとえば 1/120秒間隔の画像4枚を合成するとか、そういう感じ。
0545529
NGNGどうもありがとうございます。
>>491 のようなことは基本的にはおさえていたんですが、
>>537 の下の方はちょいとリンクどこにっやったのか忘れてたので思いださせていただいてありがとうございます、
0546デフォルトの名無しさん
NGNGそういう便利な関数ってありますか?
インデックスチャンクのサイズを読み出して16で割る
というプログラムは書いてみたんですが
みんなこんなことやってるのかなー?と思って・・・。
0547
NGNGデコードするライブラリで、フリーなものって無いでしょうか?
ソースが公開されているとなおうれしいのですが…
それ以外にでもソースが公開されているような
二次元バーコードのデコード用ライブラリご存知ありませんか?
0548デフォルトの名無しさん
NGNGこれでございますか、旦那。
0549
NGNG0550
NGNGエンコーダはすでに作ってあるんだよな…
いまだ画像からのQRコード切り出しが頭悪すぎで
実用にならないという俺の程度の低さを笑ってくれ。
0551デフォルトの名無しさん
NGNG0
正負
正負
0
正正
負負
のどっちですか?
0552デフォルトの名無しさん
NGNGまずは、意味が分かるように書け
0553551
NGNGデジタル信号をFFTした時、
正の周波数成分|負の周波数成分
0-------------------------------->
という結果になります。
画像の場合、
v
|
|
0----->u
|�@�A
|�B�C
|
のような結果になります。
�@&�Cおよび�A&�Bは対象なのですが、
どちらが正の周波数成分でどちらが負の周波数成分かで戸惑っております。
0554デフォルトの名無しさん
NGNG基本的に画像が正の位置情報しかない場合、すべて正の周波数と考えた方が楽で、
同じ画像が周期的に繰り返されていると考えると分かると思う。
FFT後の画像も繰り返されているといった感じ。
# よけい分かり難くなるかな?
0555デフォルトの名無しさん
NGNG他の人が加工したところを削ることができるのですか?
0556デフォルトの名無しさん
NGNG0557デフォルトの名無しさん
NGNGマジレスすると
「他の人が加工したところ」を判別する方法が無いと思われ。
0558デフォルトの名無しさん
NGNG既存の補間手法で復元できる可能性がある。
ただし、離散エラーならかなり復元できるが、
バーストエラーだったらせいぜい数〜数十画素。
0559デフォルトの名無しさん
NGNGバターをつけて擦れ。
0560デフォルトの名無しさん
NGNG0561デフォルトの名無しさん
NGNG例えば、
右向きに歩いている人間の画像を
左向きに歩いている画像に変換することができるような
メソッドってありますか?
0562デフォルトの名無しさん
NGNGGraphics2D#drawImage(Image, AffineTransform, ImageObserver)
0563デフォルトの名無しさん
NGNG「0.299f * R + 0.587f * G + 0.114f * B」
求めることが出来るのですが、結局は0〜255の8ビット
輝度値になります。
これを16ビットや24ビットの輝度値にしたいのですが、
どのようにしたら良いでしょうか?
ご回答よろしくお願い致します。
0564デフォルトの名無しさん
NGNG厨房でも考え付くと思うぞ?
0565デフォルトの名無しさん
NGNGすみません。。リア厨ですが分かりません。。
教えて下さい・・・。。
0566デフォルトの名無しさん
NGNG1 × 10 = 10
?× 10 = 100
これでもわからなかったらアキラメレ。
0567デフォルトの名無しさん
NGNG有難う御座います。分かりました。
0568デフォルトの名無しさん
NGNG一番基本に忠実で、一括でのBMPとJPEGでの相互変換ができるいいソフトありますか
自前の画像に信号を埋め込むプログラム(パラメータの違う画像を7*11個吐く)
↓
CzViewでJpegに一括変換
↓
jpg2bmpでBMPに変換
↓
自前の信号を検出するプログラム
jpg2bmpとCzViewを比較した場合、後者の方が信号の検出結果がよく、
出力されたファイルをバイナリエディタで比較したところ、だいぶ異なっていました。
CzViewでBMP変換してもよいのですが、このソフトはBMPへの一括変換ができないので、非常に困っています。
0569デフォルトの名無しさん
NGNGサンプリングファクタや
量子化テーブルを操作できなきゃ、
そのソフトが生成するJPEGのノイズしか調べられないだろ
CzViewというソフトがそこまでできるソフトなら問題ないと思うが
0570568
NGNG一番、JPEGの標準規格に忠実なソフトを知りたいのですが…。
0571デフォルトの名無しさん
NGNG両方とも同じバイナリになると思ってる?
規格の範囲内でパラメータを変えれば、ノイズの出方も全然違う
サンプリングファクタを1:1:1にして、
量子化テーブルを全部1にすれば、
ほとんど損失のない画像ができるし、
サンプリングファクタを4:1:1とかにして、
量子化テーブルを高い数値に設定すれば、
原型を留めないような画像になる。
ほとんど損失のない画像と原型を留めないような画像の両方とも、
JPEGの標準規格に忠実なものだということだ。
0572デフォルトの名無しさん
NGNG0573デフォルトの名無しさん
NGNG0574デフォルトの名無しさん
NGNG板違い
0575デフォルトの名無しさん
NGNGその後、無劣化で保存するにはどうしたらいいでしょうか
0576デフォルトの名無しさん
NGNG(゚Д゚)ハァ?
可逆のフォーマットで保存すれば?
90度単位の回転ならJPEGからJPEGへ劣化無しで行えるが、
JPEG画像の回転がわかるということはそれはもう知っているのだよね。
0577デフォルトの名無しさん
NGNG0578デフォルトの名無しさん
NGNG非可逆だと思うが・・・
DCTで計算誤差が発生するんでないか?
0579デフォルトの名無しさん
NGNGだ
0580デフォルトの名無しさん
NGNGそれはさておき、おまいら可逆JPEGもJPEG-LSも知らんのか・・・。
0581デフォルトの名無しさん
NGNGITU-Tの勧告の載ってるのは見たが、
実際にファイルを見たことはないな〜
0582デフォルトの名無しさん
NGNG今はJPEG2000の可逆モードがいいかも。
0583デフォルトの名無しさん
NGNG0584デフォルトの名無しさん
NGNG(HSV等に変換しないで)
0585デフォルトの名無しさん
NGNGソース公開されているJPEG2000のCODEC
[JJ2000(Java)]
http://jj2000.epfl.ch/
[Jasper(C)]
http://www.ece.uvic.ca/~mdadams/jasper/
[J2000(C+C#)]
http://j2000.org/
0586デフォルトの名無しさん
NGNG濃度ってのは彩度のこと?
だったらCbCrを増やせばいい。
0587デフォルトの名無しさん
NGNG輝度によってカーブが変化させて、暗部ほど彩度を上げるとかってアプローチもあるでしょう。
0588584
NGNGうまくいきました。ありがとうございます。
0589デフォルトの名無しさん
NGNG↑ここののプログラムでキャプチャーされた動画像をすべて、BMPまたは、AVIやMPEG
で保存する方法わかりますか?
どなたか、教えてください。
0590デフォルトの名無しさん
NGNGDIBとBMPで検索しなされ。
AVIへはAVIで始まるライブラリ関数をMSDNで調べなされ。
MPEGへは、AVI経由で人の作ったソフトで変換しなされ。
0591デフォルトの名無しさん
NGNG0592デフォルトの名無しさん
NGNG0593デフォルトの名無しさん
NGNG研究等で画像処理だけが目的なら自前でループ回すほうが良くない?
0594デフォルトの名無しさん
NGNGどうも見つかりません。。。
0595デフォルトの名無しさん
NGNG作れ
0596594
NGNGpag1tetoはシェアだしなぁ。Padieでも読むかなぁ。。。
0597デフォルトの名無しさん
NGNGうp汁
どれくらいタコか見てやる
0598デフォルトの名無しさん
NGNGソースならCマガジン2000年7月号
再帰分割+LBGクラスタリングを組み合わせて、1600×1200の24bit画像が
数秒(PentiumIII 600MHz)で処理できる程度に高速化して使っています。
0599デフォルトの名無しさん
NGNGImageMagickでも見てみれば?
0600594
NGNG>>597 ただのMedianCutだから載せるまでもない。(タコとは言いすぎか
>>589 その号のCマガジンないので、今度バックナンバー見てきます。
>>599 ImageMagickの減色って高性能なのかな。あとで見てみます。
これくらいしか書けないですが、みなさんどうもー
0601デフォルトの名無しさん
NGNGディザはやってないの?
0602デフォルトの名無しさん
NGNG一時期質が悪くて叩かれてたけど
最近のバージョンは進化してる。
俺はあの動作で満足。
0603デフォルトの名無しさん
NGNGデフォルトではFloyd-Steinbergエラー拡散という手法のディザーリング。
良くも悪くもオーソドックスでポピュラー。
実行時オプション "+dither" を付けるとディザーリング無し減色もする。
その動作が気に入ったら
オープンソースなのでソースを読みながら動きを探ってくれ。
減色に関する文書はwebに結構散らばってるから、時間あるなら探してみて。
英文読むのが好きならweb上の資料は多いんだけどね。
0604デフォルトの名無しさん
NGNG算出することはできるのでしょうか。
入力は動画でもいいです。簡単に算出可能で精度は高いものなのでしょうか・・・
0605デフォルトの名無しさん
NGNG質問が漠然としすぎだ
0606デフォルトの名無しさん
NGNGWindowsでステレオ視をちょこっとやってみたいんですけど、どんなカメラ使ってますか?
USBとか1394とかのカメラでなんかいいのないかなと思ってるんですけど。
0607デフォルトの名無しさん
NGNG値の大きな領域は移動と思われる箇所
こんどは上下左右にずらしながらdiff・absとってblur
移動と思われる箇所の値が最も低下するとき
移動元と移動先が判明
0608デフォルトの名無しさん
NGNG0609デフォルトの名無しさん
NGNG差分のとれない画像の周囲1ピクセルってどうやって処理してますか?
0610デフォルトの名無しさん
NGNGコンパイラに依存した画像処理の話なんてそう出来ないと思うが
0611デフォルトの名無しさん
NGNGあきらめる
0614デフォルトの名無しさん
NGNG一平面の場合はわかるんだけど、多平面になったときにどうしていいかわからん。
自分で考えても、これくらいの案があるんだが。
1.RGBの三平面に独立してかける。
2.YCrCbの〜
3.Y成分によって、ピクセルを選択して、CrCbはそれに従属させる。
4.RGBのそれぞれの成分を二乗して、分散をとって、それでピクセルを選択する。
どうすればいいか教えてください。
0615デフォルトの名無しさん
NGNG目的による。
というか、全部試せばいいじゃん。
0616デフォルトの名無しさん
NGNG相手にしない
0617デフォルトの名無しさん
NGNG用途によるが、もともと隣のピクセルとの差分はピクセル数より1少ないんだから、ビクセル数と同じにしたければ適当にごまかすしかない。
実装上の処理はいくつか考えられる。
ぱっと思いつくのは、適当な値に固定する、端のビクセルを繰り返す、反対の端へ回り込む、1ビクセル内側へ戻る(折り返す)。
0618609
NGNGレスありがとうございます。
いろいろとソースをあたってみたら、大体そんな感じでした。
自然画像の場合、端のピクセルを繰り返すか、内側へ戻るかしておくのが、
ごまかす方法としては無難かなと思います。
0619デフォルトの名無しさん
NGNG0620デフォルトの名無しさん
NGNGInterpolationは良いが、Extrapolationは普通せんよ。
やるとしても、せいぜいリニアまでかと・・・。
0621619
NGNG0622デフォルトの名無しさん
NGNGTiff(RGB非圧縮)からデータを取り込もうとしてますが、うまくいきません。
具体的には、ヘッダ・IFDを解釈してデータ部分を取り出すものの、 ずれ・データ余りが発生しました。
データ余りしたサイズ分をデータを読む前にスキップしてやるときっちりデータが取り出せたのですが、その余り部分が何に由来するものなのかわからない為、その固定サイズスキップをよしとできないでいます・・・
実際の流れは
1)GhostscriptのDevice=tiff24ncでpsからA4のピクセル指定で変換
2)Tiffヘッダ読み出し
3)IFDの解釈
・StripOffsetsやStripByteCountは値0
・IFDエントリでデータを示すポインタを持つものはIFDの後ろに続き、一番後ろを示すデータの末尾を、イメージデータの先頭とみなす
4)イメージデータを読み出す (1ラインが変換時の横指定ピクセルx3byteとし、縦指定ピクセル数読む)
上記のように行った場合に、ずれ・データ余りが発生しました。
ためしに余った分(テストしたケースでは20バイト)をIFDを読みきったあとにスキップした位置を、イメージデータの先頭とみなして切り出すと正しく動作しました。
これを見る限り、20バイトはヘッダの一部のように思えますが仕様書を見る限り何に由来するものなのか理解できません・・・
イメージデータの先頭を求めるには、StripOffsetsをみるか、IFDでデータが格納されたその直後位置、という見方だけでは不足しているのでしょうか?
長文ごめんなさい
0623デフォルトの名無しさん
NGNG> ・IFDエントリでデータを示すポインタを持つものはIFDの後ろに続き、一番後ろを示すデータの末尾を、イメージデータの先頭とみなす
IFDエントリのデータのサイズを計算するときに、TYPE によって異なるデータサイズを乗じていないとか。
0624622
NGNG反応ありがとうございます
私がちょっと考え違いをしていたみたいで、そもそもStripOffsetsが0であること自体が異常状態であるようで、基本的にはStripOffsetsを参照しなくてはならないように思います。
今回値が0になる原因は、gsは1ページデータ出力後にfseekで改めてStripOffsets等をセットしに行っており(確証はないのですがgsのソースを見るとそのように見えた)で、
解釈側はgsの出力をパイプで引き取っており、gsがfseekしようとしてもできないデバイスのためStripOffsetsを受け取ることができないという状態のように思われます。
一時ファイルを作成し、それを経由してアクセスすれば解決しそうですが、ディスク容量の問題が出てきそうなので、別の方法を検討中です^^;
お目汚し、失礼しました。
0625デフォルトの名無しさん
NGNGどうやって探してよいのかわからず困っています。しくしく
0627デフォルトの名無しさん
NGNG0628622
NGNG無知は罪ですね・・・
0629デフォルトの名無しさん
NGNGうまい処理方法ってありませんかね?
具体的には、元画像上にライトがあって、
そのライトの光で元画像が照らされるような表現が
したいのです。普通どんな風に処理をしているのでしょう?
光の画像を用意しておいてα合成しかないのでしょうか?
教えて某ですいません。
0630デフォルトの名無しさん
NGNG0631デフォルトの名無しさん
NGNGレイトレーシングじゃだめ?
0632デフォルトの名無しさん
NGNG画像の隣のピクセルの明るさの差で法線をでっち上げる
環境光とライトを設定して照明計算してレンダリング
3Dでの照明の基本はDirectXのSDKドキュメントあたりで十分読める。
0633629
NGNGまた報告に来ます。
0634デフォルトの名無しさん
NGNGこの4:3って数字には何か特別な意味でもあるんでしょうか?
単純に見やすいから?
ついでにワイド画面の16:9にも同じ疑問が浮かびますが…
0635デフォルトの名無しさん
NGNG人間の視界が横に広いからかね。
0636デフォルトの名無しさん
NGNG0637デフォルトの名無しさん
NGNG紙芝居の枠を流用して作ってたんだ。
納得。
0638634
NGNG4:3は・・・やっぱり見やすい(と考えられてた)から?
ttp://www.nhk.or.jp/strl/aboutstrl/evolution-of-tv/p16/
0639デフォルトの名無しさん
NGNGあれだけはどうしても許せないんだけど・・・
0640デフォルトの名無しさん
NGNG0641デフォルトの名無しさん
NGNGビデオメモリが4MBで格納できて
なおかつ、縦・横幅とも切りの良い
サイズだから。
4:3には、あまり拘らなかったみたい<SXGA
0642デフォルトの名無しさん
NGNG1360x1020は、横幅が12の倍数じゃないから駄目?
なら、1356x1017とかじゃ駄目だったのかなぁ?
0643デフォルトの名無しさん
NGNG…何処から12の倍数が出てきたんだ?(w
じゃあ、1360x1020で良いのにね。
0644デフォルトの名無しさん
NGNG紹介されているページとかあれば教えてほしいっす。
0646デフォルトの名無しさん
NGNG板違いだが、普通ワイド変更方式何種類かと、ノーマルを選べるだろ。
ちなみに引き伸ばすのは、中央だけが焼けないようにするためという実用的な意味がある。
どうでもいいことだが、4x3=12だよな。12個の正方形に分割できるというか。
比に深い意味は無いんだと思うが、12進文化圏の感覚では自然な値なのだと思う。
更にどうでもいいことだが、16:9 は 4:3の二乗だよね。
0647デフォルトの名無しさん
NGNG0648デフォルトの名無しさん
NGNG私もそれかと思った。昔のブラウン管って完全に丸かったから、それに内接するような
長方形で切りのいい縦横比なのかな、と。
でも、ハイビジョンの16対9とかってのは、謎だね。あれ、最初NHKが提案したときは、
たしか、もうちょっと単純な整数比で 5対3とかだったような気もする。
映画のフィルムの形式とか、どういうふうに決まっているんだろうか?
0649デフォルトの名無しさん
NGNGファイルサイズによってファイルのbit情報が何故かぶっ壊れる。
ARGBがどうやら入れ替わってる様子なのだが
どうしてこうなるのかさっぱりわかんない・・・。
ちなみに開発環境はVC++6.0でコンソールで動作させてる
Targaファイルのフォーマットは
Ver2.0 フッター有 エクステンションフッター無 αチャンネル付 32bit
サイズはぶっ壊れるサイズで1280x960 ぶっ壊れないサイズで640x480
DirectXで1024のサイズ以上のファイル読み込めないから
わざわざ分割するツール作ったのにこの有様だ・・・・・
今日も朝になってしまったよ・・この年で徹夜はキツイ。
お願いします、どんな情報でもいいから教えてください・・・
0650デフォルトの名無しさん
NGNG0651649
NGNG基本的にはそこまで大きなサイズで分割する予定はなく
32x32とかで重複を消しファイルサイズを軽減する目的もあったのだけど
読み込んだ瞬間すでにbit配列がおかしくなっているのでどうしようも…
フッターまでちゃんと読み込めているのですが
何故か単純に書き出してみてもうまく元通りにならないのです…。
0652649
NGNGfreadで一気にデータ部ぶっこ抜いてfwriteでそのまま書き出してます。
0653649
NGNG神様降臨してください・・・。・゚・(ノД`)・゚・。
降臨期待age・・・
0654デフォルトの名無しさん
NGNG0655649
NGNG0656デフォルトの名無しさん
NGNGまた同じように悩んだ人の道標にもなるだろ。 ってもうこねーか
0657デフォルトの名無しさん
NGNG処理時間かかり杉。
いいアルゴリズムない?
0658デフォルトの名無しさん
NGNGで、目標時間は?
0659デフォルトの名無しさん
NGNG書いてあるページ教えて!!
0660デフォルトの名無しさん
NGNGhttp://ikemoto.atnifty.com/soft/manual/ch4_4.html
0661デフォルトの名無しさん
NGNGfopen、fread、fwriteでぐぐれ
なんと、tiffだけじゃなく、ほぼ全ての形式が読み書きできる優れものだ。
0662565
NGNG0663デフォルトの名無しさん
NGNGヘッダ情報とか。
0665デフォルトの名無しさん
NGNG0666デフォルトの名無しさん
NGNGレイトレが画像処理に入るとは思えないが、プログラム板には他に該当しそうなスレはないなぁ。
しいてあげるなら、CG板の
http://pc3.2ch.net/test/read.cgi/cg/1025138347/
かな。
0667デフォルトの名無しさん
NGNGスレ運用していく自信がないよ。・゚・(ノД`)・゚・。
0668デフォルトの名無しさん
NGNG今時、3DCGプログラミングとかいうと、OpenGL とか Direct3D とかを使うだけなんだもんなぁ。
面白くない。
昔、ラジオシティとかを語っているスレを見た覚えがあるのだが、
どの板で見たのか覚えてないや…
0670デフォルトの名無しさん
NGNG縮小アルゴリズムの名前はよくでているのですが具体的なアルゴリズムや
ソースが見つかりませんどなたか知りませんか?
知りたいアルゴリズム
・ニアネストネイバー
・バイリニア
・バイキュービック
・面積平均法
・ラグランジュ補完法
0671デフォルトの名無しさん
NGNG縮小というのが、大幅に縮小するのか、ほぼ同じ解像度で微妙に縮小するのかで話が変わってくるが、以下は大幅に解像度を落とす場合の話。
ニアレストネイバー、バイリニア、バイキュービックは拡大のためのアルゴリズムだから縮小には関係ない。
(微妙な縮小ならバイリニア・バイキュービックは有効)
ラグランジュ補間は縮小にも使えんこともないけど、次数よりも小さい比率で縮小するならあまり意味は無い。
大幅に縮小するなら、面積平均法が単純確実。
面積平均法って難しい呼び方してるけどやってることは単純。
解像度を縦横半分にするなら、縦横2ドットずつの4ドットの平均色をとっていくだけ。
縮小倍率が半端な時はちと面倒。悩んでくれ。まあ、Bresenham が手軽かな。
あとは、あらかじめローパスフィルターを通すという技もある。
0672デフォルトの名無しさん
NGNG最近傍法のアルゴリズムくらい、考えるほどのもんでもないだろう。
それぞれの名前で検索すりゃ、情報はいくらでも出てくると思うが・・・
0673デフォルトの名無しさん
NGNG別にニアレストネイバー、バイリニア、バイキュービックは縮小でも使えるけどな。
0674デフォルトの名無しさん
NGNGむしろ、面積平均法が縮小専用のアルゴリズムだ、という言い方をするべき
0675デフォルトの名無しさん
NGNG0676デフォルトの名無しさん
NGNG0677デフォルトの名無しさん
NGNGぜんっぜん違うだろ
0679デフォルトの名無しさん
NGNGふざけんな!
ソースをかけるのはちゃんぽんではなく皿うどん
0680デフォルトの名無しさん
NGNG0681671
NGNG>>673
解像度を9/10に縮小、ぐらいだったらバイリニアやバイキュービックは使えるけど、
解像度を1/10に縮小、とかだったらバイリニアやバイキュービックは意味がないでしょう。ニアレストネイバーとほとんど同じ結果になるし。
0682デフォルトの名無しさん
NGNG意味無いわけねーって。
フォトショなら2回に分けて縮小したりするがな。
0683デフォルトの名無しさん
NGNGニアレストだとエイリアス大杉だし、高速モードにはバイリニアかな。
0684デフォルトの名無しさん
NGNG補完対象をsrcとdestで交換しただけなんじゃ…
0685デフォルトの名無しさん
NGNG意味不明…
それぞれ説明してみろ。
0686デフォルトの名無しさん
NGNG0687デフォルトの名無しさん
NGNG分からんなら分からんと正直に言おうね。
バイリニアってのは常に4点しか使わんのよ。
面積平均はその名の通り縮小率が上がるほど使うピクセルは多くなる。
0688デフォルトの名無しさん
NGNG0689デフォルトの名無しさん
NGNGじゃぁLanczos3よりいいの教えてくれ。
0690デフォルトの名無しさん
NGNGLanczos3のソースを貼れば教えてやるよ
0691デフォルトの名無しさん
NGNGLanczosも知らんやつにそれは無理だな。
だいたいググることも知らんのは低脳そのもの。
0692初めてのTIFF
NGNGbitmap への翻訳は、tiffile.c を参考にしました。
で、pics フォルダにある .tif ファイルを見たのですが、5枚は出てきません。
不審になり、他の viewer (といっても Kodak....exe, ZoomBrower, など数種
ですが)を試しましたが、デジカメに付いていた ACDsee 以外はこの5枚は出て
きませんでした。
安直な質問ですが、TIFF viewer はこのレベルで、通用するものと思ってよろしい
のでしょうか。(IrfanView は出ませんねえ)
諸兄の所見を聞かせて下さい。
0693デフォルトの名無しさん
NGNG0694デフォルトの名無しさん
NGNG0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNG画像処理って良い情報がwebにないからかな。
0697初めてのTIFF
NGNGで、1枚は 64 bit data で非対応、2枚は解凍非対応で、1枚はなんもメッセージを
返さないことが分かりました。
0698デフォルトの名無しさん
NGNGその程度でTIFFに完全対応というのは...
行儀の悪いTIFFが世の中になんて多いことか
でも、100%全てのTIFFが読めるViewerはおそらくないので徐々に対応していけばいいと思うが
0699初めてのTIFF
NGNGご意見をどうもありがとうございます。
完全対応しようとは思いもよりませんが、他で、Canon のデジカメのデータは
非公開とか聞き、先々 EOS かなと思っていたので、詮索し出したところです。
半分愚痴ですが、jpeg, zlib 関係の library はあっちでもこっちでも、
それぞれの名前のを入れないといけないというのは、鬱陶しいですねえ。
0700デフォルトの名無しさん
NGNG1/整数 で縮小するんなら、バイリニアもバイキュービックもニアレストネイバーと全く一緒。
0701デフォルトの名無しさん
NGNG言いたい事はわかるが、だから縮小に使えない、とは別の話だな
それにしても、写真屋ではそういう場合でもきちんと綺麗に縮小するんだよね。
まあ、縮小時にもその3つしか選択が無いので綺麗に出来なきゃ困るんだけど、
どういうやり方してるのか、ちょっと気になったりもする。
0702縮小質問者(670)
NGNG名前だけは有名なアルゴリズムなので簡単に見つかるかと
思って自分でも探したのですが結構見つからないものですね
本屋で書籍も結構調べてますが、画像の加工(エフェクトとか)やレイトレーシングに
ついての本や公式のみが書いてある本がほとんどで縮小に関してはバイリニア等の
名前すらでてない本がほとんどです
Cマガで連載していた昌達K'z氏の画像処理を極めるアルゴリズムラボに
縮小に関してのアルゴリズムがでていたらしいのですがCDロム化より古い時に
連載されてるようなので入手困難になってるようです
書籍ででたら即購入したいのですが・・・とほほ・・・
0704デフォルトの名無しさん
NGNGhttp://www.geocities.co.jp/Playtown-Spade/4804/biliner.htm
ここのAUFの中とか
http://www.marumo.ne.jp/
0705デフォルトの名無しさん
NGNG知らないって事は、けして恥ずかしい事じゃない。
自分の無知を認めない事が恥ずかしい事なんだ。
よーく考えてみるんだな。
0706デフォルトの名無しさん
NGNG釣りじゃなく本気のようだなw
例えばだな、1ピクセルごとに白、黒、白、黒…となっているイメージを1/2に縮小すること
を考える。ニアレストネイバーなら真っ白か真っ黒になるわけだ。それが他と同じなのか?
0707デフォルトの名無しさん
NGNGで、お前は認めないのか?
恥ずかしいな。
0708デフォルトの名無しさん
NGNG0709デフォルトの名無しさん
NGNGその辺はまだまだレベルが低かったようだな。
こっちにはLanczosのことも書いてあるな。まぁアニヲタなんてこんなもんだろ。
http://www.marumo.ne.jp/db2001_7.htm#4
0710デフォルトの名無しさん
NGNG0711デフォルトの名無しさん
NGNGab
cd
の4点を1/2(つまり1点ね)にバイリニアで縮小するなら(a+b+c+d)/4にするだろ。
なんでaにするのかね。そりゃそんな取り方すれば同じになるさw
0712デフォルトの名無しさん
NGNG0713デフォルトの名無しさん
NGNG0714デフォルトの名無しさん
NGNGおいおい、お前もかw
少しは考えろよ。お前式で計算するとどうなるのが正しい?w
0715デフォルトの名無しさん
NGNG頭悪くて固そう
単純な1/2しかしないっていうんならともかく、
一般の縮小が可能なアルゴリズムを考えるときに、
どこが縮小の中心になるかによるとは思わんのだろうか。
で、普通は整数座標が縮小の中心になるもんだ。
0716デフォルトの名無しさん
NGNGなんだそれ・・・バイリニアのアルゴリズム知らんのか?
画像を縮小する場合の考え方として、縮小後のとあるピクセルが
元画像のどこにあるかを計算して、そこから各縮小アルゴリズムに拠って
そのピクセルの画素を計算するわけだ。
で、整数で割った場合。
0、1、2 という位置のピクセルが元はどこにあったかを計算するのに、
(縮小後位置÷倍率)と言う式にあてはめると、例えば2で割ったなら
0、2、4 となるわけだ。
このように、元画像での位置が整数の場合、バイリニアやバイキュービックの
アルゴリズムを使って周囲のピクセルに重みをかけても、
結果はそこのピクセルをそのままつかうだけになる。
つまり、706にある通り、真っ白か真っ黒になるわけだよ。
0717デフォルトの名無しさん
NGNGこの(縮小後位置÷倍率)という位置の割り出し方をすると、
縮小の基準点が左上の原点になるわけだ。
そうすると、微妙に右端が切れたりとかするわけ。
だからこれを、画像の中心を基準にして縮小しようと思ったら、
(縮小後位置+0.5)÷倍率+0.5 という式を使う。
この場合は、706の画像の縮小結果は灰色一色になる。
0718デフォルトの名無しさん
NGNG(縮小後位置 + 0.5)÷倍率 - 0.5
が正解だな
0719デフォルトの名無しさん
NGNGというわけで、711はもっと勉強するべし。
どうせ、さっきから主張しまくってるLanczos3も。自分じゃソース書けないんだろ?
0720デフォルトの名無しさん
NGNGだから灰色になるのが正しいわけだよ。
>>719
Lanczosも単に2次元重畳の係数がそうなだけ。SSE化までならしてみたが?
0721デフォルトの名無しさん
NGNGちなみにPentium4 1.8GHzで2500x2000の画像で1枚2秒くらいだ。
まともにやってるから結構時間はかかるな。
0722デフォルトの名無しさん
NGNGいるよなあ、こういう、人が解説した後に「そういう事なんだよ」っていばる奴。
711みたいな事言った後に何を言っても説得力はないぞ。
「やった」ってのもいくらでも言えるしな。一部でもいいからソースだしてみろって。
0723デフォルトの名無しさん
NGNG0724デフォルトの名無しさん
NGNGローパスフィルタってなんですか?
0725デフォルトの名無しさん
NGNG0726デフォルトの名無しさん
NGNGあらかじめぼかしてから縮小する事によって、ごまかすって事かあ。
サンクス、勉強になった。
0727デフォルトの名無しさん
NGNGLPF, Low Pass Filter == High Cut Filter
HPF, High Pass Filter == Low Cut Filter
BPF, Band Pass Filter
0728デフォルトの名無しさん
NGNGあぁ、アニヲタのページ見たのか?
そんな2度手間しなくとも重畳すれば1発なのにな。絵も綺麗になるし。
0729デフォルトの名無しさん
NGNGしかし、お前なんでこのスレにきてるんだ?バイリニアも知らずに。
ppackは楽でいいね。
w0 = _mm_mul_ps(_mm_set_ps1(p[0]), *(__m128 *)(q + 4 * 0));
w1 = _mm_mul_ps(_mm_set_ps1(p[1]), *(__m128 *)(q + 4 * 1));
w2 = _mm_mul_ps(_mm_set_ps1(p[2]), *(__m128 *)(q + 4 * 2));
w3 = _mm_mul_ps(_mm_set_ps1(p[3]), *(__m128 *)(q + 4 * 3));
0730デフォルトの名無しさん
NGNGところで、バイリニアを知らんのは>711だろ
0731デフォルトの名無しさん
NGNGおいおい、711も俺だよ。
だからお前式を書いてみろよ。
0732デフォルトの名無しさん
NGNG711のやり方だと、9点を3で割る場合も全部足して9で割るつもりか?
すげえバイリニアだな、おいw
0733デフォルトの名無しさん
NGNGおいおい...
いいからその1/2の場合の式をここに書いてみろって。
0734デフォルトの名無しさん
NGNG書いたが?
0.5 * 0.5 * (a - b - c + d) + 0.5 * (b - a) + 0.5 * (c - a) + a
こっちのほうがいいか?
0736デフォルトの名無しさん
NGNG結果が違うかどうかが問題じゃないだろ、アホかよ
0737デフォルトの名無しさん
NGNGバイキュービックも平均画素も(a+b+c+d)/4になるな。こりゃすげえ。
これらは全て、711の脳内では同じアルゴリズムだったわけだ。
0738デフォルトの名無しさん
NGNG0739デフォルトの名無しさん
NGNGおいおい…ちゃんと流れを読めよ。
>>700の間抜けに説明するのにバイリニアを簡単に説明するのに4点1/2で説明した
だけだぞ…
結果が違うかどうかか問題じゃない?どういう意味?w
0740デフォルトの名無しさん
NGNG0741デフォルトの名無しさん
NGNGこれのどこがバイリニアを簡単に説明したものなのか、
お前の思考順路を覗いてみたいもんだな。
いいからその1/3の場合の式をここに書いてみろって。
0742デフォルトの名無しさん
NGNG真中1点の色になる。
バイリニアだと縦横1/2より縮小すればエイリアスが出るってこった。
0743デフォルトの名無しさん
NGNGあぁ、一応言っておくと、バイリニア(に限らんが)常にエイリアスは出る。
もちろん、エイリアスの出る周波数成分があればだが。
0744デフォルトの名無しさん
NGNG文盲ですか?
0745デフォルトの名無しさん
NGNG結局ただのバカか?
0746デフォルトの名無しさん
NGNGとにかく、(a+b+c+d)/4 という式は、バイリニア縮小の式じゃないだろ?
たまたま結果が同じだろうがそんな事は関係ない。
>742にしてみても、お前の脳内計算の結果なんか誰も聞いてないし。
知識があるのか無いのか知らんが、もう少しまともな会話ができるようにしろよ・・・。
>結局ただのバカか?
こりゃ思いっきり俺のセリフだ。
0747デフォルトの名無しさん
NGNGもちろん少数倍率にも対応するため膨大なサイズになる。
0748デフォルトの名無しさん
NGNGほんとに流れを無視する間抜けだな...
>>711はバイリニアで縮小した結果の話をしてるんだよ。
>>747
誤爆か?w
0749デフォルトの名無しさん
NGNGはいはい、次はもう少し相手に理解してもらえる話が出来るようにがんばろうね
0750デフォルトの名無しさん
NGNGかわいそうに。
0751デフォルトの名無しさん
NGNG小学生が必死に聞きかじりの知識を喚きあっているようだ・・・・。
0752デフォルトの名無しさん
NGNG0753デフォルトの名無しさん
NGNGなんだかレベルが高そうなので教えて下さい。
ピントの暈けたデジカメ画像を復元するソフトを作りたいのですが、そういう
ツールやライブラリがあれば教えてくれませんか?
このソフトはどうやってるか分かりますか?
http://www.nyanko-web.com/rescue/
逆フィルターとかウィナーフィルターというのを使えばいいのかなと思うのですが。
0754デフォルトの名無しさん
NGNG0755デフォルトの名無しさん
NGNG過程が重要な話題で結果だけ書くのはどうかと。
ましてや関係ない式を書いて誤解されたら逆切れってのは…。
0756縮小質問者(670)
NGNG>>752
とりあえず >>704氏のリンク先でバイリニアを勉強中です
自分でしっかり理解してからソース書いてみます
ニアレストは「創作プログラミングの街」のに載ってました
平均画素法も載ってるかも?(未検証)
日記のほうのHPにバイキュービック、平均画素法、Lanczosの
アルゴリズムについて載ってるようなのでじっくり勉強してみます
0757デフォルトの名無しさん
NGNGアホはほっとけよ。
常に自分が一番、自分の事を理解できない奴はクソって世界で生きてるんだから。
0758デフォルトの名無しさん
NGNGこんな初歩のレベルで可哀想に...
0759晒し上げ
NGNG0760デフォルトの名無しさん
NGNG0761デフォルトの名無しさん
NGNGマスクとマスクでない部分との境界がどうしてもギザギザになってしまいます。
何か良いアルゴリズムはないでしょうか。
ただしアルファは使わないアルゴリズムでお願いします。
0762デフォルトの名無しさん
NGNGアンシャープマスクじゃ物足りない?
あと、この種のアルゴリズムは、ライブラリより自分で実装して行ったほうが楽しいよ。
0763デフォルトの名無しさん
NGNGマスクが無いように読んで計算、書くときにマスクを考慮、でダメなの?
>>762
はい。
もちろん、自分で実装できるだけの情報があればしてもいいと思っています。
0764デフォルトの名無しさん
NGNGうん。せめて過去に発言したレス番号を名前欄に入れるくらい、やって欲しいな・・・
0765デフォルトの名無しさん
NGNG2chで何言ってんだかw
0766デフォルトの名無しさん
NGNGん? 2ちゃんでも、議論になったら捨てハン使ったりするのは珍しくないと思うが・・・ ?
0767デフォルトの名無しさん
NGNG時が経つのは早いなぁ。
0768デフォルトの名無しさん
NGNG少し計りなおした。Lanczos3で、3000x2000の画像を1/4縮小で0.5秒、
720x480->640x480だと0.04秒くらいだった。25(フレーム/秒)相当。
Pentium4 1.8GHz、画像ファイルの読み書きは除いたメモリ上での変換時間。
遅い?速い?
0769デフォルトの名無しさん
NGNGは10枚変換する時間だった。
0770デフォルトの名無しさん
NGNG遅い
0771デフォルトの名無しさん
NGNG聞いてねえよカス
速度なんか環境によって違うし、比較しようがないだろ
0772デフォルトの名無しさん
NGNGそうだな。
0773デフォルトの名無しさん
NGNG>>771
心配するな、お前には言ってない。
0774デフォルトの名無しさん
NGNG遅いか速いかは用途にもよる。
文書画像ビューワに使うには、お話にならないほど遅い。
動画像表示向けなら、かなり遅い。
デジカメ画像専用ビューワなら、許せるかも。
0775デフォルトの名無しさん
NGNG0776デフォルトの名無しさん
NGNGいや、アニヲタさんのAviUtlとかその他Lanczosが使えるソフトの速度と比べてどうかと
思ってね。
http://www.marumo.ne.jp/auf/
http://www.avisynth.org/index.php?page=Resize
http://hp.vector.co.jp/authors/VA015850/software/wisteria.html
http://www8.plala.or.jp/kusutaku/iview/
http://www.imagemagick.org/www/perl.html
0777デフォルトの名無しさん
NGNGそんなつまらない自尊心のためにこのスレでそんなやつと比較しようなんて考えるなよ。
最適化スレとか、AVIUtlプラグインスレで自慢してくれば?
0778デフォルトの名無しさん
NGNG0779デフォルトの名無しさん
NGNG画像向きのマルチレート信号処理についてなんか良い本しりませんか?
洋書でも良いですけど、1万円ちょっとまでで買えるのが良いです。
0780名無し@沢村
NGNG特許に触れずにGIFがつくれる完全な解説だから、ROMれ。
まずGIFフォーマットだが、いろんなサイトに解説が書いてあり、読めばこれは幼稚園でもわかるから、フォーマットについては書かん。
問題はGIFのデータ列だ。これは検索しても、英文の技術文書しか出てこんから、英語のできんおまいらにはわからんだろう?
また英語ができても幼稚園でもわかるようには解説してないから、読んでもわからんはずだ。
だがこれを読めば幼稚園でもわかるよ。
さて問題のGIFのデータ列だが、フォーマットには、圧縮ビットサイズ、ブロックサイズ、データ列、ブロックターミネータと書いてある。
これは全部重要だ。
さてGIFをつくる場合、まず圧縮ビットサイズを求めることから始めるんだ。
そこで圧縮したいビットマップのカラーテーブルを見る。カラーテーブルの配列数が16なら、16を表すには4ビット必要だから4になる。
最大の256色が使われている場合は、8だ。
次にデータ列だが、データ列はクリアコードからはじまる。
クリアコードは圧縮ビットサイズ*圧縮ビットサイズだ。
つまり2なら4。4なら16。8から64だ。
そしてふつーのデータ列が続くが、ふつーのデータ列のひとつのサイズは、圧縮ビットサイズ+1だ。
つまり2なら3ビット。4なら5ビット。8なら9ビットだ。
だがふつーデータは8ビットごとに表されるから、8ビットの中に例えばひとつ3ビットずつのデータを右から左にパックしていくんだ。
例をあげると、ビットマップのカラーテーブルが、
RGB[0]=00,00,00
RGB[1]=FF,FF,FF
と白と黒の2つで、ビットマップデータが0,1,0、つまり黒、白、黒と3ピクセルのデータだった場合、
GIFでは、まず圧縮ビットサイズが2だから、クリアコードは4になり、
GIFのデータ列は、最初がクリアコードだから、100。
データ列は圧縮ビットサイズ+1の3ビットで表されるから、000,001,000になる。
これを右から左にパックして、8ビットずつで表すと、01000100,0000だ。
0781名無し@沢村
NGNGまたデータ列の最後には終了コードがくることになっていて、終了コードはクリアコード+1で表される。つまりこの例の場合4+1で5だ。
だから終了コードを加えると、01000100,01010000になる。つまり16進数で44 50になるというわけだ。
つまりビットマップの00 01 00というデータ列が、GIFでは44 50というデータ列になったというわけだ。
これが無圧縮GIFエンコードのすべてだが、たくさんのデータ列を扱うときには、
2の圧縮ビットサイズ−2乗個ごとにクリアコードを挿入しなければならないことを付け加えておくぞ。
おまいらよ、これで特許に触れないGIFエンコーダができるぞ。
おれは神だ。
0782デフォルトの名無しさん
NGNGまぁ来月には特許も切れるらしいがw
http://tohoho.wakusei.ne.jp/wwwxx051.htm
0783デフォルトの名無しさん
NGNGすばらしい。神業だ。
あたしゃ、未だに動くやつが分からん。いつか解説して。
0784デフォルトの名無しさん
NGNGたいていの場合もっと沢山入れなきゃいけなかったような気が・・・
0785デフォルトの名無しさん
NGNG適当なスレが見つからないのでここで質問させてもらいます。
レイトレでボリュームライトなどの発光体を描画するにはどんなデータ構造や
処理を行えばいいのでしょうか。
0786デフォルトの名無しさん
NGNGレイトレでやるなら点光源のかたまりにするしかない。
ボリューム内に一定間隔おきに分布する点光源を作って、あとは点光源として処理する。
データ構造については、ボリュームをどういう形式で持つか次第だな。
0787785
NGNGやっぱりというかなんというか、そんな感じにするしかないですか。
自分は、光源ていうのは実際に光る光源じゃなく、理論上の光源を与えて
物体の鏡面反射・拡散反射を計算するくらいしかやったことないんですが、
点光源の集合として処理するというのは、輝度を持ったボリュームデータとして
扱うということになるんですよね?
あ、それとも「ボリューム」ライトって言っちゃうと
ボリュームレンダを前提とした話になっちゃうんでしょうか。
言葉の細かい定義は詳しくないんですが、今求めてるのは
グロー(グレア?)が近いかも知れません。
と言ってもチンダル現象とかも描き出したいので結局のところ
ボリュームデータを扱うことになるかも。
MAYAのイナズマなんかはかなりはやいレンダリング処理を
してるみたいですが、どんな計算してるんでしょうね。
0788786
NGNGそれはボリュームライトじゃないですね。
レイトレの場合(というか3DCGの場合)、光源とは画面上にレンダリングされない「理論上の光源」のことを指し、
「実際に光る光源」(たぶん、蛍光灯とかを表現したいということですよね)
なんていうのは光源とは呼びません。
で、そういうグローを表現したいのでしたら、
・非常に明るい物体としてレンダリングする
・作画後の画像に、後処理として、オーバーフローした画素の明るさを周りに分配する
という処理になります。
0789デフォルトの名無しさん
NGNG現実世界では、瞳孔が閉じて見えてくるわけだけど、
静止画でそれを模倣するのは所詮無理なのかしらん・・
0790786
NGNG画素の明るさを浮動小数点とかで持っておいて、
表示の段階で整数に変換すればいけるよ。
絞りを開けてる=0.0〜1.0 を 0〜255 に変換
絞りを絞ってる=0.0〜10.0 を 0〜255に変換
みたいな感じ。
キーワードは HDRI (High Dynamic Range Image)かな。
0791デフォルトの名無しさん
NGNG瞳孔以外にも、網膜には感応性が高い細胞と低い細胞があるんで、
眼のダイナミックレンジ自体も結構広いんだよね。
逆光でフラッシュたかなくても普通に人の顔とか良く見えるでそ。
0792785
NGNG点光源の周りの空間にランダムにフォトンをとばす感じで
改悪擬似ボリュームレンダリングをしてみました。
・・・煙みたいになりました。
正直>>789-791あたりの話まで深く考えてなかったというか
言われて初めてああそんな話もあったな、なんてレベルですが、
市販ソフトがやってるような綺麗な発光体や
窓から差し込む光なんかを記述するのは無謀でしょうか。
レンズフレアはすでに当面諦めてますが。
0793786
NGNG・発光体
そのやりかただと、発光体の手前に半分覆うような物体があった場合、覆われてない側にしかグローもどきが作画されない。
実際には、光源より手前の物体にもグローが加法混色される。
これは、現実の世界の話として、発光体の周りのグローは撮影するレンズやフィルム上で発生するものだから。
三次元空間的に処理するのは間違いで、レンダリング後の画像に二次元的に処理するべき。
で、やり方は >>788 で書いた通り。もうちょい詳しく説明すると、
・通常の作画が明るさ 0.0 〜 1.0 になるようにしているとしたら、発光体はたとえば明るさ 10.0 になるように質感設定する。
・作画後の明るさが 1.0 を超えるピクセルについて、1.0 を超えている分についてぼかし処理をかける。(この場合
明るさ 9.0 をぼかし処理する)
・1.0を超えてない部分のピクセル値と、1.0を超えてぼかし処理を行った結果のピクセル値を合計する
といった感じ。
0794786
NGNG・レンズフレア
これもあまり難しくない。作画後の2次元レベルの処理として、輝点と画面中心を結ぶ直線上に、
輝点と画面中心との距離を基準として、円(や六角形)を重ねていくだけ。
たとえば、Photoshopの「逆光」は
・中心から輝点方向に1.3倍の位置を中心に、白い円環(小)を描く
・輝点と同じ位置を中心に、赤い円環(中)を描く
・中心から輝点方向に0.2倍の位置を中心に、橙の円(小)を描く
・中心から輝点と逆方向に0.5倍の位置を中心に、橙の円(中)を描く
・中心から輝点と逆方向に1.4倍の位置を中心に、白い円環(大)を描く
・以下略
みたいな感じになる。どの位置にどんな大きさの円を描くかがキモかな。
まずは Photoshop の逆光を見てまねをするのがいいかと思う。
・窓から差し込む光
これがいちばん難しい。
たぶん手っ取り早いのはシャドウポリゴン方式
光源方向から見た物体の輪郭に対して、光の方向に沿ったポリゴンを生成するのが「シャドウポリゴン」で、
これは本来、Zバッファで影表現するための「影の内外判定用ポリゴン」なわけだが、
言い換えれば「光の内外判定用ポリゴン」でもあるわけだ。
で、レイをトレースする過程で、シャドウポリゴンと交差して光の中を進んでいる間、
チンダル現象的輝度上昇に合わせた輝度加算を行うようにする。
あ、レイトレだったらポリゴンにまで落とす必要はないから、
「光源方向からみた物体の輪郭を光の方向に延長したボリューム」を
「光の中だよボリューム」として、レイがそのボリュームを通った距離に比例した輝度加算を行えばいいかな。
0795名無し@沢村
NGNGちょっと見ちみれ?
http://hp.vector.co.jp/authors/VA015412/
アルゴリズムは>>780>>781で紹介しているとおりだ。おれは神だ。
0796デフォルトの名無しさん
NGNG0797785
NGNG発光体はなんとか形になりました。
フレアもなんとかなりそうです。
でも差し込む光は・・・勉強してなんとかします。
ボリュームって、概念について書かれたものはよく見かけるんですが、
サンプルプログラムとかはあんまり見かけなくて
データ構造とかあたり判定とかイマイチつかめないので、
ポリゴンのほうがうまくできそうです。
詳しい説明ありがとうございました。
0798デフォルトの名無しさん
NGNG0799デフォルトの名無しさん
NGNGもう何年たってるよ?
0800デフォルトの名無しさん
NGNG0801名無し@沢村
NGNGフリーのGIFコンバータはおれのしかねーよ!!
日本ではUcGIFがあるが、これはコマンドプロンプトから使うやつで、GUIソフトではない。
日本には他にフリーはない。
海外にはビットマップはおろかJPG,PNGなどいろんなフォーマットからGIFに変換できる高性能のがあるが、
あいにくおれは英文読めなくて使い方わからんので、ないのと一緒だ。
また一般のユーザーは英文読めないから、これまた一般のユーザーにとってもないのと一緒。
つまりフリーでGUIのGIF変換ソフトは、おれのしかないの。現時点ではね。おわかり?
0802名無し@沢村
NGNGここのことか?
http://homepage1.nifty.com/uchi/index.html
このアルゴリズムで実際にソフトつくったやつはいねーよ!!
おれも読んだが、理解できんかった…^^;
0803デフォルトの名無しさん
NGNG既存の情報で、しかももう価値の無いものを作るバカはお前だけってこった
0804デフォルトの名無しさん
NGNG0805デフォルトの名無しさん
NGNGペイント
0806デフォルトの名無しさん
NGNG理解できない?そんな簡単なものが?
susieのプラグインとして、実装してあるぞ。
0807名無し@沢村
NGNG簡単?おまいが実装したのか?
0808デフォルトの名無しさん
NGNG俺だってわかるぞ。
自分でまったく0から考案するならそれなりに時間は必要だろうが、
そこに書いてあることを理解するのもそう造作もないだろ。
0809デフォルトの名無しさん
NGNG0810デフォルトの名無しさん
NGNG0811デフォルトの名無しさん
NGNGGUIソフト作れば10分で作れると思うけど。なんで
そんなことをがんばってんの
0812デフォルトの名無しさん
NGNG米国で 2003年6月20日、特許の有効期限が切れました。心配されていた期間延長目的の追加特許の申請も無いようです。日本でも 2004年6月20日に有効期限が切れます。もう少しの辛抱ですね。
>795はアホ。
0813デフォルトの名無しさん
NGNG0814名無し@沢村
NGNGおれは書いてあることを理解するのは苦手だ。
自分で0から考案するほうが楽だ。
0815名無し@沢村
NGNGうおっ!!Tcl/Tkでくぐってみた。
これは何か良さげだな。これがあるのは知らなかったな…
いまDLしているところだが、おれがいま研究しているコンパイラでパクれそうなところがあるかもしれんから調べてみる。
これを改良して日本人向けの高級言語につくりなおすというひらめきが沸いてきたところだ。
HSPを超えそうな人気言語がこれでつくれそうかどうか、ちょっと研究してみるぜ。
これは知らなかったな…
>>811よ、価値ありそうな情報をありがとうよ。
0816デフォルトの名無しさん
NGNGうわあ、一緒に仕事したくないタイプ。
規約も慣習も無視して自分勝手に突っ走るタイプだろ。
0817816
NGNG0818デフォルトの名無しさん
NGNGいや、6月20日までにGIF使いたい奴にとっては価値がある。
0819名無し@沢村
NGNGすると6月20日までは、おれは日本一の人気者になれるかな?
蓮池さん以上の人気者に…
0820名無し@沢村
NGNGTcl/Tk、DLしたが、何やこれわぁ!?スクリプトやないか?
実行ファイル作成できんのか?HSP以下か?ゴミソフト!!!
0821デフォルトの名無しさん
NGNG無圧縮GIFよりPNG使う人の方が多いよ
0822デフォルトの名無しさん
NGNG感慨深いレスだなあ。
0823デフォルトの名無しさん
NGNG>Tcl/Tk、DLしたが、何やこれわぁ!?スクリプトやないか?
確かに画像処理には速度が求められる。
が、好奇心が無いと長続きしない。
0824デフォルトの名無しさん
NGNG> Tcl/Tk、DLしたが、何やこれわぁ!?スクリプトやないか?
どうしてダウンロードする前に気が付かないのだ??????
0825デフォルトの名無しさん
NGNGいまいちやり方が分りません。JPGのファイル形式だけでも
理解できたらなんとかなりそうなものですが、それに関する
資料も見当たらないので途方に暮れています。
どなたかファイル形式に関してよいサイトを知りませんか?
0826デフォルトの名無しさん
NGNGkoretukaeba-?
http://www.graphicsmagick.org/
0827デフォルトの名無しさん
NGNG0828デフォルトの名無しさん
NGNGありがとうございます。imagemagickというのもあるようで
よく分りませんが試してみます。Gentooにはperlmagickという
インターフェイスも用意してありました;-)
0829名無し@沢村
NGNGTcl/Tkでつくったスクリプトを実行ファイルに変換するツールだな。
が、わし英文読めんけん、このページのどっからDLしていいかわからんのよ。
このページの何行目の何という文字をクリックするとDLできるか、教えて〜♪
http://www.interq.or.jp/japan/s-imai/tcltk/tclkit.html
0830デフォルトの名無しさん
NGNG0831デフォルトの名無しさん
NGNGプログラムを組む必要すらありませんでした。
$montage -tile 2 -mode Concatenate * all.jpg
これだけです。素晴らしいです。
0832デフォルトの名無しさん
NGNG0833名無し@沢村
NGNGおまいらよ、おれのGIF変換ソフトに欠陥があるのか、そのGIFアニメソフトに欠陥があるのか、どっちだと思う?
おれは、そのGIFアニメソフトに欠陥があるほうだ思うな。
というのは、おれのGIF変換ソフトでつくったGIFはちゃんとIEで開けるから、欠陥はないはずなのよ。
GIFアニメソフトも自前でつくるしかないかな…?
0834名無し@沢村
NGNGそれにしてもGIFアニメのほうは、ユニシスの特許に触れずにつくることができる割にはフリーのものが少ないな…
vecotorでくぐったらまともなフリーは2つ出てきたが、ひとつはVBのランタイムが必要なもので、もうひとつはその画像も表示できん低レベルなものだった。
こりゃ、ホームページビルダーに付属しているような感じのGIFアニメソフトつくっというたら、ユニシスの特許が切れた後にも、人気者になれるかもな…?新しい発見だ!!
0835デフォルトの名無しさん
NGNG0836デフォルトの名無しさん
NGNG0837デフォルトの名無しさん
NGNG0838デフォルトの名無しさん
NGNG0839デフォルトの名無しさん
NGNGえいごがよめないさわむらくんが、なぜてんさいなんでしょうか?
ぼくはえいごがすこしよめるのですが、ぼくはさわむらくんよりあたまがわるいのでしょうか?
0840デフォルトの名無しさん
NGNGやっぱり名無し@沢村さんはム板のアイドルですね
0841デフォルトの名無しさん
NGNGプログラムをどうやって書けばいいかさっぱり分かりません
何か参考になる本とかないですか?
0842デフォルトの名無しさん
NGNG0843デフォルトの名無しさん
NGNGコーディング方法がわからないってこと?
それともアルゴリズムがわからないってこと?
0844名無し@沢村
NGNGおれは>>833で、
おれのGIF変換ソフトだが、某GIFアニメソフトで開こうとしたら、開けんかった。
おまいらよ、おれのGIF変換ソフトに欠陥があるのか、そのGIFアニメソフトに欠陥があるのか、どっちだと思う?
と聞いたが、
おれのGIF変換ソフトに欠陥があったほうだったよ。
というのはちょっと手直ししたら、そのGIFアニメソフトで開けるようになったからよ。
まあ、ちょっとしたミステイクだったのよ。
猿も木から落ちる、孔母も筆の誤りというやつよ。わかるかな?
0845デフォルトの名無しさん
NGNG>孔母も筆の誤り
弘法も筆の誤り。
0846デフォルトの名無しさん
NGNGAdobe Streamlineでやっているようなアルゴリズムについて、
資料があったら教えてください。
0847デフォルトの名無しさん
NGNGhttp://www.utp.or.jp/booksearch/cgi/jump.cgi?id=061119
ここでぐだぐだいってないで、↑を購入シル。ハイエンドCPUを
買うのを我慢すれば、これぐらい買えるだろう。
0848デフォルトの名無しさん
NGNGtakeeeeeeeeeeee!
0849名無し@沢村
NGNG実はおみゃーらよ、今度のバージョンから密かに裏機能をつけているのだ。
どんな裏機能だと思う?ふふふ…教えん!自分じ探せ、おみゃーらよ!
http://hp.vector.co.jp/authors/VA015412/
0850デフォルトの名無しさん
NGNG漏れ東大生だからそのうち図書館で見ようっと。
0851デフォルトの名無しさん
NGNGなんか漏れ怖ぇよ。こんなの一般人が購入していいのか?
黒服の男たちにマークされたりしない?
「そして851は謎の失踪を遂げた」とかシャレになんねー。
0852デフォルトの名無しさん
NGNGだったら、全くの興味だけで丸善の本を買いまくっている俺は、かなりの要注意人物ってことか。
0853デフォルトの名無しさん
NGNG宣伝乙!
いや、でもこういう本今までなかったからいいかも。
0854デフォルトの名無しさん
NGNG0855デフォルトの名無しさん
NGNG1850ページか
前が750ページで25000円だからコストパフォーマンスは良くなっているみたいだけど
ここ10年あまりで1000ページ分以上アルゴリズムが増えたのか
0856デフォルトの名無しさん
NGNGでかい本屋いくと、医者や、建築家がこの類いの本のかご一杯買ってるのと同じく、
グラフィックプログラマーとして食ってるものが普通にこれを買っても
おかしくない。
ただ、これを買って成果を出しても、薄給はかわらず仕事だけが増えていく
のがとてもつらい。
0857名無し@沢村
NGNG「Visual E++」に裏機能をつけたってな…わかるかな?
おみゃーらよ、それはマシン語とアセンブリ言語のハイブリッド化だったのよ。
まあ、アセンブリ言語のほうは、まだcall、ret、jmp、intの4つにしか対応してないけどな…
これから日々少しずつハイブリッド化を進行させる予定よ。
おみゃーらよ、このプロジェクトが完成した暁には、マシン語だけでも書け、アセンブリ言語だけでも書け、
またマシン語とアセンブリ言語をどんなふうに組み合わせても書ける、前代未聞の恐るべきプログラミングソフトができあがるぞ!!
自分じダウンロードしちみれ?おみゃーらよ?
http://hp.vector.co.jp/authors/VA015412/
0858デフォルトの名無しさん
NGNG0859名無し@沢村
NGNGというのは、みんなから嫌われながらもム板で質疑応答を繰り返して、完璧にわかったという次第よ。自分じわかるかな?
tcl/tkはGUIが簡単につくれるし便利だよ。おみゃーらよ、おれはちょっとtcl/tkでフリーソフトでもつくってみるよ。
楽しみに自分じ待ってろよ、おみゃーらよ♪
0860デフォルトの名無しさん
NGNGJPEGの情報はマーカーによって区切られていて、そのフィールドサイズは
マーカーのすぐ後ろに必ず書いてあると思っていたのですが、
http://siisise.net/jpeg.html
↑のサイトには、
「可変長のマーカのサイズは、普通、マーカのすぐ後ろに
書かれている。書かれていないものもある。」
と書かれていまいした。
マーカーのすぐ後ろにフィールドサイズが書かれていない
ものがあるということは、目的のマーカーを探す処理は、
�@マーカーのフィールドサイズを利用して、次のマーカーの位置を算出
�Aそのマーカーのフィールドサイズを利用して、次のマーカーの位置を算出
・
・
・
という単純な処理の繰り返しのみでは、フィールドサイズが書かれていない
マーカーがあった場合に、次のマーカー位置算出で失敗してしまうので、
駄目なのでしょうか?
0861名無し@沢村
NGNG単純な処理の繰り返しのみでは駄目だ。
工夫が必要だ。
0862デフォルトの名無しさん
NGNG漏れもJPEGを完璧に知っているわけではないけど
漏れが経験した限り、サイズが書かれていないマーカは
RSTn - 0xd0〜0xd7 (Restart Interval)
SOI - 0xd8 (Start of Image)
EOI - 0xd9 (End of Image)
のみ。SOI はファイルの一番最初に出てくるマーカだし
EOI はファイルの一番最後に出てくるもの。無視すりゃいいよね。
RSTn はきちんと展開処理しないならばファイルの途中にいきなり
出てくるような印象を受けるけど、画像サイズとかが欲しいだけならば
RSTn が出てくるよりも前に必要な情報は受け取れているはず。
そうでなくても、JPEG の scan の中には無意味な 0xff は
出てこないわけなんだから、単純に次々に 0xff を探していけば
必ず何らかのマーカが見つかる。
JPEG は小難しい技使ってるわりには、かなり扱いやすいファイルだ。
0864デフォルトの名無しさん
NGNG誰かこのモザイク外せない?
http://www.tanteifile.com/diary/index2.html
0865デフォルトの名無しさん
NGNGぼかしは外せないけど、外さなくても分かる文字は多いな。
あと、スレ違い。
0866デフォルトの名無しさん
NGNG協力する気になれない。
0867デフォルトの名無しさん
NGNG使ったら、BI_BITFIELDS で出てきた。よく分からないのでMSDNを調べていたら、
biBitCount = 16 なんてのがある。
メモリとか HD とか小さい時代には、こういうのが流行ったのでしょうか。
アクセサリの「ペイント」にも、こんなの、保存形式にない。
0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNG0870デフォルトの名無しさん
NGNG扱いたいように扱え。
0871867
NGNG存在しちゃいけないとは、毛頭いうつもりはありませんが、テストにデータを
入手したくて、ペイントで保存し直せばできるかと思ったら、できない。
MSDN には、16 bit を説明していないのもある。鬼っ子みたいな気がしたもん
で、聞きました。
0872デフォルトの名無しさん
NGNGGetDIBits() が今でも 16 bit で返すのか、API スレで聞いた方がいいんじゃない?
0873デフォルトの名無しさん
NGNGとりあえずネット上で参照可能なMSDNにはbiBitCount = 16は明記されてるが。
XPでも画面の色数として16ビットが選択可能な以上ないほうがおかしいだろ。
0874デフォルトの名無しさん
NGNG流行りはどうだか知らんが、画面の DC から GetDIBits して 16bpp の絵が取れたんなら、
それは画面の色数が 16bit に設定されてるからでしょう。
漏れは大抵 32bit にしてるけど、画面の色数 16bit にするのって流行ってるの?
0875デフォルトの名無しさん
NGNG0876867
NGNGサンプルの savebmp.c を下敷きにしていて、biBitCount = 0 で最初の
GetDIBits() を出しているのですが、これが 32 bits で返って来るのは、
画面設定の反映なんですね。
表示している絵によって変わるのかと思っていたところでした。で、全体
どんなものが返るのかを調べていました。(この後、色数が少ないなら、
サイズの小さいファイルにしたいなと)
どうもありがとうございました。
0877867
NGNG1996年頃の資料に、1,4,8,24 bit color が valid で、16 bit は将来サポートって
説明があった。biCompression も、BI_RGB, BI_RLE4, BI_RLE8 とあって、
BI_BITFIELDS だから、追加されたと予想。後、JPEG も。
ということは、mspaint.exe は、対応していないということかと。
しかし、gif, jpeg は、入っている。気まぐれですかね。
0878デフォルトの名無しさん
NGNGlibpng.txtの日本語訳とかないのかなぁ
0879デフォルトの名無しさん
NGNGpng_read_image でまとめて読むか、
png_read_row/png_read_rows で行単位に読んで
ほしい場所のデータを参照する。
カラータイプがパレットだったら png_get_PLTE でパレットデータを読んどく。
後はガンマとか他のチャンクで補正するかどうかだね。
0880デフォルトの名無しさん
NGNGありがとう
0881デフォルトの名無しさん
NGNG実際のビットマップファイルをバイナリエディタで開いてみると、ヘッダ部分の解析はできたのですが、
画素の部分の解析ができません。
BGRの順番で左下の画素から順に書かれていることはわかりました。
でも、その画像の横幅分の画素まで到達すると何バイトか0が入っている部分があります。
この部分は画像によって大きさが違うことがわかりました。
この画像によって違う大きさを持つ0の数はどのような規則で決められているのでしょうか?
0882デフォルトの名無しさん
NGNG解析なんぞせんでもおまいさんが知りたい程度の情報なら「プログラミングWindows(下)」
に分かりやすく解説されてる。
「行のサイズが4バイトの倍数になるように、行の末尾が0でパディングされている場合がある」
0883デフォルトの名無しさん
NGNGGDI+ 使うとこんなに簡単。
Gdiplus::Bitmap* bitmap = new Gdiplus::Bitmap(100,100);
Gdiplus::Graphics* gr = Gdiplus::Graphics::FromImage(bitmap);
// gr に何か描く
delete gr;
CLSID pngClsid;
Gdiplus::GetEncoderClsid(L"image/bmp", &pngClsid);
bitmap->Save(L"test.bmp", &pngClsid, NULL);
delete bitmap;
jpeg でも png でも一箇所変えるだけ。
0884デフォルトの名無しさん
NGNG>>883
ありがとうございます。
たった今、自分で気づいて自己解決た旨を伝えようと思ったら、早速レスがついてました。
どうもありがとうございました。
お騒がせしました。
0885名無し@沢村
NGNGおみゃ〜よ、そりは幼稚園の問題だが、教えちやるよ。おみゃ〜よ。
おみゃ〜よ、ビットマップ画像には縦幅と横幅があるのよ。まあ縦幅のことは高さともいうわな。
で横幅よ。おみゃ〜よ。
横幅は4の倍数なのよ。
でもあるビットマップ画像は縦幅が21ピクセルしかなかった。でも4の倍数なのよ。
おみゃ〜よ、4の倍数は24だろもん?
だから21ピクセルしかなかったら、3ピクセル足りなかろもん?
だから3バイト分、0で埋められるのよ。おみゃ〜よ。
そんんあことよりおりはいまPE実行形式のリソースセクションの詳細が知りたいのよ。
もちろんわがプログラミングソフト「Visual E++」でつくるソフトにリソースをサポートするためなのよ。わかる?
0886デフォルトの名無しさん
NGNGやっぱこれからの時代E言語っすよね
機械語ができれば何でもできるし
0887名無し@沢村
NGNG人の顔の横から見た画像を生々したいんだが、どうすりゃいいの?
また人の顔の画像から人の尻の画像を生々するには?
0888デフォルトの名無しさん
NGNG0889デフォルトの名無しさん
NGNG0890デフォルトの名無しさん
NGNGよーわからんけど六角大王のソースを読んで
研究してみは・・・。
0891デフォルトの名無しさん
NGNG0892デフォルトの名無しさん
NGNG画像取り込みまではこちらでやるとして
エッジ検出、パターンマッチング、ブロブ処理、フィルタリング
あたりが出来れば良いです
0893デフォルトの名無しさん
NGNG0894デフォルトの名無しさん
NGNGすいません、LinuxかWindowsでお願いします
0895892
NGNG開発環境を書き忘れていました
VC6,7,gcc,でリンクできればどんなライブラリでも
構いません。ソースがあればそれに越したことはないですけど
グレースケールに対応していれば良いです
0896892
NGNG過去発言読んでみると、お門違いな気がしてきました
0897デフォルトの名無しさん
NGNG0898デフォルトの名無しさん
NGNG0899デフォルトの名無しさん
NGNGOpenCVは?
0900デフォルトの名無しさん
NGNG0901デフォルトの名無しさん
NGNGGEGLとかTEOとかImlibとかImageMagickとかGDとか腐るほどあるみだいだけどさ。
0902デフォルトの名無しさん
NGNG転職を考えているんですが
募集してる件数がかなり少ないように思えるのですが。
0903デフォルトの名無しさん
NGNG画像処理にもいろいろあるが
0904デフォルトの名無しさん
NGNG医療機器の開発とか、大手写真メーカーや電機メーカーがいつも募集しているぞ。
ただし、「いい人がいれば採りたい。人がいないなら欠員でも仕方ない」というタイプの
求人だから、常時募集していても簡単には入れないけどね。
0905デフォルトの名無しさん
NGNGありませんか。
0906デフォルトの名無しさん
NGNGロボット・車両関係の画像認識関連も大いに人不足。
ただし、やぱーり採用は >>904 だが。
0907904
NGNGあと、色んな工場向けの検査装置の需要も結構ある。地味な分野だけど、日本の製造業は
人件費で中国に勝てるわけないから省力化は必須で、人間の目視検査でやっていたものを
コンピュータ化するというのは、それなりに需要があるよ。工場が生産するものそれぞれに
応じて、画像処理のカスタマイズが必要だから、時として、その場しのぎのヤッツケ仕事に
なってしまうことも多いけどね。
今後の需要で期待されているのは、やっぱりセキュリティ関連。ステレオカメラとか
動画像から特徴抽出とか、いろんな案件がある。工場の検査機器と同じで、同じものを
画像処理装置を量産するんじゃなくて、たいていは顧客の要望に即したカスタマイズが
必要になるから、これまた仕事はいろいろある。テーマパークなんかで、お客さんたちの
流れを計測してあれこれ案内を流す装置みたいな、目立たないものが多いけどね。
残念ながら、この手の仕事は、大企業なら研究所で細々とやっていて転職者の募集は
あまりやってない。世間一般には全く名前を知られていない中小企業(しばしば大企業
から独立した人が作った会社)が、大企業から仕事を請け負っている場合が多いし、
中途採用をやっているのもそういうところだったりする。
大企業にこだわるなら、家電メーカーやカメラメーカーのデジカメの開発部門でもあたって
みては? そういえば、サムソン横浜研究所がデジカメの技術者を求めていたなぁ
コダックも、デジカメの開発は日本に集中させると言っていた。
0908デフォルトの名無しさん
NGNG0909デフォルトの名無しさん
NGNGどこにも売ってないよ…
0910デフォルトの名無しさん
NGNG版元で買える。
と思ったら、まだ未刊らしいよ。
0911デフォルトの名無しさん
NGNG発言元
http://pc5.2ch.net/test/read.cgi/tech/1088022524/272-274
0912デフォルトの名無しさん
NGNGhttp://www.malib.net/api/ja/node44.html
0913デフォルトの名無しさん
NGNGとてもよくわかりました。ありがとうございます
0914デフォルトの名無しさん
NGNG昔、GKS とかの graphics interface ?がありましたが、今、どう
なっているか、なになにに生きているとか、無くなったとか、ご存知の
方いらしゃいませんか。(1985 年頃、Nova Graphics International,
Austin, Texas でやっていたと google では出てくるのみ)
0915デフォルトの名無しさん
NGNG全焦点画像の合成って、どうやってやるのでしょうか?
顕微鏡でピントをずらしながら複数フレームの画像をとりこんで、
全フレームの中で周辺8近傍との差分の絶対値の和がいちばん大きい画素を、
一枚のフレームに集めこんだら、できるだろうと思ってやってみました。
まぁまぁ予想した感じにはなったのだけど、
キーエンスとかオムロンとかの合成ソフトの画像ほど、
きれいに合成されませんでした。
やっぱり、こんな単純なアルゴリズムでは、だめなのでしょうか。
空間領域ではなくて、周波数領域とかで処理したりするんでしょうか?
0916デフォルトの名無しさん
NGNG>全フレームの中で周辺8近傍との差分の絶対値の和がいちばん大きい画素を、
もうちょっと頭を使えw
0917デフォルトの名無しさん
NGNG915ではないが、もうちょっと頭を使ったアルゴリズムキボンヌ
0918デフォルトの名無しさん
NGNGあと解凍アルゴリズムも。
0919デフォルトの名無しさん
NGNGわかりません。どなたかソースもってませんか!?
教えていただけるとうれしいです
0920デフォルトの名無しさん
NGNGなんで再帰限定なの?宿題?
0921716
NGNGデータ構造とかいらない簡単なものだと再帰がいいのかなと。
もちろん論文よめば複雑なアルゴリズムあるんでしょうけど・・・。
0922デフォルトの名無しさん
NGNG0923デフォルトの名無しさん
NGNGimage MLの1998年8月くらいにラベリングに関するQAがあって、ソースもでていた
ので探してみ
0924名無しさん@そうだ選挙に行こう
NGNG「再帰」がいいのなら、トランジスタ技術2003年2月号P.201にあります。
"USB接続のパソコン用カメラで物体認識と動き検出"という章。
紹介したはいいけど、再帰って、いまいち気持ち悪いんですよねー。
リアルタイムでキャプチャということですから、
そんなに画像サイズがでかくないんでしょうけど、
再帰コールによるスタックオーバーフローにご注意です。
ついでに再帰を使うアルゴリズムは激遅ですよ、いいのかなー。
0925名無しさん@そうだ選挙に行こう
NGNG"An adaptive algorithm for spatial grayscale", Proc. of the S.I.D, vol17, no.2, pp.75-77
がPDFで見れるとこ探してるんですけどどこかにないでしょうか?
0926名無しさん@そうだ選挙に行こう
NGNGスタックも食わないが。
0927デフォルトの名無しさん
NGNG0928デフォルトの名無しさん
NGNG0929デフォルトの名無しさん
NGNGそれ俺も探してたけど結局見つかんなかったなぁ.
極論だけどもし参考文献に引く程度なら読まなくても大丈夫なんじゃない?w
今でもまだ読んでみたいし,見つかったら教えるよ.
0930デフォルトの名無しさん
NGNGRGB→XYZの変換行列が色々あってよくわからないのですが,
RGBからフォトショのLabを得るためにはどうやったらいいのですか?
教えていただけると助かります.
0931デフォルトの名無しさん
NGNG日本語の文献が少ないようで、海外の文献を
調べようと、ぐぐりたくても、名称が分かりません
0932デフォルトの名無しさん
NGNG> 面積平均法って、英語で何て言うんですか?
area averaging method
0933デフォルトの名無しさん
NGNGこんなのもあるけど。
ttp://www.vector.co.jp/soft/win95/edu/se113943.html
何とかってソフトほど綺麗には出来ないかもしれないけど、フリーだしソース付きだから、見てみたら?
0934デフォルトの名無しさん
NGNGまずマーカ「FFC0」を探すことになります。しかし実際に
JPEGファイルをバイナリエディタで開いてみたところ、
JPEGファイルによっては、マーカ「FFC0」が2つ存在する
ことが判明しました。しかも、最初に見つかった「FFC0」
のところに書かれている画像縦横サイズは間違った値で、
2回目に見つかった「FFC0」のところに書かれている
画像縦横サイズは正しい値でした。
正しい画像縦横サイズのみ取得するには、
どうしたらよいのでしょうか?
0935デフォルトの名無しさん
NGNG0936デフォルトの名無しさん
NGNG確かにそのようにすれば、2回目に見つかった「FFC0」の値が
取得できますが、後に見つかった「FFC0」の方が必ず正しい値
であるかは分からないので、ちょっと不安です。
0937デフォルトの名無しさん
NGNGこんなアルゴリズムでどうよ?
これは厳密な BaselineJPEG のデコードの考え方のはずなんだ。
これがダメなら、よければ漏れにも問題の JPEG ファイルをくれるか。
unsigned short get_marker () {
return (0xff で始まる 2 バイトをストリームから探し、読み、返す)
}
void get_jpeg_image_size () {
unsigned short marker;
do {
marker = get_marker();
switch (marker) {
case 0xffd8: // start of image
break; // 何もせずに次のマーカを処理する。
case 0xffda: // start of scan
// これより前に画像の大きさは得られているはず。
break;
case 0xffc0: // start of frame 0
// 本物の start of image 0 のはず。
process_start_of_frame_0();
break;
default:
// セグメント長を得てストリームをスキップ
// もしくは、無視してはいけないはずのマーカならば
// エラーを報告してループを抜ける等。。。
}
} while (marker != 0xffda); // start of scan でループを抜ける
}
0938デフォルトの名無しさん
NGNGうーむ、そのアルゴリズムでも駄目かも。
問題のJPEGは、「Windows XP.jpg」で
OSインストール後、↓のフォルダに入ってます。
「C:\WINDOWS\Web\Wallpaper」
0939デフォルトの名無しさん
NGNGちょうだいヽ(;´Д`)ノちょーだい
0940デフォルトの名無しさん
NGNGピクセル補完に二次補完を使った場合は明らかに前者のほうが優れていますが、
三次補完になるとほとんど差がありません。
二次のサブピクセルレンダリングと三次のアンチエイリアスだと、
後者のほうが明らかに画質が高く計算量も少ないのに、なぜAdobeReaderとか
XPでは二次のサブピクセルレンダリングが使われてるんでしょうか?
0941デフォルトの名無しさん
NGNGはい。
ttp://age.tubo.80.kg/age01/img-box/img20040719122143.jpg
0942デフォルトの名無しさん
NGNGサンクスコ。
つーか見てみたけど、20バイト目から始まる「セグメントApplication13」を
指示通り 2280 バイトスキップして、さらに 2302 バイト目から始まる
「セグメントApplication2」も指示通り 3160 バイトスキップして、
さらに 5464 バイト目からの「セグメントApplication14」も指示通りに
14 バイトスキップすればいいんだよ。
つまり >937 のアルゴリズムでいいじゃん。
「セグメントApplication-N」なんて、ほとんど無視して大丈夫。
0943デフォルトの名無しさん
NGNGweb上にはプログレッシブJPEG、つまり start of frame 2 を持つものも多くあるよね。
そいつらも処理できた方が cool だ。
もっとも、セグメントの構造はどちらも全く同じだから、
画像サイズを得るには何ら難しい事は考えなくて良いけど。
0944デフォルトの名無しさん
NGNG漏れの予想だけど、サブピクセルレンダリングの方が
・メモリは必要だけどアルゴリズムが簡単
・細い線をレンダリングできる
からじゃない?間違ってたらスマン
0945デフォルトの名無しさん
NGNG915です。どうも、ポインタをありがとうございます。
Delphiのソースですね、さっそくDelphi6 Personalをインストールせねば。
(でも *.pas だけテキストエディタで読めばいいのか)
いろいろ資料を探しておりました....
フォトロン社&&産総研の共同研究にブチあたりました。
それを読むと、あんまり頭つかうアルゴリズムではないような気がします。
(NTSCレートで実現しようとしているので、そうなのかもしれませんが)
0946デフォルトの名無しさん
NGNG>>943
934です。
大変参考になりました!
ちゃんとセグメント長を得てストリームをスキップ すれば
問題ないと言うことですね。
どうもありがとうございます。
0947902
NGNGレスサンクス。
この前某大手精密メーカーに面接してきますた。
内定したけど面接中に仕事内容聞いて
実は萎えてたんで断りました。
アカデミックな仕事したかったんだけど
実際の仕事内容はつまらなそうでね。。。
今の会社でやってることの方がずっと面白いとオモタよ。
今の会社でがんばりまふ。
0948デフォルトの名無しさん
NGNG移動平均化でぼかした画像を、元の画像から引くと(レンジは補正)、
2次元フーリエを使ったハイパス画像とよく似ていますが、
それをハイパス画像と言わないのですか。
カット周波数をあげればエッジがきれいに出てきますし、
フーリエ使ったときにでてしまう縞々もなく、非常にきれいなんですが。
0949デフォルトの名無しさん
NGNG単純にハイパスフィルタをかけたものと同じになってるだけじゃない?
移動平均から元画像を引くインパルス応答がハイパスフィルタ
になっていない?
ちなみに、境界条件が違うので二次元FFTとは数学的には違うでしょう。
0950デフォルトの名無しさん
NGNG0951デフォルトの名無しさん
NGNG>移動平均化でぼかした画像を、元の画像から引く
その画像をフーリエ変換掛けて見ると分かるが、長周期成分は消えてないはず。
その意味では、「フーリエ変換によるハイパス」とはまったく違う。
ただし、位置に関して微分した事になるので、加速度的な変化が強調されている。
したがって「フーリエ変換によらないハイパス」と言って良い。
0952デフォルトの名無しさん
NGNG>>951
レスどうも。なるほど了解。
移動平均は、短周期をつぶしてるけども長周期成分を抽出してるわけじゃないですね。
ところで、人間の視覚系もエッジ抽出とか、長周期成分の抽出とか
をやってると思うのですが、どういう処理方式のフィルタに相当するものなんですか。
0953デフォルトの名無しさん
NGNGマッハ効果で調べてみては?
基本的にはバンドパスフィルタなんだけど、関数表現は忘れた。
0954デフォルトの名無しさん
NGNG以下は個人的な考えだけど、JPEGが巧いのは、
色相をまびいて輝度を重視する事と、フーリエ変換による符号化を組み合わせたこと。
後者は純粋にデータ圧縮のための方便だから、
輝度重視で、移動平均からの差を取るのが感覚系に合うのではなかろうか。
移動平均を、バイキュービック補間とかでやるのもいいかも。
0955デフォルトの名無しさん
NGNG> 輝度重視で、移動平均からの差を取るのが感覚系に合うのではなかろうか。
これって、Haar-waveletによる処理に近いかな?
JPEG2000勉強始めたところなんで、なんとなくそう思っただけなんだけど。
0956954
NGNG移動平均(あるいはバイリニア)とか、バイキュービック補間からの差を取れば、マッハ効果が出るね。
「個人的な」とイクスキューズしたけど、あんがい良い線いってたのかな。
0957954
NGNGたしかにそうだね。
平均(補間?回帰?)の取り方に個性が出るのかな。
0958デフォルトの名無しさん
NGNGある画像(bmp)ファイルを入力し その画像の中から新円もしくは楕円に近い軌跡を描く線のみを抽出して
別画像ファイルとして 出力するということを考えているのですが
その画像ファイル内には他にも多くの直線部分や、塗りつぶし部分などが含まれているため
曲線部分のみの抽出方法をどうしたらいいのか悩んでおります。
http://www.eyescan.tv/images/me001.jpg
たとえばこのような画像を入力した場合ある程度のフィルタ処理をした後
データ-ベース上にある登録された個人との 照合をしある程度以上の適合率が出た場合は
OKサインを出すといった手法で考えております。
ファイルタ処理は完全に白黒レベルまで虹彩と書いてある目の外側にある放射線状に延びている多くの線は残した状態にまで
フィルタをかけデータベース上にある画像ファイルの一番外側の楕円軌道と入力画像の大外の楕円軌道が一致するよう
拡大縮小処理をした後にその2画像の適合率のようなものを出したいと考えています。
上記のような入力画像ファイルの中から曲線部分の抽出することを考えた場合どのような手法が考えられるでしょうか?
0959デフォルトの名無しさん
NGNG0960デフォルトの名無しさん
NGNG0961デフォルトの名無しさん
NGNG角膜(クロメ)の外側輪郭部分です
>960
そのとおりです。もしお詳しければいろいろ教えていただけたらと思います。
0962デフォルトの名無しさん
NGNG昔、TVでやってたな。
縦や横の一直線をバーコードのように読んだり成分を比べたり。
ぐぐれば出てくると思うぞ。
0963デフォルトの名無しさん
NGNGちょっとまて。
パターン調べようとしてるのは網膜か? 虹彩じゃないのか?
0964デフォルトの名無しさん
NGNGこれなんかどう?
ttp://homepage3.nifty.com/ishidate/vcpp6_g15/vcpp6_g15.htm
0965デフォルトの名無しさん
NGNG../vcpp6_g8/vcpp6_g8.htm
も役立つかも。
0966デフォルトの名無しさん
NGNG虹彩でやろうと思っております。
>964
ありがとうございます。とてもいい勉強になりそうです。
実際にはDelphiでやろうと考えているのですがDelphiで画像処理というのはあまり現実的ではないでしょうか?
もしDelphiで画像処理に関して詳しくかかれているサイト等御存知でしたら教えていただけないでしょうか?
0967デフォルトの名無しさん
NGNG言語にこだわっているようでは二流。
0968デフォルトの名無しさん
NGNG0969デフォルトの名無しさん
NGNG0970デフォルトの名無しさん
NGNGR,G,Bの三要素数足してある閾値を越えていたら黒、それいかなら白で表示するといった形なのでしょうか?
0971デフォルトの名無しさん
NGNG>bmp画像の2値化ってどういった手法でやられているんですか?
どういう用途のために2値化するかによる
>R,G,Bの三要素数足してある閾値を越えていたら黒、それいかなら白で表示するといった形なのでしょうか?
人間が見るためのものなら
RGBを足すのはオススメしない>>12参照
単純な閾値処理だと、
あまり見れたものにはならないので、誤差拡散などが用いられる
まぁ、これも用途によるけどな
0972デフォルトの名無しさん
NGNG色々やり方がある。
細かく説明するより2値化でGoogleに聞けばよい
0973964
NGNGDelphiでも十分ですよ。
件のサイトはWIN32_SDKだけど、関数はいたってシンプル。
BitBlt()は、作画用のデータをVGAに転送する
GetPixel()は、座標の色を返す
SetPixel()は、座標に色をセットする
Delphiにも類似の関数があるはず。というか、SDKを叩けないかしらん?
余談だけど、今回のテーマでは、画像データをかなり頻繁に読み出すので、
件のサイトのやりかた(DDB)は速度的に不利です。
intポインタで直接アクセス出来るDIBでアクセスするのが一般的です。
Delphiでの具体策は知らないんだけど、たぶんDDBもDIBも扱えるんじゃないかな。
>>970
輝度と明度の違いですね。>>971の言うとおり。
輝度をリニアに変化させようとすると、彩度が変わるから注意。
輝度でモノクロにした後で規格化するならおっけー。
0974970
NGNG二値化処理の後は輪郭抽出を考えているのですがこれは上下左右のピクセルと同じ色なら白、
一点でも違う色が回りにあれば黒とか言う感じの手法で可能でしょうか?
0975デフォルトの名無しさん
NGNGあのさー少しはさー調べてからさー人に聞けよー
0976デフォルトの名無しさん
NGNG0977964
NGNG>上下左右のピクセルと同じ色なら白
白が出るようなら、その画像は、いわゆる「硬い」画像です。
かなりの情報が失われています。
ラティテュードか露出に問題が有ります。
硬い話はこのくらいにして、
あのサイトにはいろいろあるよー。
もちろん輪郭抽出も。
ttp://homepage3.nifty.com/ishidate/vcpp6_g13/vcpp6_g13.htm
0978デフォルトの名無しさん
NGNG>かなりの情報が失われています。
二値化してからの話だから・・・
0979デフォルトの名無しさん
NGNGどの辺だったでしょうか?
0980デフォルトの名無しさん
NGNG***すれ立てるまでもない質問はここで 第56刷***
http://pc5.2ch.net/test/read.cgi/tech/1088022524/278-279
かな・・・?
>278 名前:デフォルトの名無しさん[] 投稿日:04/07/01 09:49
>背景色(例えばFF,FF,FF)を指定するとその背景色で
>「見やすい」文字色をランダムに生成するアルゴリズムを教えてください。
>
>279 名前:デフォルトの名無しさん[sage] 投稿日:04/07/01 10:07
>>>278
>1) グレイスケールに変換 R*0.30 + G*0.59 + B*0.11
>2) R、G、Bの中で最も高かった値
>
>1) と 2) それぞれ背景色と文字色の差を求める
>どちらかの差が44%未満なら見辛い配色
0981980
NGNG画像処理 その3
http://pc5.2ch.net/test/read.cgi/tech/1090897159/
レス数が950を超えています。1000を超えると書き込みができなくなります。