Linux コマンドを使用して JPEG 画像を RAW 画像に変換するにはどうすればよいですか?

Linux コマンドを使用して JPEG 画像を RAW 画像に変換するにはどうすればよいですか?

私はJPEG画像シリーズを撮影しましたキヤノン パワーショットJPEG に変換します。RAW 画像に変換するにはどうすればよいですか?

グラフィカル ツールではなく、コマンド ラインから!

注意:RAW画像を使用してSiril天体写真アプリケーションでスタックします(https://siril.org/fr/

答え1

元の RAW 画像は復元できません。

RAW の代わりに JPEG を選択すると、品質を犠牲にしてスペースを節約できます。
この操作は不可逆で、損失を伴います。
簡単に言えば、元に戻すことができないということです。

残念ながら、次回撮影する前に JPEG ではなく RAW 形式を選択することしかできません。

注記:技術的には、現在の jpg 画像を RAW 形式に変換する方法を見つけることはできますが、RAW 形式で直接撮影して保存した場合と同じ RAW 画像にはなりません。


検索中キヤノンサポートあなたは読むかもしれません

カメラはJPEGおよびRAW形式で画像を撮影できます。

JPEG
画像 カメラ内で最適な画質になるように処理され、ファイルサイズを小さくするために圧縮されています。ただし、圧縮プロセスは不可逆的であり、画像を元の未処理の状態に復元することはできません。画像処理により画質が低下する場合もあります。

RAW カメラの画像処理による画質の損失がほとんどない状態で記録された「生の」(未処理の)データ。この状態では、データをコンピューターで表示したり印刷したりすることはできません。まずカメラで画像を処理するか、ソフトウェア(Digital Photo Professional)を使用して画像を JPEG または TIFF ファイルに変換する必要があります。画像は、画質の損失を最小限に抑えて調整できます。

答え2

「Raw」は明確に定義されたフォーマットではありません。 Wikipedia RAW画像フォーマットカメラのモデルに応じて、43 種類の RAW 形式があることがわかりました。

最も優れた画像パッケージの1つは イメージマジックLinux 上のパッケージまたはダウンロードとして入手可能で、いくつかの RAW 形式をサポートしています。magickまたはのコマンドを使用しますconvert

ただし、結果の品質は非常に低くなります。JPEG は処理された画像データですが、RAW はそうではありません。通常、RAW ファイルはピクセルあたり 12 ~ 14 ビットで、最大 16384 個の値を持ちます。JPEG は RGB チャネルあたり 256 個の輝度値しか持てません。つまり、JPEG には対応する RAW ファイルよりもずっと少ないデータしか含まれません。したがって、JPEG を RAW に変換する良い方法はありません。

答え3

JPEG を RAW 形式に変換しようとする際の困難さと機会。

JPEG ファイルを元の RAW ファイルに変換できるとは限りません。
注: ここで言及しているのは、標準ではないオリジナルまたは特定の RAW 形式です。RAW 形式は、製造元が CCD の内容をバッファーやストレージ デバイスにすばやく保存するために使用する、それぞれ異なるサービス形式です。

制限。有効な RAW 形式に変換できるかもしれませんが、新しい RAW ファイルに保存される個々の値が、ショットを RAW 形式で直接保存した場合と同じになるわけではありません。

機会。JPEG 画像を RAW 形式に変換してそこから処理を開始できたとしても、すでに持っている JPEG から直接開始した場合よりも最終結果が良くなるとは言い切れません。実際には、ある形式を別の形式に変換し、さらに変更を加えることができるフィルター (アルゴリズム) を適用します。

困難。それでも、一度知ってしまえば特定のRAW形式あなたは方法を見つけるかもしれない正式に convert画像を RAW 形式に変換します。これには、逆変換のモデリングから始まり、アルゴリズムを好みの言語でコーディングするまで、簡単ではないプログラミング作業が必要になります。

既存のプログラム。プログラムconvertイメージマジックLinux(または他のOS)のパッケージでは、どのフォーマットもCanon RAWフォーマットに直接変換することはできません。読むことしかできないR) それら...つまり、OP が探しているものとは逆のこと、つまり RAW を何にでも変換することができます。

convert -list format | grep Canon
      CR2  DNG       r--   Canon Digital Camera Raw Image Format
      CRW  DNG       r--   Canon Digital Camera Raw Image Format

しかし、Imagemagickはスクリプト/プログラミング言語。単一のピクセル値にアクセスできるようになると、必要に応じてそれらを保存できます...プログラミングします。ただし、必要な形式の仕様を知っておく必要があります。

さらに、オープンソースプログラムなので、コード内で変換に使用されたルーチンを見ることができます。RAWより何でもやってみて、できるかどうか試してみましょう反転彼ら。

RAW から JPEG への変換の不可逆性について。

これには多くの理由があります。その理由としては次のようなものが挙げられます。

  • 一部の形式は非可逆で、JPEG もその 1 つです。アーティファクトが発生し、個々のピクセルの元の値が全体的に変更される代わりに、スペースが節約されます。

  • 従来の JPEG 形式では、カラーには 8 ビットしかありません (つまり、256 のシェード)。CCD センサーでは、カウンターは通常 12 ビットまたは 14 ビットです (つまり、4096 と 16384 のシェード)。
    画像をヒストグラムとして考えると、JPEG 画像の 1 つのビン (列) で、それぞれ 12 ビットと 14 ビットのカウンターの 16 と 64 のビンに含まれる値を平均することになります。平均から個々のビンの値をどのように復元できるでしょうか。

  • JPEGが最近の12-14-16ビット形式(JPEG_XT)、カメラ内部でこの変換に使用されているアルゴリズムを知らない。
    (簡単に言えば、センサーは非線形の効率曲線を持つことができます。メーカーは、RAW形式から線形に変換することでこれを考慮できます。シェードJPEG、TIFF、... 形式のレベル。

  • CCD のジオメトリは、画像のジオメトリとは異なります。大まかに言うと、画像には、まったく同じ幾何学的正方形に対して 3 つまたは 4 つの値を持つピクセルがあります。すべての正方形は隣接しています。

    その代わりに、CCD では、異なる波長に敏感な、幾何学的に分離されたセンサーが採用されています。ここでも、大まかに言えば、R、G、B 値です。これらのセンサーの表面は同じである場合もそうでない場合もあります。また、効率も異なります。効率は、とりわけ 1 秒あたりのカウント数に応じて変化します。

    これらのRGBセンサーの配列がどのように配置され、互いにどのように間隔が空けられているかは、CCDの設計によって異なります。カラーフィルターアレイインターネットで。

    ここに画像の説明を入力してください 画像元ウィキペディア

    ここに画像の説明を入力してください 画像元電子フォトジン

    たとえば、赤色センサーのカウント値がピクセル R の画像値にどのように変換されるかは、それらの幾何学的位置と、同じ波長に敏感なセンサーまたは他の波長に敏感なセンサーの近くのセンサーの値も考慮するかどうかを選択するアルゴリズムによって異なります。

    これらはすべて、元に戻すことはほとんど不可能です。

答え4

他の人が指摘したように、JPG から変換する場合、通常の RAW 形式の利点を得る方法はありません。

しかし、キヤノンのPowerShotでは、 チッケーRAW 画像を撮影できるようにするプロジェクト。もちろん、これは既存の画像には役立ちません。

関連情報