問題タブ [gamma]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
html - InternetExplorerでPNG画像の色を変更しないようにするにはどうすればよいですか。
私のWebサイトで背景画像としてPNGファイル(Paint.NETで作成)を使用すると、IE7は色を変更し、実際に私の画像の暗いバージョンを表示します(ここを参照) 。この画像では、暗い背景と背景画像は両方とも#001122であり、中間の背景と背景画像は#004466である必要があります。ただし、IE7はイメージをそれぞれ#000C1Aと#003A5Bに変更します。FF3は問題ありません。
opengl - OpenGL でシーン全体の明るさ/ガンマを調整する
OpenGLで次の効果を達成する方法を知っている人はいますか?
- レンダリングされたシーンの明るさを変更する
- または、OpenGL でガンマ設定を実装する
ライトのアンビエント パラメータとライトのタイプ (指向性と無指向性) を変更してみましたが、結果は均一ではありませんでした。ティア。
助けてくれてありがとう、いくつかの追加情報: * Windows 固有の API を使用できません。* ビューごとに異なるガンマを設定する必要があるため、ガンマ設定はウィンドウ全体に影響を与えるべきではありません。
image-processing - 画像内のピクセルをスケーリングして明るさを調整する方法は?
写真のグレースケール画像があります。イメージの特定の部分が照明不足であり、輝度 Y = 0.8 のピクセルは実際には 90% グレーに調整する必要がある、つまり、そのピクセルには輝度 0.9 を指定する必要があると判断しました。私の質問は、近くの他のピクセルをどのようにスケーリングするのですか? すべての輝度に 9/8 を掛けるのは間違いだと確信しています。なぜなら、均一に見えるためにはスケーリングを非線形にする必要があると 聞いたことを漠然と覚えているからです。しかし、進歩を可能にする方程式を見つけるのに苦労しています。(もちろん、私は実際に、非常に多くの写真に対してこの調整を行うプログラムを作成しています。)
私のピクセルのソースは pbmplus PGM 形式で、man ページには次のように書かれています。
各グレー値は、ピクセルの強度に比例する数値であり、CIE Rec によって調整されます。709 ガンマ伝達関数。(その伝達関数は 2.2 のガンマ数を指定し、小さい強度の線形セクションを持ちます)。したがって、ゼロの値は黒です。Maxval の値は、CIE D65 の白と、画像内の最も強い値、および画像が比較される他の画像を表します。
これをもっとよく理解していれば、どうすればよいか、もっとよくわかるはずです。
均一な明るさの画像の作成に関する関連する質問を見つけました。
私を軌道に乗せてくれたShmooptyに感謝します。私はあなたの答えを受け入れ、それにいくつかの情報を追加しました。
quicktime - Snow Leopard で色またはガンマ補正なしで QTKit から画像データを取得するにはどうすればよいですか?
Snow Leopard 以降、QTKit は QTMovies frameImageAtTime:withAttributes:error: などの関数から色補正された画像データを返すようになりました。圧縮されていない AVI ファイルを指定すると、Snow Leopard と Leopard では同じ画像データがより大きなピクセル値で表示されます。
現在、frameImageAtTime を使用して NSImage を取得し、その画像の tiffRepresentation を要求しています。これを行うと、Snow Leopard のピクセル値がわずかに高くなります。
たとえば、Leopard で次のピクセル値を持つファイル:
次のようなピクセル値があります。
色補正されていないビデオ フレームを QTMovie に要求する方法はありますか? 代わりに CGImageRef、CIImage、または CVPixelBufferRef を要求する必要がありますか? ビデオ ファイルを読み込む前に色補正を完全に無効にする方法はありますか?
NSCalibratedColroSpace を使用して NSBitmapImageRep に描画することで、この問題を回避しようとしましたが、それは私の部分しか得られません。
これは「色補正されていない」色空間に変換されますが、色の値は、テストしている非圧縮 AVI ファイルに保存されているものとまったく同じではありません。また、これは RGB -> "Device RGB" -> RGB から変換するため、効率が大幅に低下します。
また、私は 64 ビット アプリケーションで作業しているため、Quicktime-C API にドロップダウンすることはできません。
ご協力いただきありがとうございます。
graphics - アンチエイリアシングとガンマ補正
コンピュータ画面上のピクセルの明るさは、通常、ピクセルのデジタルRGBトリプレット値に線形に関連していません。初期のCRTの非線形応答には、補償する非線形エンコーディングが必要であり、現在もそのようなエンコーディングを使用しています。
通常、私たちはコンピューターの画面上で画像を作成し、そこでもそれらを消費するので、すべて正常に機能します。しかし、アンチエイリアスを使用する場合、ガンマと呼ばれる非線形性は、50%のカバーされたピクセルに0.5のアルファ値を追加して、正しく表示されることを期待できないことを意味します。0.5のアルファ値は、通常のガンマが2.2である1.0のアルファのわずか0.5 ^ 2.2 = 22%の明るさです。
アンチエイリアシングガンマ補正の広く確立されたベストプラクティスはありますか?毎日使うペットの方法はありますか?さまざまな手法を使用したグラフィック出力の品質に関する結果と人間の認識に関する研究を見た人はいますか?
標準のX^(1 / 2.2)補正を行うことを考えましたが、それはかなり計算量が多くなります。たぶん、256エントリのルックアップテーブルを使用すると、より高速にできます。
c++ - GetDeviceGammaRampで色を調整します
OpenGLアプリケーション(c ++)をオーバーレイします。このopenGLアプリケーションは、SetDeviceGammaRampを使用して、デスクトップの明るさを非常に高く設定します(理由はわかりません)。このアプリケーションはフルスクリーンで見栄えがしますが、私のオーバーレイは非常に明るいです。通常の明るさのオレンジ色ではなく、ガンマが高いため黄色になります。
やりたいこと:現在設定されているガンマを取得し(GetDeviceGammaRampを使用)、これを使用して設定した色を調整します。
好き; glColor4f(r、g、b、a)はglColor4f(r / gamma、g / gamma、b / gamma、a);になります。
したがって、デスクトップの明るさが非常に高い場合、rgとbの値は低く(暗く)なり、本来あるべきように見えます。
どうすればこれを達成できますか?GetDeviceGammaRampはテーブルを埋めますが、どうすれば色を変更できますか?
ありがとう
iphone - iPhone開発用にMacモニターを調整する方法
MacモニターをiPhoneの色に合わせて調整するにはどうすればよいですか?
iPhoneのガンマとは何ですか?
ありがとうございました。
php - PHP GD2:アルファチャネルの透明性を維持し、ガンマを修正する方法
私はこの画像スケーリングの議論に興味をそそられ、その後、アップロードされた画像からサムネイルを作成するために使用しているPHPコードにも同じ問題があることがわかりました。下部に投稿されたPHP修正を試すことにしました(ガンマを2.2から1.0に変換し、画像のサイズを変更し、ガンマを1.0から2.2に戻します)。これは、記事に記載されている問題を解決するために機能しますが、コードに対するこの変更には、PNGアルファチャネルの透過性をノックアウトするという不幸な副作用があります。
これが、ガンマ補正を行った状態のコードです。
元の画像のアルファチャネルの透明度を維持しながら、ガンマ補正のトリックを使用して画像のサイズを変更する方法を知っている人はいますか?
編集
サンプル画像:
- 元のファイル-アルファチャネル透過性のあるPNG
- 両方のimagegammacorrect()関数呼び出しがコメントアウトされたサイズ変更されたファイル
- 両方のimagegammacorrect()関数呼び出しが配置されたサイズ変更されたファイル
ガンマを修正しようとするまで、透明度は良好であることがわかります。(以下で透明度が機能していることを確認する最も簡単な方法は、画像にラップされている段落タグを調べて、FireBugなどを介してスタイル属性に黒の背景を追加することです。)
元の画像http://ender.hosting.emarketsouth.com/images/test-image.png ガンマ補正なしhttp://ender.hosting.emarketsouth.com/images/test-image-resized-no-gamma.png ガンマ修正済み-透明性なしhttp://ender.hosting.emarketsouth.com/images/test-image-resized.png
graphics - DICOMキャリブレーションされたディスプレイに表示する前に、線形強度の画像に特別なことをする必要がありますか?
物理シミュレーションからRGB画像をレンダリングするコードがあります。これらの画像は線形強度スケールを持っているため、通常のPCモニターに表示する前にガンマ補正する必要があり、アプリケーションが表示パイプラインのある時点で必要なべき乗則を適用するのは簡単です(通常、1.6から2.2までの何かを使用しますかなりアドホックなベース。私が最もよく見えると思うものは何でも)。
現在、アプリケーションは、将来、DICOMで調整されたディスプレイを使用するユーザーによって実行される可能性があります。これらが通常のPCモニターとどのように異なるのか(何らかの点で「より正確」であることを除いて)、私にはまったくわかりません。元の線形強度画像をディスプレイ上で適度に正確に再現するために使用する必要がある特定のガンマ値、または必要な完全に異なる応答関数はありますか?