問題タブ [jpeg]
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.
java - JPEG 画像を読み込み、画像座標を計算する
同じサイズの色付きのボールがいくつかある均一な灰色の背景を持つJPEG画像を読み込みたいです。この画像を取得して、各ボールの座標を記録できるプログラムが必要です。これを行う最善の方法は何ですか?
java - JavaでJPEGからサムネイル画像を作成するにはどうすればよいですか?
Java で JPEG のサムネイルを作成するためのコードを教えてください。
私はこれが初めてなので、段階的な説明をいただければ幸いです。
c# - .NETロードされたのと同じ品質でjpegを保存する
私は大砲のデジタルカメラを持っていて、それを超高品質で写真を撮るように設定しました、そしてそれは3メガのサイズの.jpgファイルを出力します。このようにASP.NETにロードすると(これは、dpi解像度を変更したり、トリミングしたりするのに便利です)
そして、私はそれをこのように再び保存します:
わずか700KB程度のサイズのjpgを出力します。品質が低下します。
私も次のように保存してみました:
ここで、codecJpegは
およびencparams:
このようにしてサイズ(そして品質も疑わしい)は維持されますが、私は手作業で品質を入力しています。
聞きたい:
品質値をハードコーディングせずに、ロードされたのと同じ品質で画像を保存する方法はありますか?
前もって感謝します
.net - EXIFメタデータをTIFからC#/VB.NETのJPEGにコピーします
この問題に光を当てていただければ幸いです。2つの画像があります。1つはメタデータを含むTIFファイルから作成されたもので、もう1つはjpegとして保存されるメモリ内の画像です。次に、このルーチンを使用して、exifメタデータを最初のイメージから2番目のイメージ(つまり、tifファイルから作成されたイメージからメモリ内のイメージ)に転送します。
そして、これは完全にうまく機能します。すべてのexifアイテムが正常にコピーされます。デバッグモードで時計を使用してこれを確認しました。これを使用してimage2をjpegとして保存すると、問題が発生します。
ただし、image2 jpegファイルで保存されるEXIFプロパティはごくわずかです。つまり、カメラモデルとカメラメーカーのみです。ただし、image2をTIFとして保存すると、元のtifのすべてのプロパティがそこに表示されます。誰かがそれがなぜであるか説明できますか?
ありがとう。
compression - 損失圧縮されたファイルを取得して再度保存すると(JPEGなど)、品質が低下しますか?
圧縮された画像ファイルを読み込んで編集し、もう一度保存すると、品質が低下するのではないかとよく思います。保存時に同じ品質グレードを使用した場合、アルゴリズムはファイルがすでにJPEGとして圧縮されていることを何らかの形で検出するため、表示された表現を再度圧縮しようとしても意味がありませんか?
常にオリジナル(たとえば、PSD)を保持し、常にそれを変更してから、JPEGまたは必要なものとして保存する方がよいでしょうか?
c++ - メモリからjpegのサイズを取得します(GDI ++を使用して変換)
これが私の最初の投稿です。私は問題があります。デスクトップのシーンショットを撮り、それをjpegに変換し、バッファーに保存してから、操作してインターネット経由で送信する必要があります。
GetDC....とHBITMAPをjpegに変換するためのGDI+でこれを行うためのコードを作成しました。私が今抱えている問題は、IStreamに保存されているjpegのサイズがわからないことです。これは、HBITMAP hBackBitmapによって参照されるビットマップをjpegに変換し、それをpStreamに保存するコードの一部です。pStreamに書き込まれたバイト数とpStreamの使用方法(PVOIDハンドルを取得)を知る必要があります。
必要なものは次のとおりです。1。jpegのサイズ、ストリームに書き込まれたバイト数を確認します。2.ストリームの使用方法。たとえば、ストリーム内のデータのPVOIDを取得できますか?
ありがとうございました。
c# - ビデオを作成するためにC#で一連の画像をレンダリングする
ビデオを作成するためにキャプチャして画面にレンダリングしている一連のjpg画像があります。
JpegBitmapDecoderを使用してMemoryStreamから画像を解凍し、ImageコントロールでSourceを設定してレンダリングしています。これは問題なく機能しているようですが、プロセッサのオーバーヘッドはかなり高くなっています。画像は1280x720で、30 fpsで実行されており、コンピューター(Dual Core 2.8Ghz)についていくことはほとんどできません。より高い解像度で実行すると、フレームが破棄されます。CPU使用率を下げてみたいと思います。
費やされた時間のほとんどはデコードに費やされているようです(私のマシンでのデコードだけの単純なベンチマークは、約40fpsをデコードできることを示しています)。より高速なデコーダーが利用可能かどうか誰かが知っていますか(DirectX?DirectShow?ビデオカードにオフロードできるものはありますか?)
レンダリングに関しては、Imageコントロールがこのタイプの使用のために設計されているようには見えません(実際には、それがまったく機能することに驚きました。簡単だったので試してみました)。より高速な個々のフレームをレンダリングする別の方法はありますか?
jpeg - BMP から JPEG への変換についてヘルプが必要
BMP 画像を JPEG に変換する C++ プログラムを作成しています。
私が従おうとしている基本的なアルゴリズムは次のとおりです。
- RGB カラー スペースを Y、Cb、Cr に変換します。
- Cb と Cr を 2 ずつダウンサンプリングします (つまり、2*2 の正方形ブロックごとに 4 つの異なる Y 値がありますが、1 つの Cb と 1 つの Cr 値があります)。
- 各 8*8 ピクセルのデータ単位に DCT を適用します...
- 次に、Cb と Cr の標準量子化テーブルを使用して、DCT 係数に量子化を適用します。
- ジグザグに並べます。
- ハフマン符号化を使用して DC 係数と AC 係数を別々に符号化します。
- 適切なヘッダーを書き込み、ハフマンでエンコードされた値をファイルに書き込みます...
上記を正しく実行していることを確認しましたが、まだ次の問題があります。
- 生成中の JPEG が正しく表示されません。
- 色の値 R=10 B=10 および G=100 で完全に満たされた小さな 8*8 24 ビット (色深度) の bmp ファイルを作成しました... 64 ピクセルすべてが同じ色です..
- 私がすべてのステップで取得しているデータは次のとおりです...
- BMP ヘッダー サイズ 40
- ヘッダーのサイズ 40
- 幅8
- 高さ8
- 飛行機の数 1
- ピクセルあたりのビット数 24
- 画像サイズ 194
- x 解像度 1 メートルあたりのピクセル数 2834
- 1 メートルあたりの y 解像度ピクセル 2834
- 色数 0
- インプ色の数 0
- (R,B,G)=(10,10,100) の Y Cb Cr 変換は (62,-29,-37) です。
では、まず Y 成分について考えてみましょう。
Y 成分の DCT 係数は次のとおりです。
量子化の後、私が取得している単一のデータ単位のジグザグ順序は、Y コンポーネントの場合です。
上記のジグザグ配列のハフマンコーディングは次のとおりです。
- Y DC コーディング: 00111110
- Y ac コーディング: 1010 (ac ハフマン テーブル (輝度 Y) EOB 値は 1010 の場合)
- 同様に、Cb および Cr コンポーネントのハフマン コーディングは次のとおりです。
- cb dc コーディング: 11000010
- cb ac コーディング: 01 (ac ハフマン テーブル (クロミナンス Cb,Cr) の場合、EOB 値は 01)
- CR DC コーディング: 110101110
- cr ac コーディング: 01
私が得る最終的なハフマンコードは次のとおりです。
001111101010110000100111010111001 長さ 33
そのため、8 で割り切れるように、1 のパディングが行われます。
ここで、個々の 0 または 1 は、実際には JPEG ファイルにそのまま保存する必要があるビットですが、ビットごとにファイルに書き込むことができないため、合計 8 ビットが取得され、基数の整数値に変換されます。 10 となり、1 バイト文字に格納されます。
私が間違っている場所について誰か提案を提供できますか?
c# - 画像ファイルからビデオを作成しますか?
jpeg ファイルでいっぱいのフォルダーからビデオを作成しようとしています。私はGoogleを試しましたが、誰もがこれで立ち往生しています。WM SDK と Encoder をダウンロードしましたが、そのオブジェクト モデルが分からないので、あまりできません。
jpeg でいっぱいのフォルダから WMV、AVI、または MPEG ビデオ ファイルを作成する方法について、作業中のコードを持っている人はいますか? (C# の場合)
サードパーティを使用するだけで、明らかにC#からそれを行う方法がないことが回答でわかります。あなたの提案をチェックします。