Terus ke kandungan
IGCSE·Tuition
Sains Komputer · Pelajaran

Kira saiz imej tanpa mampatan

Soalan saiz fail terasa seperti meneka apabila imej diterangkan dengan perkataan dan tiada formula diberi.

Dalam halaman ini
  1. Mengapa jawapan memerlukan andaian?
  2. Bagaimana mengira langkah demi langkah?
  3. Contoh berlangkah
  4. Kesilapan yang perlu diawasi
  5. Semak kendiri
  6. Seterusnya

Untuk mencari saiz imej tanpa mampatan, darabkan bilangan piksel dengan bilangan bit yang digunakan oleh setiap piksel: saiz dalam bit = lebar × tinggi × kedalaman warna. Ini muncul apabila soalan memberi resolusi dan kedalaman warna, kemudian bertanya berapa storan yang diperlukan.

Ia dibina terus atas kedalaman bit daripada modul sebelumnya dan ialah pelajaran pertama dalam imej, bunyi dan storan.

Mengapa jawapan memerlukan andaian?

Imej bitmap ialah grid piksel, dan setiap piksel menyimpan satu warna sebagai nombor binari. Bilangan bit setiap piksel ialah kedalaman warna (colour depth). Lebih banyak bit membenarkan lebih banyak warna, tetapi imej memerlukan lebih banyak storan.

Formula hanya memberi saiz data piksel. Fail sebenar juga menyimpan lebar, tinggi dan butiran lain, dan mungkin dimampatkan. Jadi tulis andaian anda, contohnya “andaikan tiada pemampatan dan abaikan metadata fail”.

Bagaimana mengira langkah demi langkah?

  1. Cari bilangan piksel: lebar × tinggi.
  2. Cari bit setiap piksel. Jika diberi bilangan warna, cari kedalaman bit terkecil yang cukup (2bit ≥ warna).
  3. Darab: piksel × bit setiap piksel memberi saiz dalam bit.
  4. Tukar: bahagi dengan 8 untuk bait, kemudian gunakan konvensyen yang dinyatakan untuk unit lebih besar (lihat menukar unit storan).
  5. Nyatakan andaian dan tulis unit.

Kaedah yang sama sebagai pseudokod gaya Cambridge:

INPUT Width, Height, Depth
Bits ← Width * Height * Depth
Bytes ← Bits / 8
OUTPUT Bytes

Jejak dengan Width = 800, Height = 600, Depth = 8: Bits = 800 × 600 × 8 = 3 840 000, jadi Bytes = 480 000.

Contoh berlangkah

Sebuah foto lebarnya 1 024 piksel dan tingginya 768 piksel dengan kedalaman warna 24 bit. Beri saiz tanpa mampatan dalam bait dan KiB (1 KiB = 1 024 bait).

Langkah 1, piksel: 1 024 × 768 = 786 432.

Langkah 2, bit: 786 432 × 24 = 18 874 368 bit.

Langkah 3, bait: 18 874 368 ÷ 8 = 2 359 296 bait.

Langkah 4, KiB: 2 359 296 ÷ 1 024 = 2 304 KiB (iaitu 2.25 MiB).

Semakan melalui laluan lain: 24 bit ialah 3 bait, jadi 786 432 × 3 = 2 359 296 bait. Kedua-dua laluan sama.

Andaian: tiada pemampatan dan tiada metadata, jadi fail sebenar sedikit lebih besar atau, jika dimampatkan, jauh lebih kecil.

Kesilapan yang perlu diawasi

Kesilapan lazim ialah menggunakan bilangan warna sebagai kedalaman bit.

Jawapan salah: Imej 640 × 480 dengan 256 warna. Saiz = 640 × 480 × 256 = 78 643 200 bit.

Pelajar menggunakan 256 di tempat yang memerlukan bilangan bit.

Pembetulan: 256 warna memerlukan 8 bit, kerana 28 = 256. Jadi saiz = 640 × 480 × 8 = 2 457 600 bit = 307 200 bait. Jawapan salah itu 32 kali terlalu besar, dan semakan kemunasabahan yang cepat akan mendedahkannya.

