Danh mục

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

Số trang: 10      Loại file: pdf      Dung lượng: 607.19 KB      Lượt xem: 11      Lượt tải: 0    
Hoai.2512

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

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....
Nội dung trích xuất từ tài liệu:
Các thuộc tính của ảnh số part 3 remove(IFFT2.img); printf( Done.); }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Ýchthí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ñac¸c phÐp néi suy phæ biÕn nhÊt. Gi¶i thuËt néi suy vu«ng lµ thao t¸c saochÐ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ªntiÕ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îpthù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 ®¬ngvíi ¸p dông to¸n tö néi suy Bell. To¸n tö néi suy bËc 3 cã thÓ thu ®îcnhê kÕt hîp phÐp néi suy vu«ng vµ Bell hoÆc kÕt hîp to¸n tö néi suyvu«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 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Ónthµnh hµng cuèi cïng cña bé ®Öm chuyÓn ®æi ¶nh vµ lu 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 suyvíi bé ®Öm truyÒn tíi ¶nh vµ dÞch chuyÓn hµng nh trong ph¬ng ph¸ptrong bé läc FIR, mét hµng cña c¸c gi¸ trÞ 0 ®îc chuyÓn ®æi thµnh hµngcuèi cïng cña bé ®Öm chuyÓn ®æi ¶nh. Nh÷ng bíc nµy ®îc lÆp ®i lÆpl¹i cho nh÷ng phÇn cßn l¹i cña ¶nh, b»ng c¸ch lùa chän sù chuyÓn ®æimé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Ëtto¸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 animage 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 { 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( Press any key to exit. ); getch() ; exit(1); }nsq=filelength(fileno(fptri));printf(Is this a square image ?);printf( 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( Image size = %d x %d,image_length, image_width); break; case n: printf( Enter image_width-->); scanf(%d,&image_width); image_length=nsq/image_width; printf(Image length is %d, image_length); 147 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) ...

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

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