Xử lý ảnh màu part 4
Số trang: 7
Loại file: pdf
Dung lượng: 177.89 KB
Lượt xem: 14
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tham khảo tài liệu xử lý ảnh màu part 4, kỹ thuật - công nghệ, điện - điện tử phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Xử lý ảnh màu part 4 vµ cho {i = 0 ®Õn 7} { tÝnh : line = m[i]*x + c[i] - y nÕu (line < 0) th× l[i] = 1 nÕu kh«ng th× l[i] = 0 } Tõ h×nh 11.10 ta cã thÓ tÝnh mµu s¾c cña mét ®iÓm dùa trªn gi¸ trÞ bªntrªn cña l[i]; {i = 0 ®Õn 6} theo c¸c bíc: if (circ < 0) color = white else if (l[0]) = 1 and l[6] = 1) color = green else if (l[0]) = 0 and l[1] = 1) color = yellow else if (l[1]) = 0 and l[2] = 1) color = skin tone else if (l[2]) = 0 and l[3] = 1) color = red else if (l[3]) = 0 and l[4] = 1) color = magenta else if (l[4]) = 0 and l[5] = 1) color = blue else if (l[5]) = 1 and l[6] = 0) color = cyan KÕt qu¶ trªn m« t¶ mét líp mµu mµ cã thÓ dïng lùa chän söa l¹i s¾ccña mét mµu ®Æc biÖt mµ kh«ng lµm ¶nh hëng ®Õn c¸c mµu cßn l¹i trªn¶nh nh sau:1. Chän mét s¾c mµu hoÆc lµ c¸c s¾c mµu mµ b¹n muèn söa trªn ¶nh.2. QuÐt ¶nh vµ dïng líp mµu ®Ó x¸c ®Þnh liÖu mét ®iÓm cã thuéc vÒ s¾c mµu ®· ®îc lùa chän.3. NÕu mét ®iÓm kh«ng thuéc s¾c mµu lùa chän, th× cho phÐp hiÓn thÞ th¼ng lªn mµn h×nh mµ kh«ng cÇn cã mét sù thay ®æi nµo. Dï thÕ nµo ®i ch¨ng n÷a, nÕu nã thuéc vÒ s¾c mµu lùa chän, th× thay ®æi ®· ®îc lµm ®èi víi ®iÓm nµy lµ nã ®îc ph¶n x¹ víi s¾c mµu tù nhiªn nhiÒu h¬n. C¸c bíc trªn thÓ hiÖn trong h×nh 11.11. Líp mµu giíi thiÖu h×nh11.11 cho gi¸ trÞ 1 cho chØ mét trong sè 7 ®Çu ra cña s¾c mµu mµ ®iÓm 257¶nh nµy thuéc vÒ, c¸c ®Çu ra cßn l¹i cã gi¸ trÞ 0. TÝn hiÖu ra cña s¾c mµulùa chän lµ mét m¹ch logic OR vµ lµm chuyÓn m¹ch ®êng dÉn tÝn hiÖucña ®iÓm ¶nh. Nã cã thÓ ®i qua bé läc söa l¹i mµu hoÆc ®i th¼ng ra mµnh×nh. Gi¶i thuËt nµy cho ë ch¬ng tr×nh 11.7. Ch¬ng tr×nh 11.7 ADJUST.C ch¬ng tr×nh söa l¹i s¾c mµucña mét sè s¾c mµu ®Æc biÖt cã lùa chän./* This program illustrastes the procedurefor selective color adjustment for images usingcolor tones derived from the chromaticitydiagram. */#include #include #include #include #include #include #define sqr(x) ((x)*(x)) Lôc Vµng Skin tone ¶nh mµu vµo B é ph©n mµu §á §á t¬i Lam Xanh 0 0 ¶nh ®iÒu chØnh lùa chän mµu. HÖ thèng ®iÒu chØnh mµu hoÆc bé 1 1 läc 258 H×nh 11.11 §iÒu chØnh s¾c mµu cã lùa chän.#define white (circprintf(Is this a square image ?);printf (\n i.e. Is image_length=image_width (y or n)? -> );while(((ch=(char)getche())!=y)&&(ch!=n));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); } yt=wherey(); again: gotoxy(1,yt+1);printf (Enter file name for saving color adjusted image.-->); scanf(%s,file_name); if(access(file_name,0)==0) { printf(File exists. Wish to overwrite? (y or n)-->); while(((ch=tolower(getch()))!=y)&&(ch!=n)); putch(ch); switch(ch) { case y : break; case n : gotoxy(1,yt+1); delline(); goto again; } }fptro=fopen(file_name,wb);printf(\n For selected color tone(s) enter:); 260printf(\n Change in Red primary ---->);scanf(%d,&dR);printf(Change in Green primary-->);scanf(%d,&dG);printf(Change in Blue primary --- >);scanf(%d,&dB);buff=(unsigned int *)malloc(image_width*sizeof(int));gotoxy(70,25);textattr(WHITE+(GREEN 10; X=2.7690*R+1.7518*G+1.1300*B; Y=R+4.5907*G+0.0601*B; Z=0.0565*G+5.5943*B; D=X+Y+Z ; if(D==(float)0.0) continue; else { x=X/D; y=Y/D;circ=sqr(x-0.333)+sqr(y-0.333)-sqr(r); for(j=0;j }if(condition) { R1=R; G1=G; B1=B; if((((R1+dR)>=0)&&((R1+dR)=OM((G1+dG)=0&&((B1+dB)mét file mµ b¹n ®Þnh nghÜa lóc b¾t ®Çu ch¬ng tr×nh. Chó ý r»ng chØ cãníc da vµ khu vùc mµu ®á ®îc chØnh söa, vµ nh÷ng phÇn kh¸c cña ¶nhkh«ng bÞ ¶nh hëng. Mµu da rÊt gièng víi mµu da tù nhiªn cña t«i. NÕub¹n muèn b¹n cã thÓ lµm ch¬ng tr×nh thÓ hiÖn sù liªn hÖ vµ cho phÐpthay ®æi R,G,B thùc hiÖn qua c¸c phÝm mòi tªn vµ c¸c phÝm + vµ -,ch¬ng tr×nh nµy ®· ®îc lµm cã tªn DISPPIB.C. Ch¬ng tr×nh 11.7 ®ång nhÊt mµu cña mçi ®iÓm ®éc lËp riªng biÖt víic¸c ®iÓm l©n cËn cña nã. V× vËy mét ®iÓm b¶n th©n nã kh«ng ®Þnh nghÜamµu cña khu vùc, sÏ lµ tèt h¬n khi lÊy gi¸ trÞ trung b×nh trªn c¸c ®iÓm¶nh xung quanh ®iÓm ®ã. Gi¸ trÞ trung b×nh nµy dïng ®Ó ®ång nhÊt lípmµu cho ®iÓm ®ã. Ph¬ng ph¸p xÊp xØ ®îc dïng ®Ó kiÓm tra c¸c ®iÓml©n cËn cña mçi ®iÓm, vµ x¸c ®Þnh râ mµu c¬ b¶n cña nã dùa trªn c¸cmµu cña nh÷ng ®iÓm l©n cËn. VÝ dô viÖc trén gi÷a mµu ®á vµ xanh da trêicho ta mµu n©u, ®ã ...
Nội dung trích xuất từ tài liệu:
Xử lý ảnh màu part 4 vµ cho {i = 0 ®Õn 7} { tÝnh : line = m[i]*x + c[i] - y nÕu (line < 0) th× l[i] = 1 nÕu kh«ng th× l[i] = 0 } Tõ h×nh 11.10 ta cã thÓ tÝnh mµu s¾c cña mét ®iÓm dùa trªn gi¸ trÞ bªntrªn cña l[i]; {i = 0 ®Õn 6} theo c¸c bíc: if (circ < 0) color = white else if (l[0]) = 1 and l[6] = 1) color = green else if (l[0]) = 0 and l[1] = 1) color = yellow else if (l[1]) = 0 and l[2] = 1) color = skin tone else if (l[2]) = 0 and l[3] = 1) color = red else if (l[3]) = 0 and l[4] = 1) color = magenta else if (l[4]) = 0 and l[5] = 1) color = blue else if (l[5]) = 1 and l[6] = 0) color = cyan KÕt qu¶ trªn m« t¶ mét líp mµu mµ cã thÓ dïng lùa chän söa l¹i s¾ccña mét mµu ®Æc biÖt mµ kh«ng lµm ¶nh hëng ®Õn c¸c mµu cßn l¹i trªn¶nh nh sau:1. Chän mét s¾c mµu hoÆc lµ c¸c s¾c mµu mµ b¹n muèn söa trªn ¶nh.2. QuÐt ¶nh vµ dïng líp mµu ®Ó x¸c ®Þnh liÖu mét ®iÓm cã thuéc vÒ s¾c mµu ®· ®îc lùa chän.3. NÕu mét ®iÓm kh«ng thuéc s¾c mµu lùa chän, th× cho phÐp hiÓn thÞ th¼ng lªn mµn h×nh mµ kh«ng cÇn cã mét sù thay ®æi nµo. Dï thÕ nµo ®i ch¨ng n÷a, nÕu nã thuéc vÒ s¾c mµu lùa chän, th× thay ®æi ®· ®îc lµm ®èi víi ®iÓm nµy lµ nã ®îc ph¶n x¹ víi s¾c mµu tù nhiªn nhiÒu h¬n. C¸c bíc trªn thÓ hiÖn trong h×nh 11.11. Líp mµu giíi thiÖu h×nh11.11 cho gi¸ trÞ 1 cho chØ mét trong sè 7 ®Çu ra cña s¾c mµu mµ ®iÓm 257¶nh nµy thuéc vÒ, c¸c ®Çu ra cßn l¹i cã gi¸ trÞ 0. TÝn hiÖu ra cña s¾c mµulùa chän lµ mét m¹ch logic OR vµ lµm chuyÓn m¹ch ®êng dÉn tÝn hiÖucña ®iÓm ¶nh. Nã cã thÓ ®i qua bé läc söa l¹i mµu hoÆc ®i th¼ng ra mµnh×nh. Gi¶i thuËt nµy cho ë ch¬ng tr×nh 11.7. Ch¬ng tr×nh 11.7 ADJUST.C ch¬ng tr×nh söa l¹i s¾c mµucña mét sè s¾c mµu ®Æc biÖt cã lùa chän./* This program illustrastes the procedurefor selective color adjustment for images usingcolor tones derived from the chromaticitydiagram. */#include #include #include #include #include #include #define sqr(x) ((x)*(x)) Lôc Vµng Skin tone ¶nh mµu vµo B é ph©n mµu §á §á t¬i Lam Xanh 0 0 ¶nh ®iÒu chØnh lùa chän mµu. HÖ thèng ®iÒu chØnh mµu hoÆc bé 1 1 läc 258 H×nh 11.11 §iÒu chØnh s¾c mµu cã lùa chän.#define white (circprintf(Is this a square image ?);printf (\n i.e. Is image_length=image_width (y or n)? -> );while(((ch=(char)getche())!=y)&&(ch!=n));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); } yt=wherey(); again: gotoxy(1,yt+1);printf (Enter file name for saving color adjusted image.-->); scanf(%s,file_name); if(access(file_name,0)==0) { printf(File exists. Wish to overwrite? (y or n)-->); while(((ch=tolower(getch()))!=y)&&(ch!=n)); putch(ch); switch(ch) { case y : break; case n : gotoxy(1,yt+1); delline(); goto again; } }fptro=fopen(file_name,wb);printf(\n For selected color tone(s) enter:); 260printf(\n Change in Red primary ---->);scanf(%d,&dR);printf(Change in Green primary-->);scanf(%d,&dG);printf(Change in Blue primary --- >);scanf(%d,&dB);buff=(unsigned int *)malloc(image_width*sizeof(int));gotoxy(70,25);textattr(WHITE+(GREEN 10; X=2.7690*R+1.7518*G+1.1300*B; Y=R+4.5907*G+0.0601*B; Z=0.0565*G+5.5943*B; D=X+Y+Z ; if(D==(float)0.0) continue; else { x=X/D; y=Y/D;circ=sqr(x-0.333)+sqr(y-0.333)-sqr(r); for(j=0;j }if(condition) { R1=R; G1=G; B1=B; if((((R1+dR)>=0)&&((R1+dR)=OM((G1+dG)=0&&((B1+dB)mét file mµ b¹n ®Þnh nghÜa lóc b¾t ®Çu ch¬ng tr×nh. Chó ý r»ng chØ cãníc da vµ khu vùc mµu ®á ®îc chØnh söa, vµ nh÷ng phÇn kh¸c cña ¶nhkh«ng bÞ ¶nh hëng. Mµu da rÊt gièng víi mµu da tù nhiªn cña t«i. NÕub¹n muèn b¹n cã thÓ lµm ch¬ng tr×nh thÓ hiÖn sù liªn hÖ vµ cho phÐpthay ®æi R,G,B thùc hiÖn qua c¸c phÝm mòi tªn vµ c¸c phÝm + vµ -,ch¬ng tr×nh nµy ®· ®îc lµm cã tªn DISPPIB.C. Ch¬ng tr×nh 11.7 ®ång nhÊt mµu cña mçi ®iÓm ®éc lËp riªng biÖt víic¸c ®iÓm l©n cËn cña nã. V× vËy mét ®iÓm b¶n th©n nã kh«ng ®Þnh nghÜamµu cña khu vùc, sÏ lµ tèt h¬n khi lÊy gi¸ trÞ trung b×nh trªn c¸c ®iÓm¶nh xung quanh ®iÓm ®ã. Gi¸ trÞ trung b×nh nµy dïng ®Ó ®ång nhÊt lípmµu cho ®iÓm ®ã. Ph¬ng ph¸p xÊp xØ ®îc dïng ®Ó kiÓm tra c¸c ®iÓml©n cËn cña mçi ®iÓm, vµ x¸c ®Þnh râ mµu c¬ b¶n cña nã dùa trªn c¸cmµu cña nh÷ng ®iÓm l©n cËn. VÝ dô viÖc trén gi÷a mµu ®á vµ xanh da trêicho ta mµu n©u, ®ã ...
Tìm kiếm theo từ khóa liên quan:
kỹ thuật xử lý ảnh công nghệ xử lý ảnh phương pháp xử lý ảnh hướng dẫn xử lý ảnh kinh nghiệm xử lý ảnhGợi ý tài liệu liên quan:
-
Giáo trình Khai thác phần mềm ứng dụng
247 trang 107 0 0 -
65 trang 85 3 0
-
51 trang 77 0 0
-
21 trang 59 0 0
-
8 trang 48 0 0
-
393 trang 46 0 0
-
Ứng dụng phương pháp xử lý ảnh bằng Matlab để phân tích ảnh chuyển động của một vật thể
8 trang 44 0 0 -
Đồ án tốt nghiệp: Thiết kế, thi công bãi giữ xe ứng dụng công nghệ RFID và xử lý ảnh
85 trang 44 0 0 -
Xây dựng hệ thống nhận dạng lỗi tự động của tấm pin năng lượng mặt trời
3 trang 37 0 0 -
Bài giảng Xử lý ảnh: Chương 6 - Ths. Trần Thúy Hà
38 trang 36 0 0