Semak kendiri

Tunjukkan setiap langkah, kemudian buka setiap jawapan.

1. Sebuah imej lebarnya 100 piksel dan tingginya 50 piksel dengan kedalaman warna 4 bit. Berapa bait diperlukan?

Tunjukkan jawapan

Piksel = 100 × 50 = 5 000. Bit = 5 000 × 4 = 20 000. Bait = 20 000 ÷ 8 = 2 500 bait.

2. Sebuah imej 640 × 480 piksel menggunakan 16 warna. Beri saiz tanpa mampatan dalam KiB.

Tunjukkan jawapan

16 warna memerlukan 4 bit (24 = 16). Piksel = 640 × 480 = 307 200. Bit = 307 200 × 4 = 1 228 800. Bait = 153 600. KiB = 153 600 ÷ 1 024 = 150 KiB.

3. Sebuah imej hitam putih berukuran 8 × 8 piksel. Berapa bait diperlukan, dan apakah kedalaman bit yang anda andaikan?

Tunjukkan jawapan

Dua warna memerlukan 1 bit setiap piksel. Bit = 8 × 8 × 1 = 64. Bait = 64 ÷ 8 = 8 bait, dengan andaian kedalaman warna 1 bit dan tiada metadata.

Seterusnya

Bunyi disimpan dengan penaakulan yang serupa, jadi teruskan dengan mengira saiz audio bersampel. Apabila anda boleh melakukan kedua-duanya tanpa teragak-agak, uji dalam set latihan. Kotak pasir penaakulan Python ialah tempat yang baik untuk menukar formula kepada kod dan menyemak aritmetik anda.

Sesetengah pelajar mengikuti setiap langkah di sini tetapi kehilangan markah kerana lupa menyatakan andaian atau membahagi dengan 8. Guru boleh mengesan kesilapan sebegini dalam kerja anda melalui tuisyen Computer Science dalam talian satu dengan satu.

Soalan lazim

Apakah formula untuk saiz imej tanpa mampatan?

Saiz imej dalam bit = lebar dalam piksel × tinggi dalam piksel × kedalaman warna dalam bit. Bahagi dengan 8 untuk bait. Formula ini hanya untuk bitmap tanpa mampatan, jadi nyatakan andaian itu, dan ingat bahawa fail sebenar mungkin menyimpan data tambahan seperti lebar dan tinggi.

Jika imej mempunyai 256 warna, adakah kedalaman warna 256 bit?

Tidak. Kedalaman warna ialah bilangan bit setiap piksel. 256 warna memerlukan 8 bit kerana 2 kuasa 8 ialah 256. Menggunakan 256 sebagai kedalaman bit ialah kesilapan yang sangat lazim, jadi sentiasa tukar bilangan warna kepada bit dahulu.

Mengapa saya perlu menyatakan andaian?

Fail sebenar mengandungi metadata, dan pemampatan mengubah saiz. Menulis 'andaikan tiada pemampatan dan abaikan metadata' menunjukkan kepada pemeriksa bahawa anda tahu jawapan itu ialah nilai teori minimum, dan ia melindungi anda jika ayat soalan ringkas.

Dikemas kini:

Langkah seterusnya

Jika soalan saiz imej masih tersasar apabila ayat soalan berubah, guru satu dengan satu boleh meminta anda menerangkan setiap andaian dan membetulkan langkah yang tergelincir.

Kelas percubaan berbayar satu jam pada kadar guru yang disahkan, bermula RM80.

Tuisyen diatur bersama ibu bapa atau penjaga. Hantar halaman ini kepada mereka melalui WhatsApp supaya mereka boleh bertanya bagi pihak anda.

Ibu bapa: tanya di sini

  • 9,000+ pelajar telah dibantu melalui perkhidmatan kami
  • 9+ tahun membantu pelajar IGCSE