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

Các thuộc tính của ảnh số part 3

Chia sẻ: Asg Ahsva | Ngày: | Loại File: PDF | Số trang:10

98
lượt xem
8
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. Hình 7.8 liệt kê các phần của các phép nội suy phổ biến nhất. 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....

Chủ đề:
Lưu

Nội dung Text: Các thuộc tính của ảnh số part 3

  1. remove("IFFT2.img"); printf("\nDone."); } 7.5.2 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. H×nh 7.8 liÖt kª c¸c phÇn cña c¸c phÐp néi suy phæ biÕn nhÊt. 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, v× vËy ta cã thÓ thu ®­îc cïng kÕt qu¶ nÕu ta ¸p dông liªn tiÕp hai phÐp néi suy vu«ng. Gi¶i thuËt chuyÓn ®æi nh÷ng sao chÐp c¬ b¶n theo bé läc th«ng thÊp sang ¶nh ®Ó cã ®­îc ¶nh tr¬n h¬n. KÕt hîp thùc hiÖn ba lÇn liªn tôc trªn ¶nh víi to¸n tö néi suy vu«ng t­¬ng ®­¬ng víi ¸p dông to¸n tö néi suy Bell. To¸n tö néi suy bËc 3 cã thÓ thu ®­îc nhê kÕt hîp phÐp néi suy vu«ng vµ Bell hoÆc kÕt hîp to¸n tö néi suy vu«ng bèn lÇn. Sö dông cïng kh¸i niÖm ®ã, chóng ta cã thÓ dÔ dµng cã ®­îc néi suy cao h¬n. H×nh vu«ng: 1 1 1 1 1 2 1 Tam gi¸c: 2 4 2 1 2 1 Bell 1331 3993 3993 1331 Cubic B-Spline 1 4 6 4 1 4 16 24 16 4 6 24 36 24 6 4 16 24 16 4 1 4 6 4 1 H×nh 7.8 C¸c phÐp néi suy th«ng th­êng. 145
  2. Nh÷ng kh¸i niÖm trªn cã thÓ ®­îc thùc hiÖn trong phÇn mÒm t­¬ng tù víi viÖc thùc hiÖn läc FIR. Bé ®Öm chuyÓn ®æi ¶nh kÝch th­íc N  (2  ®é réng cña ¶nh) ®­îc tËn dông, ë ®ã N = 2 cho to¸n tö néi suy vu«ng, N = 3 cho to¸n tö néi suy tam gi¸c, v.v... Mét hµng cña ¶nh ®­îc chuyÓn thµnh hµng cuèi cïng cña bé ®Öm chuyÓn ®æi ¶nh vµ l­u tr÷ t¹i c¸c vÞ trÝ kh¸c víi c¸c vÞ trÝ ë gi÷a ®Æt b»ng kh«ng. T­¬ng quan cña phÐp néi suy víi bé ®Öm truyÒn tíi ¶nh vµ dÞch chuyÓn hµng nh­ trong ph­¬ng ph¸p trong bé läc FIR, mét hµng cña c¸c gi¸ trÞ 0 ®­îc chuyÓn ®æi thµnh hµng cuèi cïng cña bé ®Öm chuyÓn ®æi ¶nh. Nh÷ng b­íc nµy ®­îc lÆp ®i lÆp l¹i cho nh÷ng phÇn cßn l¹i cña ¶nh, b»ng c¸ch lùa chän sù chuyÓn ®æi mét hµng tõ ¶nh theo mét hµng cña c¸c gi¸ trÞ 0. Thñ tôc thùc hiÖn thuËt to¸n nµy ®­îc cho trong ch­¬ng tr×nh 7.3. Ch­¬ng tr×nh 7.3 ENLARGE.C . /* This program doubles the dimensions of an image by interpolation. */ #include #include #include #include #include #include #include #include int SQUARE[2][2]={ { 1, 1 }, { 1, 1 }}; int TRIANGLE[3][3]= { { 1, 2, 1 }, { 2, 4, 2 }, { 1, 2, 1 } }; int BELL[4][4]={ { 1, 3, 3, 1 }, { 3, 9, 9, 3}, { 3, 9, 9, 3}, { 1, 3, 3, 1} } ; int CUBIC_B_SPLINE[5][5]={ { 1, 4, 6, 4, 1 }, { 4, 16, 24, 16, 4 }, 146
  3. { 6, 24, 36, 24, 6 }, { 4, 16, 24, 16, 4 } }; void main() { char file_name[14],ch; FILE *fptri,*fptro,*fptrt; double nsq; int image_length,image_width, N, N1,image_length2, image_width2,i,j,ind,xt,yt; unsigned int **a,n1,n2,k1,k2,sum,max,min,*bufft; unsigned char **w,*buffi,*buffo,*temp; float scale; clrscr(); printf("Enter file name for input image -->"); scanf("%s",file_name); fptri=fopen(file_name,"rb"); if(fptri==NULL) { printf("%s does not exist.",file_name); printf("\nPress any key to exit. "); getch() ; exit(1); } nsq=filelength(fileno(fptri)); printf("Is this a square image ?"); printf("\n i.e. Is image length =image width (y or no) ? -->"); while(((ch=tolower(getch()))!='y')&&(ch!='n')); putch(ch); switch(ch) { case 'y' : image_length=image_width=sqrt(nsq); printf("\n Image size = %d x %d",image_length, image_width); break; case 'n': printf("\nEnter image_width-->"); scanf("%d",&image_width); image_length=nsq/image_width; printf("Image length is %d", image_length); 147
  4. break; again : gotoxy(1,5); printf(" "); gotoxy(1,5); printf("Enter file name for enlarged image-->"); scanf("%s",file_name); if((stricmp("temp.img",file_name))==0) { printf("This is a reserved file name. Use some other name."); goto again; } gotoxy(1,6); printf ( " "); ind=access(file_name,0); while(!ind) { gotoxy(1,6); 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,6); printf ( " "); gotoxy(1,5); printf ( " "); gotoxy(1,5); printf("Enter file name -->"); scanf("%s",file_name); ind=access(file_name,0); } } fptro=fopen(file_name,"wb"); printf("\nEnter choice for interpolation \n"); printf(" 1.SQUARE. \n"); 148
  5. printf(" 2.TRIANGLE. \n"); printf(" 3.BELL. \n"); printf(" 4.CUBIC B-SPLINE. \n"); printf(" Enter choice (1,2,3 or 4) "); while(((ch=getche())!='l')&&(ch!='2') &&(ch!='3')&&(ch!='4')); N1=ch-48; N=N1+1 ; a=(unsigned int **)malloc(N*sizeof(int *)); for(i=0;i
  6. /*Allocating memory for input and output buffers.*/ buffi=(char *)malloc(image_width*sizeof(char)); buffo=(char *)malloc(image_width2*sizeof(char)); bufft=(unsigned int *)malloc(image_width2*sizeof(int)); fptrt=fopen("temp.img","wb+"); max=0; min=20000; xt=wherex(); yt=wherey(); gotoxy(70,25); textattr(WHITE+(GREEN
  7. rewind(fptrt); scale=(float)255.0/((float)(max-min)); for(i=0;i
  8. H×nh 7.9 Phãng to ¶nh "CAMEL.IMG" dïng ph­¬ng ph¸p gÇn ®óng. Bµi tËp 7.1 1.T×m kiÕm vµ ph©n tÝch tµi liÖu cña H.S.Hou vµ H.C.Andrews. Trªn c¬ së ®ã, viÕt ch­¬ng tr×nh C cho phÐp phãng to, thu nhá ¶nh dïng c¸c to¸n tö bËc 3. 2.VÊn ®Ò vÒ miÒn tÇn sè còng ®­îc ®Ò cËp bëi T.C.Chen vµ R.J.P.De Figueiredo. §äc vµ ph©n tÝch tµi liÖu ®ã. 152
  9. H×nh 7.10 ¶nh cña tia x. H×nh 7.11 Xö lý ¶nh h×nh 7.10 víi bé läc Wallis. Bµi tËp 7.2 153
  10. ViÕt ch­¬ng tr×nh C cho bé läc thèng kª Wallis. Cho phÐp ng­êi sö dông cã thÓ trung b×nh ¶nh ®Çu ra víi ¶nh gèc. Cho phÐp ng­êi sö dông nhËp bËc cña bé läc. KiÓm tra ch­¬ng tr×nh trªn ¶nh XRAY.IMG vµ RIBS.IMG cã s½n trªn ®Üa kÌm theo. 154
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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