Danh mục

Giáo trình xử lý ảnh y tế Tập 3 P11

Số trang: 9      Loại file: pdf      Dung lượng: 228.60 KB      Lượt xem: 4      Lượt tải: 0    
Thu Hiền

Hỗ trợ phí lưu trữ khi tải xuống: 2,000 VND Tải xuống file đầy đủ (9 trang) 0

Báo xấu

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tín hiệu đi trongdây thần kinh vào và dây thần kinh ra như một dòng điện. Có rất nhiều kiểu dâythần kinh trong não và một số lớn các tế bào trạng thái và chức năng. Một số hạnchế các xung mà có khả năng làm quá tải mạch cảm biến. Một số đưa tin tức tổnghợp đến bề mặt não, một số khác nhận tín hiệu đưa vào.
Nội dung trích xuất từ tài liệu:
Giáo trình xử lý ảnh y tế Tập 3 P11gotoxy(1,3);printf( );gotoxy(1,3);printf( Enter file name -->);scanf ( %s, file_name2);ind=access(file_name2, 0); } } fptro=fopen(file_name2, wb);xt=wherex();yt=wherey();gotoxy(70,25);textattr(RED+(LIGHTGRAY for(k=0;kif(L[j]==Len) { if(code[j]==aux2) { aux2=0; putc((int)gray[j],fptro); Len=0 ; break; } } }flength++; } }gotoxy(70, 25);textattr(WHITE+(BLACK a. Viết chương trình C sử dụng mã Huffman đặt trong phần header của file ảnh đ ã mã hoá để tạo một cây nhị phân. b. Mở rộng cho chương trình giải mã dùng cây nhị phân. Chương trình ph ải đạt được một vài yêu cầu quan trọng nhanh hơn phương pháp đã mô tả trong phần này. giải thích tại sao.13.3 Mã chiều dài thay đổi Mã chiều dài thay đ ổi (RLC) là một phương pháp nén ảnh dựa trên sự cắtbớt các dư thừa không gian. Cho m ã hoá chiều dài thay đổi một chiều, một mãchiều dài thay đổi được định nghĩa là một số các phần tử điểm ảnh liên tục cóchung một giá trị. Một ảnh có thể mã hoá dùng một cặp (mã chiều dài thayđổi, mã mức xám). Một chương trình như vậy sẽ không thể làm giảm kíchthước của ảnh nếu ảnh không chứa các điểm có cùng các giá trị mức xám.Điều kiện này xuất hiện trong một ảnh nhiều chi tiết. Dù có th ế đi chăng nữathì đ ịnh nghĩa của RLC có thể là một phương pháp tốt để mã hoá mà có thểkh ắc phục các vấn đề xuất hiện dựa theo các điều kiện sau: 1 . Một m ã chiều dài thay đổi được xác định bằng ba bít cuối cùng có ý nghĩa của nó được xác lập bằng 1. Còn 5 bít th ấp của nó cung cấp một bộ đếm từ 1 đến 31 cho byte đi theo nó. 2 . Nếu giá trị một điểm có m ã chiều dài thay đổi bằng không, th ì nó được mã hoá như sau: a. Nếu 3 bit cuối của nó đều xác lập lên 1, châửng hạn,  224, thì nó được m ã hoá thành (11100000, giá trị điểm), cụ thể, mã chiều d ài thay đổi bằng không theo sau bằng giá trị điểm. b. Cho các trường hợp còn lại, nó đ ược mã hoá như giá trị điểm. Các bước trên giả thiết rằng trong một ảnh b ình thường, mã chiều dài thayđổ i lớn hơn 31 ít xuất hiện, và các điểm có giá trị lớn hơn 224 cũng ít xuấthiện. Chương trình C sau sẽ thực hiện các bước trên. Chương trình 13.4 RLC.C. Chương trình cho giải thuật RLC./*Program 13.4 RLC.C. Program for RLC.*//* Run length code. *//* This program can be used for either coding images in RLC or decoding them. */#include #include #include #include #define MASK 224 /* MASK=11100000 */ 333void main(){int buff[256],p;int N,i,k;FILE *fptr,*fptro;char file_name[14],ch;int NMASK=(~MASK);clrscr();printf(This program can be used for both coding);printf(\nand decoding images using 1-D RLC.);printf(\n\n Enter choice:);printf(\n 1.Coding.);printf(\n 2.Decoding --- > );while(((ch=getch())!=1)&&(ch!=2));putch(ch);printf(\n\nEnter input file name-->);scanf(%s,file_name);fptr=fopen(file_name,rb);if(fptr==NULL) { printf(\n file %s does not exist.\n); exit(1); }switch(ch) {case 1:printf(Enter output file name-->);scanf(%s,file_name);fptro=fopen(file_name,wb);/* Read first line.*/N=0;while((buff[N]=getc(fptr))!=EOF) { N++; if(N==256) break; }while(N!=0) {i=0;while(i k=0;if(i==(N-1)) /*Is reference value last value inline? */ { if((p&MASK)==MASK) { k=k|MASK; putc(k,fptro); putc(p,fptro); }else putc(p,fptro); break; }i++;while(p==buff[i]) { i++; k++; if((k==31)||(i==N)) break; }if(k==0) { if((p&MASK)==MASK) { k=MASK; putc(k,fptro); putc(p,fptro); } else putc(p,fptro); }else{k|=MASK;putc(k,fptro);putc(p,fptro); }}N=0;while((buff[N]=getc(fptr))!=EOF) { N++; if(N==256) break; 335 }}fcloseall();printf(\nDone coding);break;case 2: /* Decoding procedure.*/printf(\nEnter file name for storing decoded image-->);scanf(%s,file_name);fptro=fopen(file_name,wb);while(1) {k=getc(fptr);if(k==EOF) break;if((k&MASK)==MASK) { p=getc(fptr); if(p==EOF) { putc(k,fptro); break; } k=k&(NMASK); for(i=0;i dụng ch ương trình của bạn lên ảnh IKRAM.IMG. Khi đó kích thước của ảnh sau khi nén so với ảnh gốc sẽ thế nào ? 5 . Áp dụng mã Huffman với: a. File rút ra từ phần 4. b. Chiều dài thay đổi và giá trị điểm chia bằng cách xem xét chúng nhưhai file. Có thể chuyển mã 1-D RLC sang mã 2 -D RLC b ằng cách kiểm tra các dòngtrước, hoặc kiểm tra bốn hướng khác nhau (trên, dưới, trái, phải). Các 2-DRLC này có thể nén ảnh ở mức độ cao hơn.13.4 Mã chuyển đổi Nhắc lại là biến đổi Fourier cho một ảnh th ì có ph ần lớn các giá trị lớn nhấtnằm ở miền tần số thấp. Mật độ các giá trị này giảm xuống nhanh chóng khitần số tăng lên. Tính chất này, tính chất mà chúng ta áp dụng để lọc ảnh, cũngđược áp dụng trong khi nén ảnh. Có một số phép biến đổi thuận tiện h ơn phépbiến đổi Fourier. Phép biến đổi tối ưu nhất là phép biến đổi được đề xuất bởiKarhunen-Loeve (KL). Tuy nhiên, phép biến đổi này tự nó không thể đ ưa racác bước tính toán nhanh hoặc hiệu quả h ơn. Một phép biến đổi xem có vẻgiống như biến đổi KL nhưng có thể tính toán như biến đổi Fourier rời rạc làphép biến đổi cosin rời rạc. Biến đổi cosin có một sự thay đổi nhỏ tối ưu hoátrong miền tập trung năng lượng so với biến đổi KL; nhưng do ưu điểm của kỹthu ật tính toán n ên nó được áp dụng như một tiêu chu ẩn trong kỹ thuật nénảnh. Phép biến đổi đ ược áp dụng trên toàn bộ ảnh nh ưng thông thường người tahay áp dụng trên các khối nhỏ hơn có kích thước 8  8 hoặc 16  16. Lý do là:1. Biến đổi của các khối nhỏ thì d ...

Tài liệu được xem nhiều: