Mampatan imej ialah kaedah teknikal yang biasa digunakan semasa menyimpan dan menghantar imej Ia boleh mengurangkan ruang penyimpanan imej dan mempercepatkan penghantaran imej. Matlamat pemampatan imej adalah untuk mengurangkan saiz fail imej sebanyak mungkin sambil cuba mengekalkan kualiti visual imej supaya dapat diterima oleh mata manusia. Walau bagaimanapun, semasa proses pemampatan imej, tahap herotan tertentu sering berlaku. Artikel ini membincangkan isu kawalan herotan dalam pemampatan imej dan menyediakan beberapa contoh kod konkrit.
Berikut ialah contoh kod mampatan JPEG yang mudah:
import numpy as np import cv2 def jpeg_compression(image, quality): # 将图像分成若干个8×8的小块 height, width, _ = image.shape blocks = [] for i in range(height // 8): for j in range(width // 8): block = image[i*8:(i+1)*8, j*8:(j+1)*8, :] blocks.append(block) # 对每个小块进行DCT变换,并进行量化和编码 compressed_blocks = [] for block in blocks: # 进行DCT变换 dct_block = cv2.dct(block.astype(np.float32)) # 进行量化和编码 quantized_block = np.round(dct_block / quality) compressed_blocks.append(quantized_block) # 将压缩后的小块重组成图像 compressed_image = np.zeros_like(image) for i in range(height // 8): for j in range(width // 8): block = compressed_blocks[i*(width//8)+j] compressed_image[i*8:(i+1)*8, j*8:(j+1)*8, :] = cv2.idct(block) return compressed_image.astype(np.uint8)
Dalam kod di atas, parameter quality
mewakili kualiti mampatan, dengan nilai antara 1 hingga 100. Semakin kecil nilai, semakin rendah kualiti mampatan dan lebih besar penyelewengan.
Selain itu, untuk mengurangkan herotan yang diperkenalkan oleh pemampatan imej, beberapa algoritma peningkatan juga boleh digunakan. Sebagai contoh, dalam algoritma pemampatan JPEG, jadual pengkuantitian berasaskan persepsi boleh digunakan untuk mengawal herotan, dan imej boleh ditukar kepada ruang warna sebelum transformasi DCT, yang boleh meningkatkan kesan mampatan, dsb.
Ringkasnya, isu kawalan herotan dalam pemampatan imej adalah isu yang memerlukan perhatian. Dalam aplikasi praktikal, kita perlu memilih algoritma dan parameter mampatan yang sesuai mengikut keperluan khusus untuk mencapai kualiti imej dan nisbah mampatan yang diperlukan. Pada masa yang sama, dengan menggunakan algoritma penambahbaikan, seperti melaraskan jadual kuantisasi, penukaran ruang warna, dan lain-lain, kesan mampatan boleh dipertingkatkan ke tahap tertentu.
Atas ialah kandungan terperinci Isu kawalan herotan dalam pemampatan imej. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!