intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Cinny Cinny | Ngày: | Loại File: PDF | Số trang:8

89
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nhân đôi độ phân giải trên ảnh dùng phép nội suy không gian: Trong phương pháp này ảnh đầu tiên được chứa lên một mảng có kích thước 2N - 2N với tất cả các hàng và các cột được xoá về không. ảnh được chiếu lần lượt với các phép nội suy.

Chủ đề:
Lưu

Nội dung Text: Giáo trình xử lý ảnh y tế Tập 2 P11

  1. char file_name[14]; clrscr(); printf("Enter file name for image-->"); scanf("%s",file_name); fptri=fopen(file_name,"rb"); if(fptri==NULL) { printf("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); 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); } 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
  2. for(i=0;i
  3. printf("Enter file name -->"); scanf("%s",file_name); ind=access(file_name,0); } } fptro=fopen(file_name, "wb"); fptrt=fopen( "temp.img","wb+"); /* Clearing input and output image transfer buffers. */ for(i=0;i
  4. /* Shifting. */ temp1=*(wx+N); for(i=0;i
  5. H ình 9.9 ảnh chụp x quang lồng ngực. H ình 9.10 ảnh lồng ngực sau khi được làm nổi. 197
  6. Bài tập 9.2 Sử dụng ảnh "CAMEL.IMG" thu được trong chương 8 và áp dụng bộ lọc thông cao 2-D đư ợc thiết kế để xấp xỉ h àm Butterworth. Dùng n = 1 và n = 2 cho hàm Butterworth, và c = 0.6, 0.8 và 1.0. So sánh kết quả với kết quả thu được trong chương 8. Kiểu bộ lọc nào, IIR hay FIR, bạn nghĩ có thể được sử dụng để cho ảnh kết quả rõ hơn với cùng số hệ số, tại sao? Bài tập 9.3 Chương trình 9.4 đưa ra mã và giải thuật hiệu quả hơn những chương trình được viết cho bộ lọc FIR, ví dụ chương trình 3.1 (FIR.C) và 3.2 (FIRSYM.C). Nguyên nhân thứ nhất là trong chương trình 9.3 chúng ta sử dụng fread thay cho fgetc trong chương trình 3.1 và 3.2. Nguyên nhân thứ hai là mỗi một dòng ảnh mới được chuyển đổi thành dòng đầu tiên của bộ chuyển đổi ảnh vào thay thế cho dòng cuối cùng như chúng ta đã làm trong chương trình 3.1 và 3.2. Điều này có khuynh hư ớng đơn giản hoá công thức đệ qui sử dụng trong giải thu ật. Viết lại ch ương trình 3.1 và 3.2 bằng cách thực hiện hai thay đổi này. Kiểm tra chương trình đã được viết lại và so sánh thời gian chạy. 9.8 Nhân đôi ảnh dùng bộ lọc IIR Trong phần n ày chúng ta sẽ tận dụng một phép tiếp cận xen kẽ để nhân đôi độ phân giải ảnh thay cho các ph ương pháp chúng ta đã nghiên cứu trước đây. Phép tiếp cận này cũng giống nh ư cách tiếp cận FFT trong chương 7. Giải thu ật bao gồm các bước sau : 1 . Nhân đôi ảnh bằng cách sao chép các điểm và các đường nằm ngang, ví dụ, mỗi điểm được đọc từ bộ đệm ảnh được sao chép vào hai vị trí liên tục trên bộ đệm nhập vào của thuật toán, và tất cả các dòng nằm ngang được sao chép. Điều này bao gồm cả việc làm tăng chu kỳ lấy mẫu dòng và mành b ằng cách nhân đôi giá trị của nó.Nếu TH = TV = T, thì trong ảnh mới phải có chu kỳ lấy mẫu là 2T theo mọi hướng. Bước này tương đương với áp dụng h àm nội suy hình vuông trong chương 7, hình 7.8. Trong miền tần số, phóng đại ảnh bằng bản sao có phổ tần số được mô tả bằng một miền chữ nhật       1   2        2T 2T   2T 2T  Phổ này, như chúng ta đ ã biết, là tu ần hoàn hai chiều . 2 . Cho ảnh đã phóng qua bộ lọc thông thấp có đặc tuyến tần số biên độ như hình 9.11b. Điều này tương đương việc cộng các không vào phổ tần số như đã làm trong cách tiếp cận nội suy biến đổi Fourier. 198
  7. 3 . ảnh phóng đại được rút ra giống như cách rút ra ảnh từ cách tiếp cận FFT. Các bư ớc trên đòi hỏi phải thiết kế bộ lọc thông thấp kiểu đáp ứng hình vuông. Chúng ta có th ể thay đổi chương trình 9.1 đ ể tính đáp ứng xung của bộ lọc thông thấp đáp ứng hình vuông. Điều n ày có thể dùng với ch ương trình 9.2 và 9.3 thiết kế bộ lọc đáp ứng h ình vuông IIR. Bạn cũng có thể dùng hai bộ lọc IIR 1 -D thiết kế bất kỳ kiểu bộ lọc nào trong tham khảo 3. Một bộ lọc 1-D ph ải là hàm của z1 và bộ lọc còn lại là hàm của z2. Một bộ lọc đáp ứng hình chữ nhật thông thấp được trình bày ở h ình 9.12. Bộ lọc đ ược thiết kế dùng chương trình 9.1 và 9.2. Bộ lọc kích thước 2  2 với c=1.4 và được thiết kế đáp ứng hình chữ nhật. Phương pháp lặp được dùng để rút ra một xấp xỉ tốt hơn (ba lần lặp). Các hệ số của bộ lọc cho ở bảng 9.3. Thay đổi ch ương trình 9.3 để phóng đại ảnh dùng các bước trên qua sự sao chép và sau đó sử dụng bộ Mçi ®iÓm ¶nh tõ ¶nh gèc ¸nh x¹ vµo 4 khu vùc T 2T Chu kú lÊy mÉu = T Chu kú lÊy mÉu = 2T lọc thông thấp IIR đ ược cho ở chương trình 9.4. 2 2   T T 0 1 1 1      T T 2T T T 2T   T T Miền mô tả phổ tín Đặc tính biên độ tần (a) hiệu của ảnh gốc số của bộ lọc nội suy 199 2 H (1 ,  2 )  2T
  8. H ình 9.11 (a) Phóng đại ảnh dựa trên các điểm ảnh riêng biệt; (b) Bộ lọc nội suy. Bảng 9.3 Các hệ số của bộ lọc có đáp ứng chỉ trên hình 9.12 a b 0.100672 1.000000 0.084601 - 0.628831 0.046073 0.402671 0.084601 - 0.628844 0.086782 0.577022 0.058304 - 0.346921 0.046072 0.402674 0.058302 - 0.346920 0.050166 0.221563 Chương trình dư ới đây viết theo thuật toán lọc ảnh ở phần 9.7. Chương trình 9.4 “ENLGIIR.C”. Chương trình phóng to ả nh sử dụng bộ lọc OR thông thấp. /* Program 9.4 "ENLGIIR.C". Program for enlarging an image using OR low-pass filters. */ 200
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2