1. Trang chủ
  2. » Giáo Dục - Đào Tạo

bài giảng về photoshop ppsx

275 304 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 275
Dung lượng 3,22 MB

Nội dung

M c l cụ ụ 1 . Các ki u nh , các thao tác nh c b n trong Toolboxể ả ả ơ ả Trang 1 2. Phép x lý trên vùng ch n Trang 16ử ọ 3. X lý nh m ử ả ờ Trang 23 4. Màu s c Trang 38ắ 5. Bi n đ i nh Trang 52ế ổ ả 6. Bi n đ i không gian nh Trang 78ế ổ ả 7. Phân tích và làm giàu nh Trang 98ả 8. Các bi n đ i hình thái nh Trang 129ế ổ ả I – Các kiểu ảnh , các thao tác ảnh cơ bản trong Toolbox 1 . nh đ c đ nh ch s ( Indexed Images )Ả ượ ị ỉ ố - M t nh ch s bao g m m t ma tr n d li u X và ma tr n b n đ màu map . Maộ ả ỉ ố ồ ộ ậ ữ ệ ậ ả ồ tr n d li u có th có ki u thu c l p uint8,uint16 ho c ki u double . Ma tr n b n đậ ữ ệ ể ể ộ ớ ặ ể ậ ả ồ màu là m t m ng mx3 ki u double bao g m các giá tr d u ph y đ ng n m gi a 0 và 1ộ ả ể ồ ị ấ ẩ ộ ằ ữ . M i hàng c a b n đ ch ra các giá tr mà : red , green và blue c a m t màu đ n . M tỗ ủ ả ồ ỉ ị ủ ộ ơ ộ nh ch s s d ng ánh x tr c ti p gi a giá tr c a pixel nh t i giá tr trong b n đả ỉ ố ử ụ ạ ự ế ữ ị ủ ả ớ ị ả ồ màu . Màu s c c a m i pixel nh đ c tính toán b ng cách s d ng giá tr t ng ngắ ủ ỗ ả ượ ằ ử ụ ị ươ ứ c a X ánh x t i m t giá tr ch s c a map . Giá tr 1 ch ra hàng đ u tiên , giá tr 2 chủ ạ ớ ộ ị ỉ ố ủ ị ỉ ầ ị ỉ ra hàng th hai trong b n đ màu …ứ ả ồ - M t b n đ màu th ng đ c ch a cùng v i nh ch s và đ c t đ ng n p cùngộ ả ồ ườ ượ ứ ớ ả ỉ ố ượ ự ộ ạ v i nh khi s d ng hàm ớ ả ử ụ imread đ đ c nh .Tuy nhiên , ta không b gi i h n khiể ọ ả ị ớ ạ s d ng b n đ màu m c đ nh , ta có th s d ng m t kì b n đ màu nào . Hình sauử ụ ả ồ ặ ị ể ử ụ ấ ả ồ đây minh ho c u trúc c a m t nh ch s . Các pixel trong nh đ c đ i di n b iạ ấ ủ ộ ả ỉ ố ả ượ ạ ệ ở m t s nguyên ánh x t i m t giá tr t ng ng trong b n đ màu . ộ ố ạ ớ ộ ị ươ ứ ả ồ ( NH )Ả L p và đ l ch c a b n đ màu ( Colormap Offsets )ớ ộ ệ ủ ả ồ - Quan h gi a giá tr trong ma tr n nh và giá tr trong b n đ màu ph thu c vàoệ ữ ị ậ ả ị ả ồ ụ ộ ki u giá tr c a các ph n t ma tr n nh . N u các ph n t ma tr n nh thu c ki uể ị ủ ầ ử ậ ả ế ầ ử ậ ả ộ ể double , giá tr 1 s t ng ng v i giá tr trong hàng th nh t c a b n đ màu , giá tr 2ị ẽ ươ ứ ớ ị ứ ấ ủ ả ồ ị 1 s t ng ng v i giá tr trong hàng th 2 c a b n đ màu … N u các ph n t c a maẽ ươ ứ ớ ị ứ ủ ả ồ ế ầ ử ủ tr n nh thu c ki u uint8 hay uint16 s có m t đ l ch (offset ) – giá tr 0 trong maậ ả ộ ể ẽ ộ ộ ệ ị tr n nh s t ng ng v i giá tr trong hàng đ u tiên c a b n đ màu , giá tr 1 sậ ả ẽ ươ ứ ớ ị ầ ủ ả ồ ị ẽ t ng ng v i giá tr trong hàng th 2 c a b n đ màu ….ươ ứ ớ ị ứ ủ ả ồ - Đ l ch cũng đ c s d ng trong vi c đ nh d ng file nh đ ho đ tăng t i đa sộ ệ ượ ử ụ ệ ị ạ ả ồ ạ ể ố ố l ng màu s c có th đ c tr giúp . ượ ắ ể ượ ợ Gi i h n trong vi c tr giúp nh thu c l p unit16ớ ạ ệ ợ ả ộ ớ - Toolbox x lý nh c a Matlab tr giúp có gi i h n nh ch s thu c l p uint16 . Taử ả ủ ợ ớ ạ ả ỉ ố ộ ớ có th đ c nh ng nh đó và hi n th chúng trong Matlab nh ng tr c khi x lý chúng ,ể ọ ữ ả ể ị ư ướ ử ta ph i chuy n đ i chúng sang ki u uint8 ho c double . ả ể ổ ể ặ Đ chuy n đ i ( convert ) t iể ể ổ ớ ki u double ta dùng hàm ể im2double . Đ gi m s l ng màu c a nh xu ng 256 màuể ả ố ượ ủ ả ố (uint8 ) s d ng hàm ử ụ imapprox . 2. nh c ng đ ( Intensity Images )Ả ườ ộ - M t nh c ng đ là m t ma tr n d li u nh I mà giá tr c a nó đ i di n choộ ả ườ ộ ộ ậ ữ ệ ả ị ủ ạ ệ c ng đ trong m t s vùng nào đó c a nh . Matlab ch a m t nh c ng đ nhườ ộ ộ ố ủ ả ứ ộ ả ườ ộ ư m t ma tr n d n , v i m i ph n t c a ma tr n t ng ng v i m t pixel c a nh . Maộ ậ ơ ớ ỗ ầ ử ủ ậ ươ ứ ớ ộ ủ ả tr n có th thu c l p double , uint8 hay uint16 . Trong khi nh c ng đ hi m khiậ ể ộ ớ ả ườ ộ ế đ c l u v i b n đ màu , Matlab s d ng b n đ màu đ hi n th chúng .ượ ư ớ ả ồ ử ụ ả ồ ể ể ị - Nh ng ph n t trong ma tr n c ng đ đ i di n cho các c ng đ khác nhau ho cữ ầ ử ậ ườ ộ ạ ệ ườ ộ ặ đ xám . Nh ng đi m có c ng đ b ng 0 th ng đ c đ i di n b ng màu đen vàộ ữ ể ườ ộ ằ ườ ượ ạ ệ ằ c ng đ 1,255 ho c 65535 th ng đ i di n cho c ng đ cao nh t hay màu tr ng . ườ ộ ặ ườ ạ ệ ườ ộ ấ ắ 3. nh nh phân (Binary Images )Ả ị -Trong m t nh nh phân , m i pixel ch có th ch a m t trong hai giá tr nh phân 0ộ ả ị ỗ ỉ ể ứ ộ ị ị ho c 1 . Hai giá tr này t ng ng v i b t ho t t ( on ho c off ) . M t nh nh phânặ ị ươ ứ ớ ậ ặ ắ ặ ộ ả ị đ c l u tr nh m t m ng lôgíc c a 0 và 1 . ượ ư ữ ư ộ ả ủ 4. nh RGB ( RGB Images )Ả - M t nh RGB - th ng đ c g i là ộ ả ườ ượ ọ true-color , đ c l u tr trong Matlab d i d ngượ ư ữ ướ ạ m t m ng d li u có kích th c 3 chi u mxnx3 đ nh nghĩa các giá tr màu red, green vàộ ả ữ ệ ướ ề ị ị blue cho m i pixel riêng bi t . nh RGB không s d ng palette . Màu c a m i pixelỗ ệ Ả ử ụ ủ ỗ đ c quy t đ nh b i s k t h p gi a các giá tr R,G,B ( Red, Green , Blue ) đ c l uượ ế ị ở ự ế ợ ữ ị ượ ư tr trong m t m t ph ng màu t i v trí c a pixel . Đ nh d ng file đ ho l u tr nhữ ộ ặ ẳ ạ ị ủ ị ạ ồ ạ ư ữ ả 2 RGB gi ng nh m t nh 24 bít trong đó R,G,B chi m t ng ng 8 bít m t . Đi u nàyố ư ộ ả ế ươ ứ ộ ề cho phép nh n đ c 16 tri u màu khác nhau . ậ ượ ệ - M t m ng RGB có th thu c l p double , uint8 ho c uint16 . Trong m t m ng RGBộ ả ể ộ ớ ặ ộ ả thu c l p double , m i thành ph n màu có giá tr gi a 0 và 1 . M t pixel mà thành ph nộ ớ ỗ ầ ị ữ ộ ầ màu c a nó là (0,0,0) đ c hi n th v i màu đen và m t pixel mà thành ph n màu làủ ượ ể ị ớ ộ ầ (1,1,1 ) đ c hi n th v i màu tr ng . Ba thành ph n màu c a m i pixel đ c l u trượ ể ị ớ ắ ầ ủ ỗ ượ ư ữ cùng v i chi u th 3 c a m ng d li u . Ch ng h n , giá tr màu R,G,B c a pixelớ ề ứ ủ ả ữ ệ ẳ ạ ị ủ (10,5) đ c l u tr trong RGB(10,5,1) , RGB(10,5,2) và RGB(10,5,3) t ng ng . ượ ư ữ ươ ứ - Đ tính toán màu s c c a pixel t i hàng 2 và c t 3 ch ng h n , ta nhìn vào b ba giáể ắ ủ ạ ộ ẳ ạ ộ tr đ c l u tr trong (2,3,1:3) . Gi s (2,3,1) ch a giá tr 0.5176 ; (2,3,2) ch a giá trị ượ ư ữ ả ử ứ ị ứ ị 0.1608 và (2,3,3) ch a giá tr 0.0627 thì màu s c c a pixel t i (2,3 ) s là ứ ị ắ ủ ạ ẽ (0.5176,0.1608,0.0627) - Đ minh ho xa h n khái ni m ba m t ph ng màu riêng bi t đ c s d ng trongể ạ ơ ệ ặ ẳ ệ ượ ử ụ m t nh RGB , đo n mã sau đây t o m t nh RGB đ n gi n ch a các vùng liên t cộ ả ạ ạ ộ ả ơ ả ứ ụ c a R,G,B và sau đó t o m t nh cho m i m t ph ng riêng c a nó ( R,G,B ) . Nó hi nủ ạ ộ ả ỗ ặ ẳ ủ ể th m i m t ph ng màu riêng r và cũng hi n th nh g c .ị ỗ ặ ẳ ẽ ể ị ả ố RGB=reshape(ones(64,1)*reshape(jet(64),1,192),[64,64,3]); R=RGB(:,:,1); G=RGB(:,:,2); B=RGB(:,:,3); imshow(R) figure, imshow(G) figure, imshow(B) figure, imshow(RGB) Các m t ph ng màu riêng r c a m t nh RGBặ ẳ ẽ ủ ộ ả - Chú ý r ng m i m t ph ng màu riêng r ch a m t kho ng tr ng . Kho ng tr ngằ ỗ ặ ẳ ẽ ứ ộ ẳ ắ ả ắ t ng ng v i giá tr cao nh t c a m i màu riêng r . Ch ng h n trong nh m t ph ngươ ứ ớ ị ấ ủ ỗ ẽ ẳ ạ ả ặ ẳ R , vùng tr ng đ i di n cho s t p trung cao nh t c a màu đ thu n khi t . N u Rắ ạ ệ ự ậ ấ ủ ỏ ầ ế ế đ c tr n v i G ho c B ta s có màu xám . Vùng màu đen trong nh ch ra giá tr c aượ ộ ớ ặ ẽ ả ỉ ị ủ pixel mà không ch a màu đ R=0. T ng t cho các m t ph ng màu G và B .ứ ỏ ươ ự ặ ẳ 3 5. M ng nh nhi u khung hình ( Multiframe Image Arrays )ả ả ề - V i m t vài ng d ng , ta có th c n làm vi c v i m t t p h p các nh quan h v iớ ộ ứ ụ ể ầ ệ ớ ộ ậ ợ ả ệ ớ th i gian ho c khung nhìn nh MRI hay khung hình phim .ờ ặ ư - Toolbox x lý nh trong Matlab cung c p s tr giúp cho vi c l u tr nhi u nhử ả ấ ự ợ ệ ư ữ ề ả trong cùng m t m ng . M i nh đ c g i là m t khung hình ( Frame ) . N u m tộ ả ỗ ả ượ ọ ộ ế ộ m ng gi nhi u frame , chúng đ c n i theo 4 chi u . Ch ng h n , m t m ng v i nămả ữ ề ượ ố ề ẳ ạ ộ ả ớ nh có kích th c 400x300 s là m t m ng có kích th c 400x300x3x5 . M t nh chả ướ ẽ ộ ả ướ ộ ả ỉ s ho c nh c ng đ nhi u khung t ng t s là 400x300x1x5 . ố ặ ả ườ ộ ề ươ ự ẽ - S d ng l nh ử ụ ệ cat đ ch a các nh riêng r trong m t m ng nhi u khung hình .ể ứ ả ẽ ộ ả ề Ch ng h n , n u ta có m t nhóm các nh A1,A2,A3,A4 và A5 , ta có th ch a chúngẳ ạ ế ộ ả ể ứ trong m t m ng duy nh t s d ng ộ ả ấ ử ụ A=cat(4,A1,A2,A3,A4,A5 ) - Ta cũng có th trích các khung hình t m t nh nhi u khung hình . Ch ng h n , n uể ừ ộ ả ề ẳ ạ ế ta có m t nh nhi u khung hình MULTI , l nh sau đây s trích ra khung hình th 3 ộ ả ề ệ ẽ ứ FRM3=MULTI( : , : , : , 3 ) - Ghi nh r ng , trong m t m ng nh nhi u khung hình , m i nh ph i có cùng kíchớ ằ ộ ả ả ề ỗ ả ả th c và có cùng s m t ph ng . Trong m t nh ch s nhi u khung , m i nh ph i sướ ố ặ ẳ ộ ả ỉ ố ề ỗ ả ả ử d ng cùng m t b n đ màu ụ ộ ả ồ S tr giúp gi i h n v i nh nhi u khungự ợ ớ ạ ớ ả ề - Nhi u hàm trong toolbox ho t đ ng ch trên 2 ho c 3 chi u đ u tiên . Ta có th sề ạ ộ ỉ ặ ề ầ ể ử d ng chi u th 4 v i nh ng hàm này nh ng ta ph i x lý m i khung hình m t cáchụ ề ứ ớ ữ ư ả ử ỗ ộ đ c l p . Ch ng h n , l i g i hàm sau s hi n th khung hình th 7 trong m t m ngộ ậ ẳ ạ ờ ọ ẽ ể ị ứ ộ ả MULTI imshow(MULTI(: , : , : , 7 )) - N u ta truy n m t m ng vào hàm và m ng có nhi u chi u h n s chi u mà hàm đãế ề ộ ả ả ề ề ơ ố ề đ c thi t k đ ho t đ ng , k t qu có th không đoán tr c đ c . Trong m t sượ ế ế ể ạ ộ ế ả ể ướ ượ ộ ố tr ng h p , hàm đ n gi n ch x lý khung hình đ u tiên nh ng trong các tr ng h pườ ợ ơ ả ỉ ử ầ ư ườ ợ khác , s ho t đ ng không t o ra k t qu nào có ý nghĩa . ự ạ ộ ạ ế ả ả- Các hàm chuy n đ i ki u nh ể ổ ể ả - V i các thao tác nh t đ nh , s th t h u ích khi có th chuy n đ i nh t d ng nàyớ ấ ị ẽ ậ ữ ể ể ổ ả ừ ạ sang d ng khác . Ch ng h n , n u ta mu n l c m t màu nh đ c l u tr d i d ngạ ẳ ạ ế ố ọ ộ ả ượ ư ữ ướ ạ nh ch s , đ u tiên , ta nên chuy n đ i nó thành d ng nh RGB . Khi ta áp d ng phépả ỉ ố ầ ể ổ ạ ả ụ 4 l c t i nh RGB , Matlab s l c giá tr c ng đ trong nh t ng ng . N u ta cọ ớ ả ẽ ọ ị ườ ộ ả ươ ứ ế ố g ng l c nh ch s , Matlab đ n gi n ch áp đ t phép l c t i ma tr n nh ch s vàắ ọ ả ỉ ố ơ ả ỉ ặ ọ ớ ậ ả ỉ ố k t qu s không có ý nghĩa ế ả ẽ Chú ý : Khi convert m t nh t d ng này sang d ng khác , nh k t qu có th khácộ ả ừ ạ ạ ả ế ả ể nh ban đ u . Ch ng h n , n u ta convert m t nh màu ch s sang m t nh c ng đả ầ ẳ ạ ế ộ ả ỉ ố ộ ả ườ ộ , k t qu ta s thu đ c m t nh đen tr ng .ế ả ẽ ượ ộ ả ắ - Danh sách sau đây s li t kê các hàm đ c s d ng trong vi c convert nh :ẽ ệ ượ ử ụ ệ ả + dither : T o m t nh nh phân t m t nh c ng đ đen tr ng b ng cách tr n , t oạ ộ ả ị ừ ộ ả ườ ộ ắ ằ ộ ạ m t nh ch s t m t nh RGB b ng cách tr ng (dither )ộ ả ỉ ố ừ ộ ả ằ ộ + gray2id : T o m t nh ch s t m t nh c ng đ đen tr ng .ạ ộ ả ỉ ố ừ ộ ả ườ ộ ắ + grayslice : T o m t nh ch s t m t nh c ng đ đen tr ng b ng cách đ tạ ộ ả ỉ ố ừ ộ ả ườ ộ ắ ằ ặ ng ng ưỡ + im2bw : T o m t nh nh phân t m t nh c ng đ , nh ch s hay nh RGBạ ộ ả ị ừ ộ ả ườ ộ ả ỉ ố ả trên c s c a ng ng ánh sáng .ơ ở ủ ưỡ + ind2gray : T o m t nh c ng đ đen tr ng t m t nh ch s ạ ộ ả ườ ộ ắ ừ ộ ả ỉ ố + ind2rgb : T o m t nh RGB t m t nh ch s ạ ộ ả ừ ộ ả ỉ ố + mat2gray : T o m t nh c ng đ đen tr ng t d li u trong m t ma tr n b ngạ ộ ả ườ ộ ắ ừ ữ ệ ộ ậ ằ cách l y t l gi li u ấ ỉ ệ ữ ệ + rgb2gray : T o m t nh c ng đ đen tr ng t m t nh RGBạ ộ ả ườ ộ ắ ừ ộ ả + rgb2ind : T o m t nh ch s t m t nh RGBạ ộ ả ỉ ố ừ ộ ả - Ta cũng có th th c hi n các phép chuy n đ i ki u ch s d ng cú pháp c a Matlab .ể ự ệ ể ổ ể ỉ ử ụ ủ Ch ng h n , ta có th convert m t nh c ng đ sang nh RGB b ng cách ghép n i 3ẳ ạ ể ộ ả ườ ộ ả ằ ố ph n copy c a ma tr n nh g c gi a 3 chi u :ầ ủ ậ ả ố ữ ề RGB=cat(3,I,I,I ); - nh RGB thu đ c có các ma tr n đ ng nh t cho các m t ph ng R,G,B vì v y nhẢ ượ ậ ồ ấ ặ ẳ ậ ả hi n th gi ng nh bóng xám .ể ị ố ư - Thêm vào nh ng công c chuy n đ i chu n đã nói trên , cũng có m t s hàm màữ ụ ể ổ ẩ ở ộ ố tr l i ki u nh khác nh m t ph n trong thao tác mà chúng th c hi n . Xem thêmả ạ ể ả ư ộ ầ ự ệ Help Online Chuy n đ i không gian màu ể ổ - Toolbox x lý nh bi u di n màu s c nh các giá tr RGB ( tr c ti p trong nh RGBử ả ể ễ ắ ư ị ự ế ả ho c gián ti p trong nh ch s ) . Tuy nhiên , có các ph ng pháp khác cho vi c bi uặ ế ả ỉ ố ươ ệ ể 5 di n màu s c . Ch ng h n , m t màu có th đ c đ i di n b i các giá tr ễ ắ ẳ ạ ộ ể ượ ạ ệ ở ị hue , saturation và các giá tr thành ph n (HSV ) . Các ph ng pháp khác cho vi c bi u di nị ầ ươ ệ ể ễ màu đ c g i là không gian màu .ượ ọ - Toolbox cung c p m t t p các th t c đ chuy n đ i gi a các không gian màu . Cácấ ộ ậ ủ ụ ể ể ổ ữ hàm x lý nh t chúng coi d li u màu s c d i d ng RGB tuy nhiên , ta có th x lýử ả ự ữ ệ ắ ướ ạ ể ử m t nh mà s d ng các không gian màu khác nhau b ng cách chuy n đ i nó sangộ ả ử ụ ằ ể ổ RGB sau đó chuy n đ i nh đã đ c x lý tr l i không gian màu ban đ u . ể ổ ả ượ ử ở ạ ầ ầ- Đ c và ghi d li u nh ọ ữ ệ ả - Ph n này s gi i thi u cách đ c và ghi d li u nh ầ ẽ ớ ệ ọ ữ ệ ả 1. Đ c m t nh đ ho ọ ộ ả ồ ạ - Hàm imread đ c m t nh t b t kì đ nh d ng nào đ c tr giúp trong b t kì chi uọ ộ ả ừ ấ ị ạ ượ ợ ấ ề sâu bit nào đ c tr giúp . H u h t các file nh s d ng 8 bít đ ch a giá tr c aượ ợ ầ ế ả ử ụ ể ứ ị ủ pixel . Khi chúng đ c đ c vào b nh , Matlab ch a chúng d i d ng uint8 . V i cácượ ọ ộ ớ ứ ướ ạ ớ file tr giúp 16 bít d li u , PNG và TIFF , Matlab ch a chúng d i d ng uint16ợ ữ ệ ứ ướ ạ Chú ý : V i nh ch s , imread luôn luôn đ c b n đ màu vào trong m t chu i thu cớ ả ỉ ố ọ ả ồ ộ ỗ ộ l p double , th m chí m ng nh t nó thu c l p uint8 hay uint16ớ ậ ả ả ự ộ ớ - Ch ng h n , đo n mã sau s đ c m t nh RGB vào không gian làm vi c c a Matlabẳ ạ ạ ẽ ọ ộ ả ệ ủ l u trong bi n RGBư ế RGB=imread(‘football.jpg’); - Trong ví d này , imread s nh n ra đ nh d ng file đ s d ng t tên file . Ta cũng cóụ ẽ ậ ị ạ ể ử ụ ừ th ch ra đ nh d ng file nh m t tham s trong hàm imread . Matlab tr giúp r t nhi uể ỉ ị ạ ư ộ ố ợ ấ ề đ nh d ng đ ho thông d ng ch ng h n : BMP , GIF , JPEG , PNG , TIFF … Đ bi tị ạ ồ ạ ụ ẳ ạ ể ế thêm các ki u g i hàm và tham s truy n vào , xem tr giúp online c a Matlab .ể ọ ố ề ợ ủ Đ c nhi u nh t m t file đ ho ọ ề ả ừ ộ ồ ạ - Matlab tr giúp m t s đ nh d ng file đ ho ch ng h n nh : HDF và TIFF , chúngợ ộ ố ị ạ ồ ạ ẳ ạ ư ch a nhi u nh . Theo m c đ nh , imread ch tr giúp nh đ u tiên trong file . Đ nh pứ ề ả ặ ị ỉ ợ ả ầ ể ậ thêm các nh t file , s d ng cú pháp đ c tr giúp b i đ nh d ng file . Ch ng h n ,ả ừ ử ụ ượ ợ ở ị ạ ẳ ạ khi đ c s d ng v i TIFF , ta có th s d ng m t giá tr ch s v i imread đ ch raượ ử ụ ớ ể ử ụ ộ ị ỉ ố ớ ể ỉ nh mà ta mu n nh p vào . Ví d sau đây đ c m t chu i 27 nh t m t file TIFF vàả ố ậ ụ ọ ộ ố ả ừ ộ l u nh ng nh anỳ trong m t m ng 4 chi u . Ta có th s d ng hàm ư ữ ả ộ ả ề ể ử ụ iminfo đ xemể bao nhiêu nh đã đ c l u tr trong file :ả ượ ư ữ mri = uint8(zeros(128,128,1,27)); % preallocate 4-D array 6 for frame=1:27 [mri(:,:,:,frame),map] = imread('mri.tif',frame); end - Khi file ch a nhi u nh theo m t s ki u nh t đ nh ch ng h n theo th t th i gian ,ứ ề ả ộ ố ể ấ ị ẳ ạ ứ ự ờ ta có th l u nh trong Matlab d i d ng m ng 4 chi u . T t c các nh ph i có cùngể ư ả ướ ạ ả ề ấ ả ả ả kích th c . ướ 2. Ghi m t nh đ ho ộ ả ồ ạ - Hàm imwrite s ghi m t nh t i m t file đ ho d i m t trong các đ nh d ng đ cẽ ộ ả ớ ộ ồ ạ ướ ộ ị ạ ượ tr giúp . C u trúc c b n nh t c a imwrite s yêu c u m t bi n nh và tên file . N uợ ấ ơ ả ấ ủ ẽ ầ ộ ế ả ế ta g p m t ph n m r ng trong tên file , Matlab s nh n ra đ nh d ng mong mu n tộ ộ ầ ở ộ ẽ ậ ị ạ ố ừ nó . Ví d sau t i m t nh ch s X t m t file Mat v i b n đ màu k t h p v i nóụ ả ộ ả ỉ ố ừ ộ ớ ả ồ ế ợ ớ map sau đó ghi nh xu ng m t file bitmap .ả ố ộ load clown whos Name Size Bytes Class X 200x320 512000 double array caption 2x1 4 char array map 81x3 1944 double array Grand total is 64245 elements using 513948 bytes imwrite(X,map,'clown.bmp') Ch ra đ nh d ng ph - Tham s đ c bi t ỉ ị ạ ụ ố ặ ệ - Khi s d ng imwrite v i m t s đ nh d ng đ ho , ta có th ch ra các tham s ph .ử ụ ớ ộ ố ị ạ ồ ạ ể ỉ ố ụ Ch ng h n , v i đ nh d ng PNG ta có th ch ra đ sâu bít nh m t tham s ph . Víẳ ạ ớ ị ạ ể ỉ ộ ư ộ ố ụ d sau s chi m t nh c ng đ I v i m t file nh 4 bít PNG ụ ẽ ộ ả ườ ộ ớ ộ ả imwrite(I,'clown.png','BitDepth',4 ); - Đ bi t thêm các c u trúc khác c a hàm xem ph n tr giúp tr c tuy n c a Matlab .ể ế ấ ủ ầ ợ ự ế ủ Đ c và ghi nh nh phân theo đ nh d ng 1 bítọ ả ị ị ạ 7 - Trong m t s đ nh d ng file , m t nh nh phân có th đ c l u trong m t đ nh d ngộ ố ị ạ ộ ả ị ể ượ ư ộ ị ạ 1 bít . N u đ nh d ng file tr giúp nó ,Matlab ghi nh nh phân nh nh 1 bít theo m cế ị ạ ợ ả ị ư ả ặ đ nh . Khi ta đ c m t nh nh phân v i đ nh d ng 1 bít , Matlab đ i di n nó trongị ọ ộ ả ị ớ ị ạ ạ ệ không gian làm vi c nh m t m ng lôgíc .ệ ư ộ ả - Ví d sau đ c m t nh nh phân và ghi nó d i d ng file TIFF . B i vì đ nh d ngụ ọ ộ ả ị ướ ạ ở ị ạ TIFF tr giúp nh 1 bít , file đ c ghi lên đĩa theo đ nh d ng 1 bít :ợ ả ượ ị ạ BW = imread('text.png'); imwrite(BW,'test.tif'); Đ ki m tra chi u sâu bít c a file test.tif , g i hàm iminfo và ki m tra tr ng BitDepthể ể ề ủ ọ ể ườ c a nó :ủ info = imfinfo('test.tif'); info.BitDepth ans = 1 Chú ý : Khi gi file nh phân , Matlab thi t l p tr ng ColorType thành ‘grayscale’ị ế ậ ườ Xem l p l u tr c a file ớ ư ữ ủ - Hàm imwrite s d ng lu t sau đây đ quy t đ nh l p l u tr đ c s d ng trong nhử ụ ậ ể ế ị ớ ư ữ ượ ử ụ ả k t qu :ế ả + logical : N u đ nh d ng nh ra ( Output Image ) đ c ch rõ là tr giúp nh 1 bít ,ế ị ạ ả ượ ỉ ợ ả hàm imwrite t o m t file nh 1 bít . N u đ nh d ng nh ra đ c ch rõ là không trạ ộ ả ế ị ạ ả ượ ỉ ợ giúp nh 1 bít ( nh JPEG ) , hàm imwrite chuy n nh t i m t nh thu c l p uint8ả ư ể ả ớ ộ ả ộ ớ + uint8 : N u đ nh d ng nh ra đ c ch rõ là tr giúp nh 8 bít , hàm imwrite t o m tế ị ạ ả ượ ỉ ợ ả ạ ộ nh 8 bít ả +uint16 : N u đ nh d ng nh ra đ c ch rõ tr giúp nh 16 bít ( PNG ho c TIFF ) ,ế ị ạ ả ượ ỉ ợ ả ặ hàm imwrite t o m t nh 16 bít . N u đ nh d ng nh ra không tr giúp nh 16 bít ,ạ ộ ả ế ị ạ ả ợ ả hàm chuy n đ i d li u nh t i l p uint8 và t o m t nh 8 bít .ể ổ ữ ệ ả ớ ớ ạ ộ ả +double : Matlab chuy n d li u nh t i d ng uint8 và t o m t nh 8 bít b i vì h uể ữ ệ ả ớ ạ ạ ộ ả ở ầ h t các file nh s d ng đ nh d ng 8 bít . ế ả ử ụ ị ạ 2. Truy v n m t file đ ho ấ ộ ồ ạ 8 - Hàm iminfo cho phép ta có th nh n đ c thông tin v m t file nh đ c tr giúpể ậ ượ ề ộ ả ượ ợ b i toolbox . Thông tin mà ta nh n đ c ph thu c vào ki u c a file nh ng nó luônở ậ ượ ụ ộ ể ủ ư bao g m nh ng thông tin sau :ồ ữ + Tên c a file nh ủ ả + Đ nh d ng file nhị ạ ả + S version c a đ nh d ng fileố ủ ị ạ + Ngày s a đ i file g n nh t ử ổ ầ ấ + Kích th c file tính theo byteướ + Chi u r ng nh tính theo pixelề ộ ả + Chi u cao nh tính theo pixelề ả + S l ng bít trên m t pixelố ượ ộ + Ki u nh : RGB, ch s …ể ả ỉ ố ố- Chuy n đ i đ nh d ng các file nh ể ổ ị ạ ả - Đ thay đ i đ nh d ng đ ho c a m t nh , s d ng hàm imread đ đ c m t nh vàể ổ ị ạ ồ ạ ủ ộ ả ử ụ ể ọ ộ ả sau đó l u nó v i hàm imwrite đ ng th i ch ra đ nh d ng t ng ng .ư ớ ồ ờ ỉ ị ạ ươ ứ - Đ minh ho , ví d sau đây s d ng hàm imread đ đ c m t file BMP vào khôngể ạ ụ ử ụ ể ọ ộ gian làm vi c .Sau đó , hàm imwrite l u nh này d i đ nh d ng PNG ệ ư ả ướ ị ạ bitmap = imread('mybitmap.bmp','bmp'); imwrite(bitmap,'mybitmap.png','png'); i - Đ c và ghi nh DICOMọ ả - Toolbox x lý nh bao g m tr giúp cho vi c thao tác v i nh s ( Digital Imaging )ử ả ồ ợ ệ ớ ả ố và nh y h c (Communication in Medicine ) .ả ọ 1. Đ c d li u nh t m t file DICOMọ ữ ệ ả ừ ộ - Đ đ c m t d li u nh t m t file DICOM , s d ng hàm đicomread . Hàm nàyể ọ ộ ữ ệ ả ừ ộ ử ụ đ c các file tuân theo đ c tr ng DICOM nh ng có th đ c đ c các file không theoọ ặ ư ư ể ọ ượ chu n chung nào ẩ - Ví d sau đây đ c m t nh t m t file DICOM m u đi kèm v i toolbox .ụ ọ ộ ả ừ ộ ẫ ớ I = dicomread('CT-MONO2-16-ankle.dcm'); Đ xem d li u nh , s d ng hàm hi n th c a toolbox – imshow ho c imview ( Doể ữ ệ ả ử ụ ể ị ủ ặ d li u nh là s 16 bít có d u , ta ph i s d ng c u trúc t chuy n đ i v i m i hàmữ ệ ả ố ấ ả ử ụ ấ ự ể ổ ớ ỗ hi n th )ể ị imview(I,[]) 9 2. Đ c Metadata t m t file DICOMọ ừ ộ - Các file DICOM bao g m các thông tin đ c g i là Metadata . Nh ng thông tin nàyồ ượ ọ ữ mô t t c tính c a d li u nh nó n m gi nh : kích th c , chi u , chi u sâu bít .ả ặ ủ ữ ệ ả ắ ữ ư ướ ề ề Thêm vào đó , đ c tr ng DICOM đ nh nghĩa nhi u các tr ng metadata khác đ mô tặ ư ị ề ườ ể ả các đ c tính khác c a d li u nh : cách th c đ c s d ng đ t o d li u , thi t l pặ ủ ữ ệ ư ứ ượ ử ụ ể ạ ữ ệ ế ậ thi t b dùng đ ch p nh , thông tin v vi c nghiên c u …Hàm dicomread có th xế ị ể ụ ả ề ệ ứ ể ử lý h u h t t t c các tr ng metadata đ c đ nh nghĩa b i đ c tr ng DICOM ( hayầ ế ấ ả ườ ượ ị ở ặ ư chu n DICOM ) ẩ - Đ đ c metadata t m t file DICOM , s d ng hàm dicominfo . Hàm này tr v m tể ọ ừ ộ ử ụ ả ề ộ c u trúc metadata mà m i tr ng trong c u trúc là m t ph n đ c tr ng c a metadataấ ọ ườ ấ ộ ầ ặ ư ủ trong file DICOM đó . info = dicominfo('CT-MONO2-16-ankle.dcm'); info = Filename: [1x47 char] FileModDate: '24-Dec-2000 19:54:47' FileSize: 525436 Format: 'DICOM' FormatVersion: 3 Width: 512 Height: 512 BitDepth: 16 ColorType: 'grayscale' SelectedFrames: [] FileStruct: [1x1 struct] StartOfPixelData: 1140 MetaElementGroupLength: 192 FileMetaInformationVersion: [2x1 double] MediaStorageSOPClassUID: '1.2.840.10008.5.1.4.1.1.7' MediaStorageSOPInstanceUID: [1x50 char] TransferSyntaxUID: '1.2.840.10008.1.2' 10 [...]... roicolor lựa chọn một vùng quan tâm trong một ảnh chỉ số hoặc ảnh cường độ và trả về một ảnh nhị phân + BW=roicolor(A,low,high) : trả về một vùng quan tâm được lựa chọn với những pixel nằm trong khoảng giữa low và high trong bản đồ màu sắc BW = (A >= low) & (A

Ngày đăng: 12/07/2014, 02:21

TỪ KHÓA LIÊN QUAN