Giáo trình xử lý ảnh y tế Tập 2 P12
lượt xem 5
download
Giải thuật nội suy vuông là thao tác sao chép trong đó những điểm ảnh về cơ bản được sao chép vào những vị trí rỗng. Có thể thu được toán tử nội suy tam giác nhờ sự kết hợp hai toán tử nội suy vuông,
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 P12
- /* This program is for eN1arging images using 2 -D iir filters. The filter's coefficients can be obtained from iird.exe or iirditer.exe. */ #include #include #include #include #include #include #include #include void main() { FILE *fptri,*fptro,*fptrt; unsigned char *buff,**wx,ch,*temp1; double nsq; float **wy,**a,**b,*temp2,*bufft; float max,min,scale,tt; int n,m,image_length,image_width,i,j,N,N1,ind; int true_length,true_width,yt,k; char file_name[14]; clrscr(); printf("Enter file name for image-->"); scanf("%s",file_name); fptri=fopen(file_name, "rb"); if(fptri==NULL) { p rintf("No such image file exists.\n"); exit(1); } nsq=(double)filelength(fileno(fptri)); printf("Is image length equal to image width ? (y or n)-->"); while(((ch=getche())!='y')&&(ch!='n')); switch(ch) { case 'y' : image_length=image_width=(int)sqrt(nsq); break; case 'n': printf("\nEnter image_width-->"); scanf("%d",&image_width); 201
- image_length=(int)(nsq/(float)image_width); } printf("\n Image size %dx%d. " , image_length, image_width); printf ( "\nEnter file name for filter's coefficients-->" ) ; scanf("%s",file_name); fptro=fopen(file_name,"r"); if(fptro==NULL) { p rintf("\nNo such file exists.\n"); exit(1); } Hình 9.12 Bộ lọc nội suy đáp ứng tần số kích thước 2 2 thiết kế từ đáp ứng vuông với miền chuyển tiếp dốc và c = 1 .4. fscanf(fptro," %d",&N); printf("IIR filter has an order of %dx%d.",N,N); N1=N+1; /* Allocating memory space. */ a=(float **)malloc(N1*sizeof(float *)); for(i=0;i
- for(i=0;i
- break; case 'n': gotoxy(1,yt+1); printf(" "); gotoxy(1,yt); printf(" "); gotoxy(1,yt); printf("Enter file name -->"); scanf("%s",file_name); ind =access(file_name,0); } } fptro=fopen(file_name,"wb"); fptrt=fopen("temp.imq","wb+"); /* Clearing input and output image transfer buffers. */ for(i=0;i
- { wy[0][m]=(float)0.0; for(i=0;i
- } fwrite(buff,2*image_width,1,fptro); } fclose(fptri); fclose(fptro); fclose(fptrt), remove("temp.img"); } Bài tập 9.4 Ch ạy thử chương trình 9.4 trên ảnh "CAMEL.IMG" và "MAHER.IMG" sử dụng: 1 . Bộ lọc IIR thông thấp đáp ứng vuông với c = /2.0. 2 . Bộ lọc thông thấp đối xứng tuần hoàn với c = /2.0. Đầu tiên dùng đáp ứng có miền chuyển tiếp dốc, và sau đó dùng hàm Butterworth. So sánh kết quả với phương pháp FFT được mô tả trong chương 7. Chú ý: Để thiết kế đ ược bộ lọc trước tiên b ạn cần chạy "IMPULSE.EXE" theo "IIRD.EXE". Với đáp ứng vuông bạn sẽ cần phải hoặc là thêm một số thay đ ổi vào chương trình hoặc là viết một chương trình riêng để sinh và lưu trữ dữ liệu biên độ tần số trong một file. Ch ương trình IMPULSE.C cho phép đọc dữ liệu được sinh ra từ bên ngoài. Một chương trình mẫu để sinh ra dữ liệu phù hợp với IMPULSE.C được cho trong chương trình 9.5. Chương trình 9.5 “GEN-DATA.C”. Chương trình mẫu tạo tạo dữ liệu đáp ứng tần số cho “IMPULSE.C”. /* Program 9.5 "GEN-DATA.C". Sample program for generating frequency- response data for "IMPULSE.C". */ #define pi 3.141592654 #include #include main() { int i,j,ii,jj,N,N1,kk; float Do,H; FILE *fptr; 206
- char file_name[14]; clrscr(); printf ("\nEnter number of data points to be generated (e.g. 32x32)-->"); scanf("%dx%d",&N1,&N1); printf("Enter file name for storing mag. response-->"); scanf("%s",file_name); fptr=fopen(file_name,"w"); N=N1/2; printf ( "Enter cut-off ( less than pi )-->"); scanf("%f",&Do); kk=(int)((Do/pi)*(float)N); kk*=kk; H ình 9.13 Đáp ứng tần số của bộ lọc nội suy 2 2 từ đáp ứng hình vuông với m iền chuyển tiếp dốc và c = 1.4. fprintf(fptr,"%d %d ",N1,N1); for(i=0;i
- else H=0.0; fprintf(fptr,"%f ",H); } } fclose(fptr); } Trư ớc khi kết thúc chương này chúng ta sẽ thiết kế lại bộ lọc của h ình 9.12 sử dụng thay cho bộ lọc FIR. Đáp ứng biên độ tần số của bộ lọc FIR kích thước 5 5 sử dụng cửa sổ Blackmann đ ược chỉ trên hình 9.13. Rõ ràng là giải chuyển đổi có độ dốc hơn nhiều so với hình 9.12. Bộ lọc FIR 5 5 có 25 hệ số so với 17 hệ số của bộ lọc FIR kích th ước 2 2. Mặc dù vậy bộ lọc FIR có nhiều lợi thế so với bộ lọc IIR, chúng linh động hơn và có bậc cao hơn nhiều. Vấn đề khó khăn của bộ IIR là độ ổn định không được bảo đảm, và pha tuyến tính thực sự là không có thể. Tuy nhiên, phương pháp được mô tả trong chương này, mặc dù không đ ảm bảo tính ổn định, nhưng dường như ổn định với pha gần tuyến tính. Bài tập 9.5 Viết ch ương trình đ ể nhân đôi độ phân giải ảnh sử dụng bộ kiểu lọc FIR, dùng phương pháp được mô tả trong mục 9.8. Bài tập 9.6 Lặp lại b ài tập 9.4 dùng bộ lọc FIR để thay thế. Thử những hàm cửa sổ khác nhau. Bài tập 9.7 Đảo ngược từng bước giải thích trong phần này để thu được sự thay đổi ảnh. Điều n ày rất hữu ích ch o ứng dụng TV trong đó chúng được biết như ảnh trong ảnh, ở đó một ảnh nhỏ đặt lên trên một ảnh lớn trên màn hình hiển thị của một kênh khác. Bạn sẽ cần phải đảo lọc, và bộ lọc đảo có thể không ổn định. Nếu đây là m ột vấn đề bạn cần phải thiết kế một bộ lọc m ới để xấp xỉ bộ lọc thông cao miền chuyển tiếp dốc với đối xứng vuông, và một vài kết quả ở tần số 0,0. Sau khi lọc, các điểm khác và các dòng khác đ ược sử dụng để hiển thị ảnh. Bài tập 9.8 Tham kh ảo 5 (trang 482- 483) cung cấp bộ lọc nội suy 2 -D cho việc phóng đại ảnh. Tận dụng bộ lọc IIR trình bày trên trang đó và so sánh kết quả. Tác giả cũng đề nghị rằng bộ lọc nội suy theo bộ lọc thông cao. Thực hiện lời đề 208
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Xử lý ảnh số - Những nguyên lý cơ bản part 5
2 p | 161 | 26
-
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 | 135 | 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 1b P4
8 p | 122 | 10
-
Giáo trình Xử lý ảnh y sinh (Ngành Kỹ thuật y sinh): Phần 1
138 p | 46 | 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 1a P4
11 p | 586 | 8
-
Giáo trình xử lý ảnh y tế Tập 4 P2
7 p | 98 | 7
-
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 sinh (Ngành Kỹ thuật y sinh): Phần 2
115 p | 22 | 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
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