JPEG creating test #132023年04月01日 09時20分

JPEG 100%-creation method

最終1行がいつも Rubyスクリプトを実行した後、取り残される理由がわかった。
JPEGフッター 「FFD9」 のある1行だけは、パケットサイズが他の行の256(hex100)
よりも小さい(ファイルごとにそれは異なる)ので、Ruby構文から外れて、いつも
取りこぼすのだ。最終1行だけは、csvファイルから手動で見つけ、整形した後に
貼り付ける必要がある。次に、新しい Photo-No.7 を作成しながら、それを追認
することで、[JPEG 100%-creation method, 100%-JPEG作成方法] を確立する。

Request CAS-5A data to SatNOGS
Rename from long file name to 30401ng7.csv
Find [0298 and FFD8] line in 30401ng7.csv
This file is CAS-5A JPEG image file No_7.
This line can be found on line 93846.
[0298] frame size, [FFD8] jpg header
[0298] hexadecimal = [664] decimal

[ext007.rb]
> for i in 1..0x298
> printf("grep 030298%04X0100160C090B2E0F080707 30401ng7.csv | head -1 | cut -c 59- >> 30401ng7.hex\n", i)
> end

$ cat 30325ng5-org.csv > 30401ng7.csv
$ ruby ext007.rb
$ ruby ext007.rb > 30401ng7.sh
$ sh 30401ng7.sh [---generate "30401ng7.hex" after this command]

As the next step, make one line "30401ng7-last.txt" after coping
only one line 92759,which should contain 'hex0298' and jpg footer
'FFD9' in "30401ng7.csv". After making "30401ng7c59-last.txt" as
follows, add this "30401ng7c59-last.txt" to "30401ng7.hex" file
with Geany. And rename from "30401ng7.hex" to "30401ng7-full.hex".
And rename it to "30401ng7-full.txt". Then, proceed the steps below.

$ cut -c 59- 30401ng7-last.txt > 30401ng7c59-last.txt
$ cat 30401ng7-full.hex > 30401ng7-full.txt
$ cut -c 27- 30401ng7-full.txt > 30401ng7-full-less-27.txt
$ tr -d '\n' < 30401ng7-full-less-27.txt > 30401ng7-full-one-line.txt
$ cat 30401ng7-full-one-line.txt | xxd -r -p > 30401ng7-completion.jpg

This "30401ng7-completion.jpg" is Photo-No.7 of 100%.

コメント

_ JH4XSY/1 ― 2023年04月01日 21時20分

ご指摘の通り,最終パケットはサイズが違いました。抽出条件を修正したスクリプトをgistにあげました。TNX!

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
Tropical fish?

コメント:

トラックバック