掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
二つの画像の引き算をして再び画像化するには? (ID:34528)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
KHE00221さん、アドバイスありがとうございます。 いろいろ検討した結果、以下のコードで解決できました。 var R,G,B,cR,cG,cB: array[0..639,0..511] of byte; dR,dG,dB:array[0..639,0..511] of double ; procedure TForm1.Button3Click(Sender: TObject); var X,Y :word; Rmax,Gmax,Bmax:byte; buff,buff2: double; buff2:=0; for X:=0 to 639 do for Y:=0 to 511 do begin R[X,Y]:=GetRvalue(Image1.Canvas.Pixels[X,Y]); cR[X,Y]:=GetRvalue(Image2.Canvas.Pixels[X,Y]); if R[x,y]=0 then buff:=0 else if cR[x,y]=0 then buff:=log10(R[x,y]) else buff:=Log10(R[X,Y])-Log10(cR[X,Y]); if buff>Z then buff:=Z; if buff>buff2 then buff2:=buff; end; for X:=0 to 639 do for Y:=0 to 511 do begin if R[x,y]=0 then buff:=0 else if cR[x,y]=0 then buff:=(log10(R[x,y]))/buff2*255 else if cR[x,y]>R[x,y] then buff:=0 else buff:=(Log10(R[X,Y])-Log10(cR[X,Y]))/buff2*255; Image3.Canvas.Pixels[x,y]:=RGB(Trunc(buff),Trunc(buff),Trunc(buff)); end; end; KHE00221さんをはじめ、僕の問題を考えてくれたみなさん、ありがとうございました。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.