Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
Một thuật toán dựa trên giả thiết một nửa quãng cho thiết kế một ma trận xác định bit, mà ma trận này chứa phân bố bit cho các hệ số bộ lọc trong các khối được trình bày như sau: Xác định bpp. | Hình 13.20 Trình bày các bước thực hiện mã hoá nén ảnh và giải nén ảnh. Một thuật toán dựa trên giả thiết một nửa quãng cho thiết kế một ma trận xác định bit mà ma trận này chứa phân bố bit cho các hệ số bộ lọc trong các khối được trình bày như sau 1. Xác định bpp. 2. Tính B bpp X NB X NB. 3. Bắt đầu với các giá trị vị trí nhỏ cho 0. Chúng ta dùng 0.01. 4. Tính phân bố bit dựa trên biểu thức 13.69 . 5. Tính Bs tổng của các phân bố bit được rút ra. 6. Tính Error Bs - B. 7. Nếu Error 0.0 thì xn 0 nếu không xp 0. 8. Tăng 0 bằng một giá trị cố định và lặp lại các bươc từ bước 4 đến bước 6 cho đến khi Error đạt đến giá trị thích hợp. 9. Bắt đầu giả thiết một nửa quãng theo a. Tính một nửa quãng cụ thể 0 xp xn 2. b. Lặp lại các bước từ bước 3 đến bước 4 để tính Erro. c. Nếu Error lưu lại ma trận phân bố bit và thoát. d. Nếu Error 0.0 thì xp 0 Ngược lại xn 0. e. Quay lại bước 9.a. Chương trình 13.14 tính ma trận phân bố bit dựa trên thuật toán trên. Chương trình này đòi hỏi FCT của ảnh như là một giá trị đầu vào và số các khối được dùng. Hội tụ nhanh cho trong trường hợp này được coi như là một bài tập để bạn có kinh nghiệm. Chương trình 13.14. BITALLOC.C . Phân bố bit. Program for bit allocation. include stdio.h include process.h include math.h include alloc.h include conio.h include io.h 408 void main FILE fptri fptro float nsq sum sigma bpp float B error theta xp xn float sumd sumdsq buffi denom int b i j k NB N Nt k2 int m N1 NS NC xt yt kk kk2 loc1 k1 int loc max min Bs sign1 sign2 char file_name 14 clrscr printf Enter name of input file containing 2-D FCT results- scanf w file_name fptri fopen file_name rb if fptri NULL printf nNo such file exists. n exit 1 nsq filelength fileno fptri ------------------ Assume image is square. ----------------------- N int sqrt double nsq sizeof float m int log10 double N log10 double 2.0 k 1 for i 0 i m i k 1 if k N printf nTransformed Image should have dimensions printf nthat are multiples of 2. Check size of n printf original .