Giáo trình xử lý ảnh y tế Tập 3 P20
Số trang: 8
Loại file: pdf
Dung lượng: 0.00 B
Lượt xem: 26
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
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.
Nội dung trích xuất từ tài liệu:
Giáo trình xử lý ảnh y tế Tập 3 P20 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ậnxá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áckhối được trình bày như sau: Xác đ ịnh bpp.1. Tính B = bpp NB NB.2. Bắt đầu với các giá trị vị trí nhỏ cho . Chúng ta dùng 0.01.3. Tính phân bố bit dựa trên biểu thức (13.69).4. Tính Bs = tổng của các phân bố bit đư ợc rút ra.5.6. Tính Error = Bs - B. Nếu Error > 0.0 thì xn = , nếu không xp = .7. Tăng 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,8. 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ể = (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 = ; Ngược lại xn = . 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áckhối được dùng. Hội tụ nhanh cho trong trường hợp này, được coi như là mộtbà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 #include #include #include #include #include 408void 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 FCTresults->); scanf(w,file_name); fptri=fopen(file_name,rb); if(fptri==NULL) { printf( No such file exists. ); 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;iNS=NB*N; /* Size of input buffer. */NC=N1*N1; /* Total # of blocks in image.*//*Allocating memory.*/buffi=(float *)malloc(NS*sizeof(float));sumd=(float *)malloc(Nt*sizeof(float));sumdsq=(float *)malloc(Nt*sizeof(float));sigma=(float *)malloc(Nt*sizeof(float));xt=wherex();yt=wherey();gotoxy(70,25);textattr(WHITE+(GREEN {sigma[i]=fabs((((float)NC)*sumdsq[i]-(sumd[i]*sumd[i]))/denom);sigma[i]=(float)sqrt( (double)sigma[i]);if(sigma[i]==0.0) sigma[i]=1.0e-10 ; }free(sumd);free(sumdsq); fclose(fptri);xt=wherex();yt=wherey();gotoxy(70,25);textattr(WHITE+(BLACK0.0)?1:-1; theta=1.0; while(1) { for(i=0;i sum=0.5*log10((double)(sigma[i]*sigma[i]/theta))/log10(2.0); b[i]=(sum>0.0)?(int)sum:0; } Bs=0; for(i=0;i0.0)?1:-1; if((sign1+sign2)==0) break; theta+=1; } if(error>0.0) xp=theta; else xn=theta;/* Half-interval method. */ k=0; while(1) { k++; theta=(xp+xn)/2.0; for(i=0;i0.0)?(int)sum:0; } Bs=0; for(i=0;i0.0) xp=theta; else xn=theta; } clrscr(); printf( %d ,Bs); printf( Bit allocation matrix. ); k=0; for(i=0;i error=B-Bs;printf( Error in total bit allocation=%fbits ,error);k=0;for(i=0;i 2 2 1 10000 1 1 1 10000 1 0 0 00000 0 0 0 00000 (a) 5 3211000 3 2210000 2 2110000 2 1100000 1 1000000 0 0000000 0 0000000 0 0000000 (b) Có nhiều chuẩn trong việc nén ảnh; đặc biệt là chu ẩn được đ ược JPEG(Joint Photographic Experts Group) đề xuất đang bắt đầu áp dụng trong một sốứng dụng. Trong chuẩn JPEG ảnh được nén như sau: 1 . Khối điểm kích thước 8 8 của DCT trên ảnh nguyên gốc được tính. 2 . Hệ số chuyển đổi được tiêu chuẩn hoá bằng cách áp dụng một mảng do người sử dụng định nghĩa nó được định trước cho tất cả các khối. 3 . Hệ số DC được m ã hóa với lược đồ DPCM. 4 . Mỗi khối đ ược sắp xếp lại sử dụng mã zigzag (xem hình 13.21). Điều này là theo RLC và lược đồ mã Huffman. Để nén một ảnh m àu, JPEG đề xuất rằng mỗi thành phần được mã hoá mộtcách độc lập với nhau. Trong chu ẩn JPEG, ngư ời sử dụng cần phải cung cấp mảng tiêu chuẩn hoá.Điều n ày là m ột phần khó khăn của b ài toán còn để lại cho người sử dụng.Hai mục trên nói về vi mạch đã được phát triển trong công nghệ phục vụ việcnén/giải nén ảnh thời gian thực đư ợc đề cập trong phần tham khảo 18 và 19.Chúng được dựa trên cơ sở những chuẩn được đề xuất bởi JPEG. 414Hình 13.21 Mã Zigzag. 415 ...
Nội dung trích xuất từ tài liệu:
Giáo trình xử lý ảnh y tế Tập 3 P20 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ậnxá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áckhối được trình bày như sau: Xác đ ịnh bpp.1. Tính B = bpp NB NB.2. Bắt đầu với các giá trị vị trí nhỏ cho . Chúng ta dùng 0.01.3. Tính phân bố bit dựa trên biểu thức (13.69).4. Tính Bs = tổng của các phân bố bit đư ợc rút ra.5.6. Tính Error = Bs - B. Nếu Error > 0.0 thì xn = , nếu không xp = .7. Tăng 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,8. 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ể = (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 = ; Ngược lại xn = . 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áckhối được dùng. Hội tụ nhanh cho trong trường hợp này, được coi như là mộtbà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 #include #include #include #include #include 408void 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 FCTresults->); scanf(w,file_name); fptri=fopen(file_name,rb); if(fptri==NULL) { printf( No such file exists. ); 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;iNS=NB*N; /* Size of input buffer. */NC=N1*N1; /* Total # of blocks in image.*//*Allocating memory.*/buffi=(float *)malloc(NS*sizeof(float));sumd=(float *)malloc(Nt*sizeof(float));sumdsq=(float *)malloc(Nt*sizeof(float));sigma=(float *)malloc(Nt*sizeof(float));xt=wherex();yt=wherey();gotoxy(70,25);textattr(WHITE+(GREEN {sigma[i]=fabs((((float)NC)*sumdsq[i]-(sumd[i]*sumd[i]))/denom);sigma[i]=(float)sqrt( (double)sigma[i]);if(sigma[i]==0.0) sigma[i]=1.0e-10 ; }free(sumd);free(sumdsq); fclose(fptri);xt=wherex();yt=wherey();gotoxy(70,25);textattr(WHITE+(BLACK0.0)?1:-1; theta=1.0; while(1) { for(i=0;i sum=0.5*log10((double)(sigma[i]*sigma[i]/theta))/log10(2.0); b[i]=(sum>0.0)?(int)sum:0; } Bs=0; for(i=0;i0.0)?1:-1; if((sign1+sign2)==0) break; theta+=1; } if(error>0.0) xp=theta; else xn=theta;/* Half-interval method. */ k=0; while(1) { k++; theta=(xp+xn)/2.0; for(i=0;i0.0)?(int)sum:0; } Bs=0; for(i=0;i0.0) xp=theta; else xn=theta; } clrscr(); printf( %d ,Bs); printf( Bit allocation matrix. ); k=0; for(i=0;i error=B-Bs;printf( Error in total bit allocation=%fbits ,error);k=0;for(i=0;i 2 2 1 10000 1 1 1 10000 1 0 0 00000 0 0 0 00000 (a) 5 3211000 3 2210000 2 2110000 2 1100000 1 1000000 0 0000000 0 0000000 0 0000000 (b) Có nhiều chuẩn trong việc nén ảnh; đặc biệt là chu ẩn được đ ược JPEG(Joint Photographic Experts Group) đề xuất đang bắt đầu áp dụng trong một sốứng dụng. Trong chuẩn JPEG ảnh được nén như sau: 1 . Khối điểm kích thước 8 8 của DCT trên ảnh nguyên gốc được tính. 2 . Hệ số chuyển đổi được tiêu chuẩn hoá bằng cách áp dụng một mảng do người sử dụng định nghĩa nó được định trước cho tất cả các khối. 3 . Hệ số DC được m ã hóa với lược đồ DPCM. 4 . Mỗi khối đ ược sắp xếp lại sử dụng mã zigzag (xem hình 13.21). Điều này là theo RLC và lược đồ mã Huffman. Để nén một ảnh m àu, JPEG đề xuất rằng mỗi thành phần được mã hoá mộtcách độc lập với nhau. Trong chu ẩn JPEG, ngư ời sử dụng cần phải cung cấp mảng tiêu chuẩn hoá.Điều n ày là m ột phần khó khăn của b ài toán còn để lại cho người sử dụng.Hai mục trên nói về vi mạch đã được phát triển trong công nghệ phục vụ việcnén/giải nén ảnh thời gian thực đư ợc đề cập trong phần tham khảo 18 và 19.Chúng được dựa trên cơ sở những chuẩn được đề xuất bởi JPEG. 414Hình 13.21 Mã Zigzag. 415 ...
Tìm kiếm theo từ khóa liên quan:
Kỹ thuật xử lý hình ảnh xử lý tín hiệu cách xử lý hình ảnh tin học chuyên ngành chỉnh sửa hình ảnh trong y họcGợi ý tài liệu liên quan:
-
Bài giảng Tín hiệu và hệ thống - Hoàng Minh Sơn
57 trang 58 0 0 -
Giáo trình Tin học chuyên ngành: Phần 2 - Trường ĐH Công nghiệp Quảng Ninh
93 trang 52 0 0 -
59 trang 37 0 0
-
Xử lý tín hiệu và lọc số (tập 2): Phần 1 - Nguyễn Quốc Trung
233 trang 36 0 0 -
Giáo trình môn Xử lý tín hiệu số
108 trang 30 0 0 -
Giáo trình xử lý tín hiệu và lọc số 4
6 trang 29 0 0 -
Giáo trình xử lý ảnh y tế Tập 1b P18
7 trang 29 0 0 -
66 trang 29 0 0
-
Giáo trình xử lý ảnh y tế Tập 1a P11
10 trang 29 0 0 -
13 trang 28 0 0
-
Tìm hiểu về thông tin di động: Phần 2
230 trang 28 0 0 -
Giáo trình Phương pháp tính và tin học chuyên ngành: Phần 1
124 trang 27 0 0 -
Giáo trình Matlab - Phan Thanh Tao
260 trang 27 0 0 -
Bài giảng Xử lý tín hiệu và mã hóa: Chương 1 - TS. Phạm Việt Hà
16 trang 27 0 0 -
Ứng dụng bộ lọc kalman xử lý tín hiệu cân động
5 trang 27 0 0 -
Tổng đài điện tử - Nguyễn Duy Nhật Viễn
138 trang 26 0 0 -
Giáo trình xử lý ảnh y tế Tập 1b P6
8 trang 26 0 0 -
Thực hành xử lý tín hiệu với Matlab part 6
43 trang 26 0 0 -
Giáo trình Phương pháp tính và tin học chuyên ngành: Phần 2
138 trang 26 0 0 -
3 trang 26 0 0