Danh mục

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

Số trang: 9      Loại file: pdf      Dung lượng: 214.23 KB      Lượt xem: 8      Lượt tải: 0    
Thư viện của tui

Phí tải xuống: 1,000 VND Tải xuống file đầy đủ (9 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Chương trình cho ở dưới đây chỉ làm việc trên vỉ mạch ATI PIB đã được đềcập đến trong chương 11. Bạn có thể sửa đổi làm cho nó tương thích với các phầncứng thông dụng; các sửa đổi này không có gì là khó khăn lắm. Chương trình nàycó sử dụng chuột. Nếu bạn có vỉ mạch ATI PIB , đầu tiên bạn cần nạp một ảnhtrên màn hình PIB.
Nội dung trích xuất từ tài liệu:
Giáo trình xử lý ảnh y tế Tập 3 P14 k=0; LK=1; for(iter=1;iter NK21; for(i=1;i T=x[N-1]; k=1; for(j=kk;j { int i,j,k1,k2,N,N1,NB,NS; float *buff,nsq; FILE *fptr; char file_name[14]; int ch; clrscr(); printf(Enter input file name containing 2-D FCTresult.-->); scanf(%s,file_name); fptr=fopen(file_name,rb); if(fptr==NULL) { printf( No such file exists. ); exit(1); }nsq=(float)filelength(fileno(fptr));N=sqrt((double)(nsq/sizeof(float)));printf( Enter block size used (8x8, 16x16, etc.)-->);scanf(%dx%d,&NB,&NB);N1=N/NB;NS=NB*N;buff=(float *)malloc(NS*sizeof(float));printf( Press ESC to exit.);clrscr();for(i=0;i } clrscr(); gotoxy(1,1); } }fclose(fptr) ; } } Một mẫu của 2 -D FCT từ một khối rút ra từ ảnh IKRAM.IMG giới thiệutrong hình 13.13. Các thành ph ần một chiều (các khối có tần số 0,0) có giá trịlớn nhất. Thành phần n ày biểu diễn giá trị trung bình của khối. Các th ành phầnkhác (được hiểu là các thành phần xoay chiều) phải có các giá trị nhỏ hơn.13.4.2 Sự phóng to và sự thu nhỏ của các ảnh Một trong các ứng dụng của FCT là thay đổi kích thước của ảnh, bao gồmsự phóng to và sự thu nhỏ ảnh. Chúng ta sẽ chấp nhận rằng một ảnh phóng todùng FCT thì sẽ không có gì khác so với một ảnh phóng to dùng FFT, trong đóta dùng các thuộc tính vốn có của FFT của ảnh. Toàn bộ ý tư ởng là ta sẽ chiatần số lấy mẫu bên trong với 2 và như vậy sẽ tăng gấp đôi khoảng cách tần số.Khi FCT của một khối giảm rất nhanh kể từ điểm tần số (0,0), chúng ta có thểnhân đôi khoảng cách tần số bằng cách thêm vào các điểm 0. Điều này làmcho chúng ta giảm đư ợc một nửa tần số lấy mẫu b ên trong và tăng gấp đôi kíchthước của ảnh. Vì vậy trong tương lai, kỹ thuật truyền hình phải sử dụng kỹthu ật ảnh số, thì tính chất này có thể giúp cho ta tạo ra đư ợc các tivi có m ànảnh rộng. Sự thu nhỏ thực hiện bằng cách bớt đi các giá trị của tần số cao. Chương trình sau đ ây sẽ phóng to của một ảnh. Chương trình này yêu cầuFCT của một ảnh và kích thước của các khối trên ảnh gốc. Kết quả chạychương trình này là một ảnh có kích thư ớc gấp đôi. Chương trình 13.8 IFCT2DX.C. Chương trình phóng to ả nh gấp đôidùng 2 -D FCT./*Program 13.8 IFCT2DX.C. Program for imagedoubling using the 2-D FCT.The 2-D FCT of the image is the input file.*//* This program is for carrying out the inverseof the 2-D Fast Cosine Transform.It doubles the size of the image at the same time.*/#define PI 3.14159 361#include #include #include #include #include #include void IFCT(float *, unsigned int *, float *, int ,int );void bit_reversal(unsigned int *, int , int );void WTSINV(float *,int, int);void main() { int m,N,i,j,k1,k2,NB,NS,N1,NB1,m1,NT,NT1,k; float *x,*C,**w; unsigned int *L; double nsq; FILE *fptri,*fptro; char file_name[14]; float *buffi; unsigned char *buffo; clrscr(); printf (This program is for the inverse 2-D FCT. ) ; printf(It doubles the size of the image at thesame time.); printf( Enter name of input file --- > ) ; scanf(%s,file_name); fptri=fopen(file_name,rb); if(fptri==NULL) { printf( No such file exists. ); exit(1); }nsq=(double)filelength(fileno(fptri)); /*--------------------- Assume image is square. -----------------------*/N=(int)sqrt(nsq/sizeof(float));m=(int)(log10((double)N)/log10((double)2.0));k=1;for(i=0;i k { for(k1=0;k1trị từ 0 đến 255. Tuy vậy, chúng ta không bao giờ để ý đến các giá trị này. Lýdo là các giá trị n ày bản thân nó không có ý nghĩa gì cả. Cái mà chúng ta thậtsự quan tâm là biểu diễn dư ới dạng nhị phân của giá trị cư ờng độ sáng tín hiệulấy mẫu. Tất cả các bít biểu diễn khoảng của tín hiệu chói. Nếu tín hiệu chóicó giá trị trong khoảng từ giá trị nhỏ nhất yL cho đ ến giá trị lớn nhất yu, thì hàmlượng tử hoá sẽ chia tín hiệu ra thành N miền và gán cho m ỗi miền một giá trịnh ị phân như trong h ình 13.14. Sự biểu diễn n ày không có ý nghĩa gì về mặtvật lý, và chức năng của sự biểu diễn n ày, như chúng ta muốn, chỉ dùng tronglĩnh vực xử lý tín hiệu số. Tất cả các tín hiệu số này gọi là đ iều mã xung (PulseCode Modulated - PCM). Để có thể thực sự thấy giá trị các mức xám chúng tacần lượng tử hoá ngược. Trong b ước này, các giá trị nhị phân biểu d iễn một độchói cụ thể. Các bước thực sự của quá trình này biểu diễn trong hình 13.15.Trong lĩnh vực tương tự và lĩnh vực số quá trình này gọi là chuyển đổi từtương tự sang số (A/D) và chuyển đổi từ số sang tương tự (D/A). Trong các ứng dụng như trường hợp biến đổi cosin 2 -D thì có một chútkhác biệt. Cái m à chúng ta cần làm trong trường hợp n ày là biến đổi từ một tậphợp các dấu phẩy động sang một tập hợp các bít nhị phân và ngược lại. Biểu vìbiến đổi ngược của lượng tử hoá là biến đổi từ nhiều vào một, ...

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

Gợi ý tài liệu liên quan: