Hai Saya yakin ada banyak pertanyaan serupa yang diajukan, tetapi setelah mencari banyak, saya tidak menemukan posting yang menggambarkan situasi saya.
Saya memiliki beberapa file jpg yang memiliki beberapa warna salah setelah titik tertentu dan juga setiap piksel bergeser ke kiri. Saya pikir ini karena beberapa byte yang hilang pada titik di mana ia berubah. Saya mencoba mengedit file dengan vi tetapi sepertinya tidak mungkin untuk mencari tahu di mana byte yang hilang, juga vi sangat rumit untuk digunakan. Saya juga mencoba nano tetapi tidak aman biner.
Ini adalah salah satu gambar yang dimaksud:
Jadi saya ingin mengajukan dua pertanyaan:
- Bagaimana saya bisa memperbaiki gambar seperti itu di Linux?
- Bagaimana saya bisa dengan aman membuka dan mengedit file dalam editor teks biner di Linux?
Sunting: menggunakan hexedit Saya menemukan bahwa dari posisi 0x27F000 ke 0x27F403 hanya ada yang 0xff, dan dari 0x27F404 ke 0x27FFFF hanya ada nol 0x00. Ini membuat sesuatu seperti ini:
0027EFF0 F8 83 C3 E2 09 35 AF 13 44 6E C5 FD C7 EF 23 E8 .....5..Dn....#.
0027F000 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
[...]
0027F400 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 ................
[...]
0027FFF0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00280000 8F 39 6E 47 4F 43 5F 36 7C 73 66 F1 0D AE AD AF .9nGOC_6|sf.....
Mengubah byte ini dengan angka acak saya bisa mengubah gambar, tetapi masih ada masalah warna.
Bisakah seseorang mengarahkan saya ke beberapa dokumentasi tentang pengkodean jpeg sehingga saya bisa mengetahui bagaimana cara mengetahui di mana blok 8x8 berakhir.
Saya bertanya-tanya mengapa posisinya sangat tepat (0x27F000 hingga 0x27FFFF), mungkinkah ini bug cam saya atau kartu memori yang saya gunakan?