Giáo trình xử lý ảnh y tế Tập 2 P8
lượt xem 4
download
Trong các ảnh, các vật thể đáng quan tâm thông thường được che hết bề mặt của ảnh. Vì thế, nếu các đối tượng trong nền không được cho độ phân giải dư thừa, các vật thể cận cảnh thông thường có đủ mẫu để cho phép dùng các định lý lấy mẫu.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Giáo trình xử lý ảnh y tế Tập 2 P8
- void bit_reversal(unsigned int *, int , int); void WTS(float *, float *, int, int); void FFT(float *xr, float *xi, float *, float *,int,int) ; void transpose(FILE *, int, int); void FFT2D(FILE *, FILE *, float *, float *, unsigned int *, int,int,int); void main() { int N,N1,m,n2,i,j,ii,jj,N2,k,norder,j1,ind,yt; unsigned int *L; float *wr,*wi,Do,theta,nsqrt,beta,alpha,sum1,sum2,T; FILE *fptri,*fptro,*fptr; float *buffi,*buffo,R2,H,nsq,win,slope,gamal,gamah; unsigned char file_name[14], ch,ch1,file_name1[14]; clrscr() ; p rintf("Freq.- response can be calculated using standard\n"); p rintf(" functions available to you if your reply to the\n"); p rintf(" following question is negative.\n"); p rintf("Is freq. response provided in a file? (y or n)-->"); while(((ch1=getche())!='y')&&(ch1!='n')); switch(ch1) { case 'n': case 'N': printf("\nEnter # of points to be generated (e.g. 32x32)-->"); scanf("%d%c%d",&N1,&ch,&N1); break; case 'y' : case 'Y ': printf("\nEnter name of file storing magnitude response-->"); scanf("%s",file_name1); fptr=fopen(file_name1,"r"); fscanf(fptr,"%d %d ",&N1,&N1); } N=N1>>1; yt=wherey(); again : gotoxy(1,yt); printf(" "); gotoxy(1,yt); printf("Enter file name for storing impulse response -->"); scanf("%s",file_name); 169
- if(((stricmp("FFT.DAT",file_name))==0)|| ((stricmp("TEMP.DAT",file_name))==0)|| ((stricmp("IFFT.DAT",file_name))==0)) { p rintf("This is a reserved file name. Use some other name."); goto again; } gotoxy(1,yt); printf( " "); ind=access(file_name,0); while(!ind) { gotoxy(1,yt+1); printf ( " "); gotoxy(1,yt+1); printf("File exists. Wish to overwrite? (y or n)-->"); while(((ch=tolower(getch()))!='y')&&(ch!='n')); putch(ch); switch(ch) { case 'y' : ind=1 ; break ; case 'n' : gotoxy(1,yt+1); printf ( " "); printf ( " "); gotoxy(1,yt); gotoxy(1,yt); printf("Enter file name -->"); scanf("%s",file_name); ind=access(file_name,0); } } fptri=fopen("FFT.DAT","wb+"); fptro=fopen("IFFT.DAT","wb+"); buffi=(float *)malloc((N1
- scanf("%f",&Do); Do=(Do/pi)*(float)N; printf("Enter choice (1,2,3,4 or 5):\n"); printf(" 1. Low-pass with abrupt transition.\n"); printf(" 2. High-pass with abrupt transition.\n"); printf(" 3. Low-pass Butterworth.\n"); printf(" 4. High-pass Butterworth.\n"); printf(" 5. Homomorphic characteristcs--->"); while(((ch=getche())!='l')&&(ch!='2') &&(ch!=13)&&(ch!='4')&&(ch!='5')); if(ch=='5') { p rintf("\nEnter gain at không freq.-->"); scanf("%f",&gamah); p rintf("Enter gain at high frequencies.-->"); scanf("%f",&gamah); slope=(gamah -gamal)/Do; } Do*=Do; if((ch=='3')||(ch=='4')) { printf("\n Enter order of Butterworth-->"); scanf("%d",&norder); for(i=0;i
- case '2': /* high-pass abrupt transition*/ if(R2
- /* Generate Look-up table for bit reversal. */ bit_reversal(L,m,N1); /* Allocating memory for twiddle factors. */ n2=N1 -1; wr=(float *)malloc(n2*sizeof(float)); wi=(float *)malloc(n2*sizeof(float)); /* Generating twiddle factor. */ WTS(wr,wi,N1,1); clrscr() ; FFT2D(fptri,fptro,wr,wi,L,N1,m,1); remove("FFT.DAT"); clrscr() ; fptri=fopen("IFFT.DAT","rb"); fptro=fopen(file_name,"wb+"); nsq=(float)(N1*N1); buffo=(float *)malloc(N1*sizeof(float)); for(i=0;i
- ii=(i-N2)*(i-N2); fread(buffo,N1,sizeof(float),fptro); for(j=0;j
- sum2+=T*T; } win=sum2/sum1; buffo[j]*=win; break; } } fwrite(buffo,N1,sizeof(float),fptro); } } printf ("\nDo you wish to store data for 3-D plotting? (y o r n) -->"); while(((ch=getche())!='y')&&(ch!='n')); switch(ch) { case 'n': fclose(fptro); exit(1); case 'y': rewind(fptro); } printf("\nEnter file name for storing data for 3-D plotting ->"); scanf("%s",file_name); fptri=fopen(file_name,"w"); fprintf(fptri,"%d %d\n",N1,N1); fprintf(fptri,"%e",(float)0.0); for(i=0;i
- theo này, chúng ta sẽ nghiên cứu cách sử dụng tốt nhất đáp ứng xung trong thiết kế bộ lọc IIR dùng các phương pháp Shanks. Rõ ràng chúng ta có khả năng được chọn từ: 1 . Dùng bốn góc phần tư của đáp ứng xung với điểm (0,0) nằm ở tại trung tâm của m iền. 2 . Dịch chuyển các trục để (0,0) nằm ở góc cao bên trái. (Hình 9.3a) 3 . Tính đáp ứng xung từ góc phần tư nằm ở bên phải phía dưới. (Hình 9.3a) 4 . Dịch chuyển các trục một đoạn đủ lớn để bao khối lớn nhất của đáp ứng xung. (Hình 9.3b). Đáp ứng xung mong muốn được trích ra từ miền gạch chéo trong hình 9.3b. Lựa chọn đầu tiên yêu cầu chúng ta phải chuyển h àm truyền đạt dưới dạng : M m’ o ffset m’ (0,0) (0,0) o ffset m m M o ffset o ffset n’ n Một phần tư n’ n mặt phẳng . (a) (b) Hình 9.3 (a) Chọn một phần tư hay góc phần tư thứ tư. (b) Chọn miền lớn h ơn bao gồm những giá trị trội trong đáp ứng xung. N N aij z1 i z2 j i N j N (9.24) H ( z1 , z 2 ) N N bij z1 i z2 j i N j N Chú ý rằng nếu bạn nhân biểu thức (9.24)với z1Nz2N, chúng ta sẽ chuyển hàm truyền đạt thành một hệ thống nhân quả. Dù thế nào đi chăng nữa tính không nhân quả có nghĩa là điều kiện khởi đầu khác 0 và điều này cũng chỉ ra 176
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình xử lý ảnh y tế Tập 1a P1
11 p | 774 | 25
-
Giáo trình xử lý ảnh y tế Tập 1a P17
10 p | 670 | 17
-
Giáo trình xử lý ảnh y tế Tập 1b P1
8 p | 136 | 16
-
Giáo trình xử lý ảnh y tế Tập 1b P15
8 p | 142 | 13
-
Giáo trình xử lý ảnh y tế Tập 1b P5
8 p | 154 | 13
-
Giáo trình xử lý ảnh y tế Tập 1b P3
8 p | 127 | 13
-
Giáo trình xử lý ảnh y tế Tập 4 P18
6 p | 341 | 11
-
Giáo trình xử lý ảnh y tế Tập 1a P15
10 p | 695 | 11
-
Giáo trình xử lý ảnh y tế Tập 1b P4
8 p | 122 | 10
-
Giáo trình xử lý ảnh y tế Tập 1b P2
8 p | 124 | 10
-
Giáo trình xử lý ảnh y tế Tập 1b P16
8 p | 110 | 10
-
Giáo trình xử lý ảnh y tế Tập 4 P8
6 p | 144 | 9
-
Giáo trình xử lý ảnh y tế Tập 1a P4
11 p | 586 | 8
-
Giáo trình xử lý ảnh y tế Tập 3 P7
9 p | 98 | 7
-
Giáo trình xử lý ảnh y tế Tập 1b P14
8 p | 107 | 7
-
Giáo trình xử lý ảnh y tế Tập 4 P5
6 p | 136 | 6
-
Giáo trình xử lý ảnh y tế Tập 2 P15
8 p | 115 | 5
-
Giáo trình xử lý ảnh y tế Tập 3 P13
9 p | 109 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn