1. Trang chủ
  2. » Công Nghệ Thông Tin

Các kiểu ảnh , các thao tác ảnh cơ bản trong Toolbox

275 835 3
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Các kiểu ảnh, các thao tác ảnh cơ bản trong Toolbox
Trường học Trường Đại Học Khoa Học Tự Nhiên
Chuyên ngành Khoa Học Máy Tính
Thể loại Bài giảng
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 275
Dung lượng 3,22 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các kiểu ảnh , các thao tác ảnh cơ bản trong Toolbox

Trang 1

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ạ ệ ở

Trang 2

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ữ ộ ặ ẳ ạ ị ủ ị ạ ồ ạ ư ữ ả

Trang 3

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ủ ạ ộ ả ỗ ặ ẳ ủ ể

Trang 4

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 ự ạ ộ ạ ế ả

Trang 5

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ộ ắ ằ ặ

Trang 6

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 ử ở ạ ầ

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à

Trang 7

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 ử ụ ớ ộ ố ị ạ ồ ạ ể ỉ ố ụ

Trang 8

- 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 :ị ạ

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 ấ ộ ồ ạ

Trang 9

- 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 ạ

- Đ đ 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 theochu n chung nào ẩ

Trang 10

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 đó

Trang 11

3 Ghi d li u lên m t file DICOM ữ ệ ộ

- Đ ghi d li u lên m t file DICOM , s d ng hàm dicomwrite Ví d sau ghi m tể ữ ệ ộ ử ụ ụ ộ

nh I t i file DICOM ankle.dcm

dicomwrite(I,'h:\matlab\tmp\ankle.dcm')

Ghi metadata lên m t file DICOM ộ

Khi ta ghi d li u nh lên m t file DICOM , hàm dicomwrite bao g m m t t p h pữ ệ ả ộ ồ ộ ậ ợ

nh nh t c a các trỏ ấ ủ ường trong metadata được yêu c u b i ki u c a đ i tầ ở ể ủ ố ượng thôngtin DICOM ( IOD ) mà ta đang t o dicomwrite tr giúp 3 ki u DICOM IOD :ạ ợ ể

Trang 12

hi n s khác nhau gi a hai ho c nhi u nh c a cùng m t c nh ho c m t v t ệ ự ữ ặ ề ả ủ ộ ả ặ ộ ậ

- Ta có th th c hi n s h c nh s d ng các toán t s h c c a Matlab Toolbox xể ự ệ ố ọ ả ử ụ ử ố ọ ủ ử

lý nh bao g m m t t p h p các hàm ng d ng các phép toán s h c trên t t c cácả ồ ộ ậ ợ ứ ụ ố ọ ấ ảcon s không l p đ y Hàm s h c c a toolbox ch p nh n b t kì ki u d li u s nàoố ấ ầ ố ọ ủ ấ ậ ấ ể ữ ệ ốbao g m uint8 , uint16 hay double và tr l i nh k t qu trong cùng đ nh d ng Cácồ ả ạ ả ế ả ị ạhàm th c hi n các phép toán v i đ chính xác kép trên t ng ph n t nh ng khôngự ệ ớ ộ ừ ầ ử ưchuy n đ i nh t i giá tr chính xác kép trong không gian làm vi c c a Matlab S trànể ổ ả ớ ị ệ ủ ự

s đố ược đi u khi n t đ ng Hàm s c t b giá tr tr v đ v a v i ki u d li u ề ể ự ộ ẽ ắ ỏ ị ả ề ể ừ ớ ể ữ ệ

1 Lu t c t b trong s h c nh ậ ắ ỏ ố ọ ả

- K t qu c a s h c nguyên có th d dàng tràn s dùng cho l u tr Ch ng h n , giáế ả ủ ố ọ ể ễ ố ư ữ ẳ ạ

tr c c đ i ta có th l u tr trong uint8 là 255 Các phép toán s h c có th tr v giáị ự ạ ể ư ữ ố ọ ể ả ề

tr phân s - không đị ố ược bi u di n b i m t chu i s nguyên ể ễ ở ộ ỗ ố

- Các hàm s h c nh s d ng nh ng lu t này cho s h c nguyên :ố ọ ả ử ụ ữ ậ ố ọ

+ Giá tr vị ượt quá kho ng c a ki u s nguyên b c t b t i kho ng đó ả ủ ể ố ị ắ ỏ ớ ả

+ Giá tr phân s đị ố ược làm tròn

Trang 13

Ch ng h n , n u d li u có ki u uint8 , k t qu tr v n u l n h n 255 ( bao g mẳ ạ ế ữ ệ ể ế ả ả ề ế ớ ơ ồ Inf ) thì được gán là 255

2 L i g i l ng nhau t i hàm s h c nh ờ ọ ồ ớ ố ọ ả

- Ta có th s d ng các hàm s h c nh k t h p đ th c hi n m t chu i các phép toánể ử ụ ố ọ ả ế ợ ể ự ệ ộ ỗ Ch ng h n đ tính giá tr trung bình c a hai nẳ ạ ể ị ủ ả h :

C=(A+B) /2

Ta có th nh p vào nh sau :ể ậ ư

I = imread('rice.png');

I2 = imread('cameraman.tif');

K = imdivide(imadd(I,I2), 2); % not recommended

- Khi đượ ử ục s d ng v i ki u uint8 hay uint16 , m i hàm s h c c t k t qu c a nóớ ể ỗ ố ọ ắ ế ả ủ

trước khi truy n nó cho hàm thi p theo S c t b này có th gi m đáng k lề ế ự ắ ỏ ể ả ể ượ ngthông tin trong nh cu i cùng M t cách làm t t h n đ th c hi n m t chu i các tínhả ố ộ ố ơ ể ự ệ ộ ỗtoán là s d ng hàm ử ụ imlincomb Hàm này thi hành t t c các phép toán s h c trongấ ả ố ọ

- Nhìn chung , phương pháp thu n ti n nh t cho vi c bi u di n v trí trong m t nh làậ ệ ấ ệ ể ễ ị ộ ả

s d ng to đ pixel Trong h to đ này , nh đử ụ ạ ộ ệ ạ ộ ả ược x lý nh m t lử ư ộ ướ ủi c a các

ph n t riêng bi t đầ ử ệ ược đánh th t t đ nh t i đáy và t trái sang ph i ứ ự ừ ỉ ớ ừ ả

- V i to đ pixel , thành ph n đ u tiên r ( hàng ) đớ ạ ộ ầ ầ ược tăng t khi đi t trên xu ngừ ừ ố

dưới trong khi c ( c t ) độ ược tăng khi đi t trái sang ph i H to đ pixel là giá trừ ả ệ ạ ộ ị

Trang 14

- Trong h to đ pixel , m t pixel đệ ạ ộ ộ ược x lý nh m t đ n v riêng r đử ư ộ ơ ị ẽ ược phân bi tệ duy nh t b i m t c p to đ ch ng h n (5,2 ) T quan đi m này , m t v trí ch ngấ ở ộ ặ ạ ộ ẳ ạ ừ ể ộ ị ẳ

h n (5,2) không có ý nghĩa Tuy nhiên , s h u ích khi nghĩ đ n m t pixel nh m tạ ẽ ữ ế ộ ư ộ

mi ng vá hình vuông T quan đi m này , m t v trí ch ng h n (5.3,2.2) là có nghĩa vàế ừ ể ộ ị ẳ ạ

được phân bi t v i (5,2) Trong to đ không gian này , v trí trong m t nh đệ ớ ạ ộ ị ộ ả ượ c

đ nh v trên m t m t ph ng và chúng đị ị ộ ặ ẳ ược mô t b ng m t c p x và y ( không ph i rả ằ ộ ặ ả

và c nh to đ pixel ) ư ạ ộ

- H to đ không gian này g n tệ ạ ộ ầ ương ng v i h to đ pixel trong m t ch ng m cứ ớ ệ ạ ộ ộ ừ ự nào đó Ch ng h n , to đ không gian c a đi m g a c a b t kì pixel nào đẳ ạ ạ ộ ủ ể ữ ủ ấ ược phân

bi t v i to đ pixel c a pixel đó Cũng có m t vài khác bi t , tuy nhiên , trong toệ ớ ạ ộ ủ ộ ệ ạ

đ pixel , góc trên trái c a m t nh là (1,1 ) trong khi trong to đ không gian , v tríộ ủ ộ ả ạ ộ ịnày m c đ nh là (0.5,0.5 ) S khác nhau này là do h to đ pixel là r i r c trong khiặ ị ự ệ ạ ộ ờ ạ

to đ không gian là liên t c Cũng v y , góc trên trái luôn là (1,1 ) trong h pixel ,ạ ộ ụ ậ ệ

nh ng ta có th ch ra m t đi m g c không chính quy cho h to đ không gian M tư ể ỉ ộ ể ố ệ ạ ộ ộ

s khác bi t d gây nh m l n n a là quy ự ệ ễ ầ ẫ ữ ước : th t c a các thành ph n n m ngangứ ự ủ ầ ằ

và th ng đ ng đẳ ứ ược ph c v cho kí hi u c a hai h th ng Nh đã đ c p trụ ụ ệ ủ ệ ố ư ề ậ ước đây ,

to đ pixel đạ ộ ược đ i di n b i m t c p (r,c ) trong khi to đ không gian đạ ệ ở ộ ặ ạ ộ ược bi uể

di n b i (x,y) Khi cú pháp cho m t hàm s d ng r và c , nó tham chi u đ n h to đễ ở ộ ử ụ ế ế ệ ạ ộ pixel Khi cú pháp s d ng x, y nó đang ng m đ nh s d ng h to đ không gian ử ụ ầ ị ử ụ ệ ạ ộ

S d ng h to đ không gian không chính quy ử ụ ệ ạ ộ

- Theo m c đ nh , to đ không gian c a m t nh tặ ị ạ ộ ủ ộ ả ương ng v i to đ pixel Ch ngứ ớ ạ ộ ẳ

h n , đi m gi a c a pixel t i (5,3) có m t to đ không gian là x=3, y=5 ( nh r ngạ ể ữ ủ ạ ộ ạ ộ ớ ằ

th t c a to đ b đ o ngứ ự ủ ạ ộ ị ả ược ) S tự ương ng này làm đ n gi n nhi u hàm trongứ ơ ả ềtoolbox M t vài hàm ban đ u làm vi c v i to đ không gian h n là to đ pixelộ ầ ệ ớ ạ ộ ơ ạ ộ

nh ng khi ta đang s d ng to đ không gian theo m c đ nh , ta có th ch ra v tríư ử ụ ạ ộ ặ ị ể ỉ ịtrong to đ pixel ạ ộ

- Trong m t s tình hu ng , tuy nhiên , ta có th mu n s d ng to đ không gianộ ố ố ể ố ử ụ ạ ộkhông chính quy ( không m c đ nh ) Ch ng h n , ta có th ch ra góc trên trái c a m tặ ị ẳ ạ ể ỉ ủ ộ

nh t i đi m (19.0,7.5 ) thay cho (0.5,0,5 ) N u ta g i m t hàm mà tr v to đ cho

Trang 15

góc quay c a m t nh Theo m c đ nh , m t nh A , Xdata là [1 size(A,2)] , và Ydataủ ộ ả ặ ị ộ ả

là [1 size(A,1)] Ch ng h n , n u A là 100 hàng x 200 c t , giá tr Xdata m c đ nh là [1ẳ ạ ế ộ ị ặ ị200] và Ydata là [1 100] Nh ng giá tr trong nh ng véc t này th c là to đ c aữ ị ữ ơ ự ạ ộ ủ

đi m gi a c a pixel đ u tiên và cu i cùng vì v y , kho ng to đ th c để ữ ủ ầ ố ậ ả ạ ộ ự ược quay là

c u trúc này , d li u nh không đấ ữ ệ ả ượ ưc l u trong không gian làm vi c c a Matlab ệ ủ

- N u ta g i hàm imview mà không ch ra m t kì tham s nào , nó s hi n th m t h pế ọ ỉ ấ ố ẽ ể ị ộ ộ

ch n file cho phép ta ch ra tên file mu n hi n th ọ ỉ ố ể ị

Xem nhi u nh ề ả

- N u ta ch ra m t file mà ch a nhi u nh , hàm imview ch hi n th nh đ u tiênế ỉ ộ ứ ề ả ỉ ể ị ả ầ

Trang 16

Khi s d ng c u trúc này thì d li u nh không đử ụ ấ ữ ệ ả ược nh p vào trong không gian làmậ

vi c Tuy nhiên ,ta có th mang nh vào trong không gian làm vi c b ng cách s d ngệ ể ả ệ ằ ử ụ hàm getimage Hàm này s nh n d li u nh t handle c a m t đ i tẽ ậ ữ ệ ả ừ ủ ộ ố ượng nh hi nả ệ

t i Ch ng h n :ạ ẳ ạ

moon = getimage;

S gán d li u nh t moon.tif vào bi n moon ẽ ữ ệ ả ừ ế

II . Xử lý trên cơ sở vùng chọn ( Region – Based Processing )

- Trong ph n này , ta s xem xét nh ng khía c nh sau :ầ ẽ ữ ạ

+ B ng thu ng : Cung c p các thu t ng đả ậ ữ ấ ậ ữ ượ ử ục s d ng trong các phép x lýử

+ Ch đ nh rõ m t vùng ta quan tâm : Mô t làm sao đ ch ra m t vùng quan tâm sỉ ị ộ ả ể ỉ ộ ử

Filling a region Là quá trình x lý đi n đ y ( hay tô màu )ử ề ầ

m t vùng nh t đ nh b ng cách n i suy giáộ ấ ị ằ ộ

tr pixel t vi n c a vùng Quá trình x lýị ừ ề ủ ử

Trang 17

này có th để ượ ử ục s d ng đ t o m t đ iể ạ ộ ố

tượng trong m t nh dộ ả ường nh bi nư ế

m t khi chúng đấ ược thay th v i giá trế ớ ị

được tr n v i vùng n n ộ ớ ềFiltering a region Áp đ t m t phép l c lên m t vùng nh tặ ộ ọ ộ ấ

đ nh Ch ng h n , ta có th áp đ t m t sị ẳ ạ ể ặ ộ ự phép l c đi u ch nh cọ ề ỉ ường đ lên m tộ ộ vùng c a nhủ ả

N i suyộ Phương pháp được s d ng đ ử ụ ể ướ c

lượng m t giá tr nh m t v trí nh tộ ị ả ở ộ ị ấ

đ nh gi a các pixel c a nhị ữ ủ ảMasked filtering Thao tác ch áp đ t m t phép l c lên m tỉ ặ ộ ọ ộ

vùng quan tâm trong m t nh độ ả ược phân

bi t b ng m t n nh phân Giá tr đệ ằ ặ ạ ị ị ượ c

l c đọ ược tr l i cho các pixel mà m t nả ạ ặ ạ

nh phân ch a giá tr 1 , giá tr không đị ứ ị ị ượ c

l c đọ ược tr v cho các pixel mà m t nả ề ặ ạ

nh phân ch a giá tr 0ị ứ ị

2 Ch đ nh m t vùng quan tâm trên nh ỉ ị ộ ả

- M t vùng quan tâm là m t ph n c a nh mà ta mu n l c ho c thi hành các thao tácộ ộ ầ ủ ả ố ọ ặkhác trên nó Ta đ nh nghĩa m t vùng quan tâm b ng cách t o ra m t m t n nh phân ,ị ộ ằ ạ ộ ặ ạ ị

đó là m t nh nh phân có cùng kích thộ ả ị ước v i nh ta mu n x lý M t n ch a giá trớ ả ố ử ặ ạ ứ ị

1 cho t t c các pixel n m trong vùng quan tâm và ch a giá tr 0 cho các pixel nh ngấ ả ằ ứ ị ở ữ vùng khác

a - Ch n m t hình đa giác ọ ộ

Trang 18

+ BW=roipoly(I,c,r) tr l i m t vùng quan tâm đả ạ ộ ượ ực l a ch n b i hình đa giác đọ ở ượ c

mô t b i véc t c và r BW là m t nh nh phân có cùng kích thả ở ơ ộ ả ị ước v i nh ban đ u ớ ả ầ + BW=roipoly(I) : Hi n th nh I trên màn hình và đ ta ch ra vùng ch n v i trể ị ả ể ỉ ọ ớ ỏ chu t N u b qua I , roipoly ho t đ ng trên nh tr c hi n t i S d ng click chu tộ ế ỏ ạ ộ ả ở ụ ệ ạ ử ụ ộ

đ thêm các đ nh t i đa giác B ng cách nh n Backspace ho c Delete đ xoá các đ nhể ỉ ớ ằ ấ ặ ể ỉ

đã ch n trọ ước đó Khi ch n xong , nh n Enter đ k t thúc vi c ch n ọ ấ ể ế ệ ọ

+BW=roipoly(x,y,I,xi,yi) : S d ng véc t x và y đ t o l p h to đ không gianử ụ ơ ể ạ ậ ệ ạ ộkhông m c đ nh xi ,yi là véc t có cùng chi u dài ch ra các đ nh c a đa giác nh cácặ ị ơ ề ỉ ỉ ủ ư

v trí trong h to đ này ị ệ ạ ộ

+ [BW , xi,yi] = roipoly(…) tr l i to đ c a đa giác trong xi , yi Chú ý r ng roipolyả ạ ạ ộ ủ ằluôn luôn t o ra m t đa giác kín ạ ộ

+ [x,y,BW,xi,yi]=roipoly(…) tr l i XData và Ydata trong x và y , m t n nh trongả ạ ặ ạ ả

BW và đ nh c a đa giác trong xi và yi ỉ ủ

- N u roipoly đế ược g i không có tham s ra , nh k t qu s đọ ố ả ế ả ẽ ược hi n th trên m tể ị ộ hình m i ớ

Trang 19

thước v i nh đang đớ ả ượ ọc l c Ch ng h n , gi s ta mu n l c nh cẳ ạ ả ử ố ọ ả ường đ I , chộ ỉ

l c nh ng pixel mà giá tr c a nó l n h n 0.5 Ta có th t o m t m t n tọ ữ ị ủ ớ ơ ể ạ ộ ặ ạ ương ngứ

v i l nh :ớ ệ

BW = (I > 0.5);

- Ta cũng có th s d ng hàm poly2mask đ t o m t m t n nh phân Không gi ngể ử ụ ể ạ ộ ặ ạ ị ố hàm roipoly , poly2mask không yêu c u m t nh vào Ngoài ra , ta còn có th s d ngầ ộ ả ể ử ụ hàm roicolor đ đ nh nghĩa m t vùng quan tâm trên c s m t màu ho c m t vùngể ị ộ ơ ở ộ ặ ộ

cường đ nào đó Cú pháp c a hàm này nh sau :ộ ủ ư

+ 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 <= high)

BW là m t nh nh phân ộ ả ị

+BW = roicolor(A,v): Tr v m t vùng quan tâm đả ề ộ ượ ực l a ch n v i nh ng pixel trongọ ớ ữ

A mà h p v i các giá tr trong véc t v BW là m t nh nh phân ợ ớ ị ơ ộ ả ị

Trang 20

figure, imshow(BW)

2 L c m t vùng ọ ộ

- Ta có th s d ng hàm roifilt2 đ x lý m t vùng quan tâm Khi ta g i hàm roifilt2 ,ể ử ụ ể ử ộ ọ

ta ch ra m t nh cỉ ộ ả ường đ , m t m t n nh phân và m t b l c Hàm roifilt2 l c nhộ ộ ặ ạ ị ộ ộ ọ ọ ả vào và tr v m t nh mà ch a các giá tr đã đả ề ộ ả ứ ị ượ ọc l c cho các pixel mà m t n nhặ ạ ị phân ch a 1 và các giá tr cho các pixel mà m t n nh phân ch a 0 Ki u l c này đứ ị ặ ạ ị ứ ể ọ ượ c

+ J=roifilt2(h,I,BW ) : L c d li u trong I v i b l c tuy n tính hai chi u h BW làọ ữ ệ ớ ộ ọ ế ề

m t nh nh phân có cùng kích thộ ả ị ước v i nh g c và đớ ả ố ượ ử ục s d ng nh m t m t nư ộ ặ ạ cho vi c l c Hàm roifilt2 tr v m t nh ch a các giá tr đệ ọ ả ề ộ ả ứ ị ượ ọ ởc l c trong vùng ch nọ ( hay các pixel mà BW có giá tr 1 ) ị

+ J=roifilt2(I,BW,fun) : X lý d li u trong I s d ng hàm fun K t qu , J ch a cácử ữ ệ ử ụ ế ả ứgiá tr đã đị ược tính toán cho các pixel mà t i đó BW ch a 1 và giá tr th c trong I choạ ứ ị ựcác pixel mà t i đó BW ch a giá tr 0 ạ ứ ị

+ J=roifilt2(I,BW,fun,P1,P2…) Truy n thêm các tham s P1,P2 cho hàm funề ố

imshow(J), figure, imshow(J)

Đ hi u rõ h n v áp d ng b l c cho m t vùng , ta hãy xem xét c th m t ví dể ể ơ ề ụ ộ ọ ộ ụ ể ộ ụ sau :

Trang 21

2 T o m t n : Trong ví d này , m t n là m t nh nh phân ch a ch nh m t nạ ặ ạ ụ ặ ạ ộ ả ị ứ ữ Ả ặ ạ

ph i đả ượ ắ ểc c t đ có cùng kích thước v i nh đớ ả ượ ọc l c

Trang 22

- V i roifill , ta l a ch n m t vùng quan tâm b ng tr chu t Khi l a ch n xong , hàmớ ự ọ ộ ằ ỏ ộ ự ọroifill tr l i m t nh v i vùng đả ạ ộ ả ớ ược ch n đã b đi n đ y ọ ị ề ầ

- Ví d sau s d ng hàm roifill đ s a nh Đụ ử ụ ể ử ả ường vi n c a vùng đề ủ ược ch n đọ ượ c

- Hàm roifill đi n đ y trong m t vùng đa giác trong m t nh cề ầ ộ ộ ả ường đ Nó tuy n tínhộ ế

m t cách mộ ượt mà các giá tr pixel t phía vi n c a đa giác vào phía trong đa giác b ngị ừ ề ủ ằ cách gi i phả ương trình Laplace Hàm roifill có th để ượ ử ục s d ng , ch ng h n đ xoáẳ ạ ể

m t đ i tộ ố ượng nh trong m t nh ỏ ộ ả

+ J=roifill(I,c,r) : Đi n đ y m t đa giác đề ầ ộ ược ch ra b i các véc t có cùng chi u dài cỉ ở ơ ề

và r Chúng ch a to đ hàng - c t c a các pixel trên các đ nh c a đa giác ứ ạ ộ ộ ủ ỉ ủ

+ J=roifill(I) : Hi n th nh I trên màn hình và đ ta l a ch n vùng đa giác b ng trể ị ả ể ự ọ ằ ỏ chu t N u b qua I , hàm thao tác trên nh đang ch n S d ng phím Backspaceộ ế ỏ ả ọ ử ụ

ho c Delete đ xoá các đ nh trặ ể ỉ ước đó đã ch n Khi ch n xong , dùng phím Enter đọ ọ ể

k t thúc ch n ế ọ

+ J=roifill(I,BW) : S d ng BW ( m t nh nh phân cùng kích thử ụ ộ ả ị ước v i I ) nh m tớ ư ộ

m t n Hàm roifill s đi n đ y vùng trong I tặ ạ ẽ ề ầ ương ng v i các pixel khác 0 trong BWứ ớ N u có nhi u vùng , roifill thi hành tuy n tính hoá trên m i vùng đ c l p ế ề ế ỗ ộ ậ

Trang 23

+[J , BW ]=roifill(…) : tr v m t n nh phân đả ề ặ ạ ị ượ ử ục s d ng đ tính toán pixel nào Iể

s đi n đ y BW là m t nh nh phân có cùng kích thẽ ề ầ ộ ả ị ước v i I ớ

+ J=roifill(x,y,I,xi,yi) : S d ng véc t x và y đ thành l p m t h to đ không gianử ụ ơ ể ậ ộ ệ ạ ộkhông m c đ nh xi , yi có cùng đ dài ch ra đ nh c a đa giác ặ ị ộ ỉ ỉ ủ

+ [x,y,J,BW,xi,yi]=roifill(…) : tr l i Xdata và Ydata trong x và y , nh ra J , m t nả ạ ả ặ ạ

nh BW và đ nh đa giác trong hai véc t xi , yi

deconvolution X lý ngử ượ ạ ớc l i v i hi u ng xoáy , cu nệ ứ ố

Distortion operator Toán t mô t m t quá trình nh nh nử ả ộ ả ậ

được khác v i nh ban đ u Distortionớ ả ầ

được gây ra b i m t hàm PSF ch là m tở ộ ỉ ộ trong nh ng ki u distortionữ ể

Optical transfer function(OTF) Trong vùng t n s , OTF mô t đáp ngầ ố ả ứ

c a m t h th ng tuy n tính , v trí khôngủ ộ ệ ố ế ị

Trang 24

2 Th nào là làm m ? ế ờ

a - Nguyên nhân c a s m ủ ự ờ

- S làm m hay s phai nh t c a m t nh có th gây ra b i nhi u tác nhân :ự ờ ự ạ ủ ộ ả ể ở ề

+ Chuy n đ ng trong khi capture nh - b i camera ho c khi th i gian l sáng nhi uể ộ ả ở ặ ờ ộ ề

+ n : Nhi u ph , đễ ụ ượ ạc t o ra trong quá trình nh n nh , nó làm h ng nh ậ ả ỏ ả

Chú ý : nh f th c t không t n t i nh này đ i di n cho b c nh mà ta có n u tìnhẢ ự ế ồ ạ Ả ạ ệ ứ ả ế

tr ng thu nh n nh là hoàn h o ạ ậ ả ả

T m quan tr ng c a PSF ầ ọ ủ

- D a trên ch đ này , tác v chính c a vi c ch ng làm m là ự ế ộ ụ ủ ệ ố ờ Deconvolve nh b mả ị ờ

v i PSF Đ minh ho , ví d này s l y 3 nh không b m và c ý làm m chúngớ ể ạ ụ ẽ ấ ả ị ờ ố ờ

b ng cách ằ convolve nó v i PSF Ví d s d ng hàm fspecial đ t o m t PSF môớ ụ ử ụ ể ạ ộ

ph ng m t chuy n đ ng m , ch ra chi u dài c a m tính b ng pixel ( LEN=31 ) vàỏ ộ ể ộ ờ ỉ ề ủ ờ ằgóc m tính theo đ ( THETA=11) M t khi PSF đờ ộ ộ ượ ạc t o , ví d s d ng hàmụ ử ụimfilter đ ể convolve PSF v i nh g c I đ t o nh b làm m Blurred ớ ả ố ể ạ ả ị ờ

I = imread('peppers.png');

I = I(60+[1:256],222+[1:256],:); % crop the image

figure; imshow(I); title('Original Image');

LEN = 31;

THETA = 11;

PSF = fspecial('motion',LEN,THETA); % create PSF

Blurred = imfilter(I,PSF,'circular','conv');

Trang 25

figure; imshow(Blurred); title('Blurred Image');

3 S d ng các hàm khôi ph c nh m ử ụ ụ ả ờ

- Toolbox x lý nh c a Matlab g m có 4 hàm khôi ph c nh m bao g m :ử ả ủ ồ ụ ả ờ ồ

+deconvwnr : S d ng b l c Wienerủ ụ ộ ọ

+ deconvreg : S d ng b l c đử ụ ộ ọ ược quy t c hoá ắ

+ deconvlucy : S d ng gi i thu t Lucy-Richardsonử ụ ả ậ

+ đeconvblind : S d ng gi i thu t ử ụ ả ậ blind deconvolution

- T t c nh ng hàm này ch p nh n m t PSF và m t nh b m nh là các tham sấ ả ữ ấ ậ ộ ộ ả ị ờ ư ố chính c a nó V i hai hàm đ u tiên , ta cung c p m t s thông tin v nhi u đ gi m sủ ớ ầ ấ ộ ố ề ễ ể ả ự khu ch đ i nhi u đ n m c có th trong quá trình khôi ph c ế ạ ễ ế ứ ể ụ

- Hàm deconvlucy thi hành m t cách nhanh chóng gi i thu t Lucy-Richardson Hàmộ ả ậnày th c hi n nhi u vòng l p , s d ng kĩ thu t t i u và th ng kê Poisson V i hàmự ệ ề ặ ử ụ ậ ố ư ố ớnày , ta không c n ph i cung c p thông tin v nhi u ph trong nh b “b n”ầ ả ấ ề ễ ụ ả ị ẩ

- Hàm deconvblind thi hành gi i thu t blind deconvolution mà không c n nh n ra PSF ả ậ ầ ậKhi ta g i hàm deconvblind , ta truy n m t tham s nh là gía tr đoán bi t ban đ u ọ ề ộ ố ư ị ế ầ ở PSF Hàm deconvblind tr l i m t PSF đã đả ạ ộ ược khôi ph c đ khôi ph c nh S thiụ ể ụ ả ựhành s d ng cùng ch đ suy gi m và l p nh hàm deconvlucy ử ụ ế ộ ả ặ ư

Chú ý : Ta có th c n ph i thi hành nhi u quá trình kh m l p đi l p l i , m i l nể ầ ả ề ử ờ ặ ặ ạ ỗ ầ thay đ i tham s truy n vào hàm kh m cho t i khi thu đổ ố ề ử ờ ớ ược m t nh g n x p x v iộ ả ầ ấ ỉ ớ

nh g c

- Đ tránh b rung đ ng trong nh để ị ộ ả ược kh nhi u , ta có th s d ng hàm edgetaperử ễ ể ử ụ

đ ti n x lý nh trể ề ử ả ước khi truy n nó cho hàm kh m .ề ử ờ

a - Kh m v i b l c Wiener ử ờ ớ ộ ọ

- S d ng hàm deconvwnr đ kh m m t nh s d ng b l c Wiener B l c này cóử ụ ể ử ờ ộ ả ử ụ ộ ọ ộ ọ

th để ượ ử ục s d ng r t hi u qu khi đ c tính t n s c a nh và nhi u ph là đã bi t ítấ ệ ả ặ ầ ố ủ ả ễ ụ ế

nh t là vài b c Trong trấ ậ ường h p không có nhi u , b l c Wiener gi m t i b l cợ ễ ộ ọ ả ớ ộ ọ

Trang 26

1 Đ c m t nh vào không gian làm vi c ( đ tăng t c quá trình kh m , ví d nàyọ ộ ả ệ ể ố ử ờ ụcũng c t nh ) ắ ả

Trang 27

wnr1 = deconvwnr(Blurred,PSF);

figure;imshow(wnr1);

title('Restored, True PSF');

Tinh ch k t qu ế ế ả

- Ta có th tác đ ng lên k t qu b ng cách cung c p các giá tr cho các tham s tuỳể ộ ế ả ằ ấ ị ố

ch n đọ ược tr giúp b i hàm deconvwnr ợ ở

b - Kh m v i b l c đ ử ờ ớ ộ ọ ượ c quy t c hoá ắ

- S d ng hàm deconvreg đ kh m m t nh s d ng b l c đử ụ ể ử ờ ộ ả ử ụ ộ ọ ược quy t c hoá M tắ ộ

b l c ki u này có th độ ọ ể ể ượ ử ục s d ng hi u qu khi thông tin v nhi u ph đệ ả ề ễ ụ ược bi tế

m t cách h n ch ộ ạ ế

- Đ minh ho , ví d này mô ph ng vi c làm m m t nh s d ng m t hàm PSF l cể ạ ụ ỏ ệ ờ ộ ả ử ụ ộ ọ Gaussian v i m t nh ( s d ng imfilter ) Nhi u ph trong nh đớ ộ ả ử ụ ễ ụ ả ược mô ph ng b ngỏ ằ cách thêm vào m t nhi u Gaussian c a bi n V vào nh b m ( s d ng hàm imnoise ) ộ ễ ủ ế ả ị ờ ử ụ

1 Đ c m t nh vào trong không gian làm vi c Ví d này s c t nh đ gi m kíchọ ộ ả ệ ụ ẽ ắ ả ể ả

thướ ủ ảc c a nh

I = imread('tissue.png');

Trang 29

C - Kh m v i gi i thu t Lucy- Richardson ử ờ ớ ả ậ

- S d ng hàm deconvlucy đ kh m m t nh b ng cách s d ng gi i thu t Lucy-ử ụ ể ử ờ ộ ả ằ ử ụ ả ậRichardson Hàm này có th để ược s d ng hi u qu khi bi t đử ụ ệ ả ế ược hàm PSF nh ngư

bi t ít v nhi u tác đ ng ph lên nh ế ề ễ ộ ụ ả

- Hàm deconvlucy thi hành vài s đi u h p t i gi i thu t Lucy-Richardson S d ngự ề ợ ớ ả ậ ử ụ

nh ng đi u h p này ta có th :ữ ề ợ ể

+ Gi m tác đ ng c a s m r ng nhi u trên m t nh khôi ph c ả ộ ủ ự ở ộ ễ ộ ả ụ

+ Gi i thích đả ược tính không đ ng nh t c a ch t lồ ấ ủ ấ ượng nh ả

+ Đi u khi n camera đ c h t nhi u n n ề ể ọ ế ễ ề

+ C i thi n đ phân gi i c a nh ph c h i b ng cách l y m u phả ệ ộ ả ủ ả ụ ồ ằ ấ ẫ ụ

Gi m tác đ ng c a s m r ng nhi u ả ộ ủ ự ở ộ ễ

- S m r ng nhi u là m t v n đ thự ở ộ ễ ộ ấ ề ường g p c a phặ ủ ương pháp gi ng c c đ iố ự ạ ( maximum likelihood ) c g ng l p đ y d li u g n nh t có th Sau m t s vòngố ắ ấ ầ ữ ệ ầ ấ ể ộ ố

l p , nh đặ ả ược khôi ph c có th có hình l m đ m , đ c bi t v i m t đ i tụ ể ố ố ặ ệ ớ ộ ố ượng ph ngẳ

được quan sát t i t s tín hi u / nhi u nh Nh ng đ m này không đ i di n cho b tạ ỉ ố ệ ễ ỏ ữ ố ạ ệ ấ

Trang 30

- Damping cũng đượ ử ục s d ng đ gi m rung ( ringing ) – hình d ng c a c u trúc t nể ả ạ ủ ấ ầ

s cao trong nh khôi ph c Ringing không c n thi t đ n k t qu c a m r ngố ả ụ ầ ế ế ế ả ủ ở ộ nhi u ễ

Tính không đ ng nh t c a ch t l ồ ấ ủ ấ ượ ng nh ả

- B t kì s bi n th nào c a nh khôi ph c th c là do d li u có th ch a nh ng pixelấ ự ế ể ủ ả ụ ự ữ ệ ể ứ ữ

h ng ho c ch t lỏ ặ ấ ượng c a pixel nh n đủ ậ ược bi n đ i theo th i gian và v trí B ngế ổ ờ ị ằ cách ch ra tham s m ng WEIGHT v i hàm deconvlucy , ta có th ch ra r ng nh ngỉ ố ả ớ ể ỉ ằ ữ pixel nào đó trong nh b b qua Đ b qua m t pixel , gán m t tr ng lả ị ỏ ể ỏ ộ ộ ọ ượng 0 t iớ

m t ph n t trong m ng WEIGHT tộ ầ ừ ả ương ng v i pixel trong nh ứ ớ ả

- Gi i thu t h i t trên các giá tr đã đoán bi t đả ậ ộ ụ ị ế ược v i các pixel h ng trên c s c aớ ỏ ơ ở ủ thông tin t các pixel lân c n S bi n đ i trong đáp ng phát hi n t pixel t i pixel cóừ ậ ự ế ổ ứ ệ ừ ớ

th để ược đi u ti t b i m ng WEIGHT Thay cho vi c gán m t giá tr tr ng lề ế ở ả ệ ộ ị ọ ượng 1

t i các pixel t t , ta có th ch ra các giá tr và tr ng lớ ố ể ỉ ị ọ ượng mà các pixel tuỳ thu c vàoộ

lượng các flat-field correction

Đi u khi n camera đ c h t nhi u ề ể ọ ế ễ

- Nhi u trong thi t b CCD có hai thành ph n chính :ễ ế ị ầ

+ Phôton k đ n nhi u v i m t phân b Poissonể ế ễ ớ ộ ố

+ Đ c toàn b nhi u v i phân b Gaussọ ộ ễ ớ ố

- Vòng l p Lucy-Richardson th c ch t nh n ra ki u nhi u đ u tiên Ta ph i nh n raặ ự ấ ậ ể ễ ầ ả ậ

ki u nhi u th hai , n u không nó có th là nguyên nhân các pixel v i các phôton t i ể ễ ứ ế ể ớ ớ ở

m c th p s nh n giá tr âm ứ ấ ẽ ậ ị

- Hàm deconvlucy s d ng tham s vào READOUT đ đi u khi n camera đ c toàn bử ụ ố ể ề ể ọ ộ nhi u Giá tr c a tham s này đi n hình là t ng c a nhi u t ng c ng và nhi u n n ễ ị ủ ố ể ổ ủ ễ ổ ộ ễ ề Giá tr c a tham s READOUT ch ra m t đ l ch đ m b o r ng t t c các giá tr đ uị ủ ố ỉ ộ ộ ệ ả ả ằ ấ ả ị ề

dương

Ví d : S d ng hàm deconvlucy đ kh m m t nh ụ ử ụ ể ử ờ ộ ả

- Đ minh ho , ví d này s d ng hàm deconvlucy , nó mô ph ng m t nh b m vàể ạ ụ ử ụ ỏ ộ ả ị ờnhi u b ng cách convolve m t b l c Gauss v i m t nh ( s d ng hàm imfilter ) vàễ ằ ộ ộ ọ ớ ộ ả ử ụsau đó thêm nhi u Gauss ( s d ng hàm imnoise ) ễ ử ụ

1 Đ c m t nh vào không gian làm vi c ọ ộ ả ệ

I = imread('board.tif');

I = I(50+[1:256],2+[1:256],:);

Trang 32

th i , s d ng m t quá trình l p tờ ử ụ ộ ặ ương t nh gi i thu t Lucy-Richardson ự ư ả ậ

- Hàm deconvblind ch gi ng nh hàm deconvlucy , thi hành m t vài s đi u h p t iỉ ố ư ộ ự ề ợ ớ

Trang 33

figure; imshow(PSF,[],'notruesize'); title('Original PSF');

Trang 34

- Đ quy t đ nh kích thể ế ị ướ ủc c a PSF , ki m tra nh m và đo chi u r ng c a m ( theoể ả ờ ề ộ ủ ờpixel ) xung quanh m t v t có hình d ng nh t đ nh Trong nh m m u , ta có th đoộ ậ ạ ấ ị ả ờ ẫ ể

m g n v i đờ ầ ớ ường vi n tà áo c a ngề ủ ười đàn ông B i vì kích thở ước c a PSF là quanủ

tr ng h n giá tr c a nó , ta có th ch ra m t m ng toàn s 1 nh là PSF ban đ u ọ ơ ị ủ ể ỉ ộ ả ố ư ầ

- Hình sau đây ch ra m t s khôi ph c mà s ph ng đoán ban đ u v kích thỉ ộ ự ụ ự ỏ ầ ề ước c aủ PSF là gi ng v i kích thố ớ ước c a PSF đã gây ra m Trong ng d ng th c , ta có thủ ờ ứ ụ ự ể

c n ch y l i hàm deconvblind , ki m tra PSF v i các kích thầ ạ ạ ể ớ ước khác nhau cho t i khiớ

nh n đậ ược m t k t qu n đ nh PSF độ ế ả ổ ị ược khôi ph c tr l i b i m i l nụ ả ạ ở ỗ ầ deconvolution có th cung c p m t ch d n có giá tr cho kích thể ấ ộ ỉ ẫ ị ướ ố ưc t i u c a PSF ủ

Trang 35

+ Tránh vùng tương ph n cao t s x lýả ừ ự ử

+ Ch ra m t giá tr PSF t t h n ỉ ộ ị ố ơ

5 T o m t m ng WEIGHT đ lo i tr vùng tạ ộ ả ể ạ ừ ương ph n cao t thao tác kh m ả ừ ử ờ

Đi u này có th làm gi m rung do tề ể ả ương ph n nh trong k t qu ả ư ế ả

Đ lo i tr m t pixel t s x lý , ta t o m t m ng có cùng kích thể ạ ừ ộ ừ ự ử ạ ộ ả ước v i nh g cớ ả ố

và gán giá tr 0 cho các pixel trong m ng tị ả ương ng v i pixel trong nh g c mà taứ ớ ả ố

mu n lo i b Đ t o m t m ng WEIGHT , ví d s d ng m t s k t h p c a vi cố ạ ỏ ể ạ ộ ả ụ ử ụ ộ ự ế ợ ủ ệ phát hi n c nh và x lý hình thái h c đ phát hi n vùng có đ tệ ạ ử ọ ể ệ ộ ương ph n cao trongả

nh Do m trong nh là tuy n tính , ví d m r ng nh ra 2 l n Đ lo i tr các

pixel thu c vùng biên c a nh ( m t vùng có đ tộ ủ ả ộ ộ ương ph n cao ) t quá trình x lý ,ả ừ ử

ví d này s d ng padarray đ gán giá tr 0 t i t t c các pixel trên biên nh :ụ ử ụ ể ị ớ ấ ả ả

Trang 36

P1 = P;

P1(find(P1 < 0.01))=0;

7 Tr l i deconvolution , ch ra m ng WEIGHT và s a giá tr PSF Chú ý , nh ph cả ạ ỉ ả ử ị ả ụ

h i có ít rung xung quanh vùng có cồ ường đ tộ ương ph n l n h n k t qu trả ớ ơ ế ả ước đây :[J2 P2] = deconvblind(Blurred,P1,50,[],WEIGHT);

Trang 37

đ ng nh t và lồ ấ ượng t hoá v i bi n đ ngử ớ ế ộ

nh nh t ỏ ấ

Indexed image Ảnh mà các giá tr pixel c a nó đị ủ ược đánh

s tr c ti p trong m t b n đ màu Trongố ự ế ộ ả ồMatlab , m t nh ch s độ ả ỉ ố ược đ i di nạ ệ

b i m t m ng thu c l p uint8 , uint16ở ộ ả ộ ớ

ho c double B n đ màu luôn là m tặ ả ồ ộ

m ng mx3 thu c l p double ả ộ ớ

Intensity image Ảnh bao g m các giá tr cồ ị ường đ Trongộ

Matlab , nh cả ường đ độ ược đ i di n b iạ ệ ở

m t m ng thu c l p uint8 ,uint16 ho cộ ả ộ ớ ặ double Trong khi nh cả ường đ khôngộ

đượ ưc l u tr v i b n đ màu , Matlab sữ ớ ả ồ ử

d ng b n đ màu h th ng đ hi n thụ ả ồ ệ ố ể ể ị chúng

RGB image Ảnh mà trong đó m i pixel đỗ ược ch đ nhỉ ị

rõ 3 màu R,G,B Trong Matlab , m t nhộ ả RGB được đ i di n b i m t ma tr nạ ệ ở ộ ậ mxnx3 thu c l p uint8 , uint16 ho cộ ớ ặ double

Screen bit depth S lố ượng bít trên m t pixel màn hìnhộ

Screen color resolution S lố ượng các màu riêng bi t có th đệ ể ượ c

t o ra b i màn hìnhạ ở

2 Làm vi c v i các chi u sâu bít màn hình khác nhau ệ ớ ề

Trang 38

- B t ch p s lấ ấ ố ượng màu s c h th ng có th hi n th , Matlab có th l u tr và x lýắ ệ ố ể ể ị ể ư ữ ử các nh v i đ sâu bít r t cao Nh ng nh này đả ớ ộ ấ ữ ả ược hi n th t t nh t trên h th ng 24ể ị ố ấ ệ ốbít màu nh ng thư ường khá t t trên h th ng 16 bít màu ố ệ ố

a – Tính đ sau bít màn hình ộ

- Đ tính đ sâu bít c a màn hình , s d ng l nh sau đây :ể ộ ủ ử ụ ệ

get(0,'ScreenDepth');

Giá tr nguyên tr v chính là s bít trên m t pixel màn hìnhị ả ề ố ộ

+ 8 : 8 bít hi n th tr giúp 256 màu M t màn hình 8 bít có th s n sinh ra b t kì màuể ị ợ ộ ể ả ấ

s c nào có trên màn hình 24 bít nh ng ch 256 màu có th xu t hi n cùng lúc ắ ư ỉ ể ấ ệ

+ 16 :Ch đ hi n th 16 bít thế ộ ể ị ường s d ng 5 bít cho m i thành ph n màu d n đ nử ụ ỗ ầ ẫ ế

32 m c cho m i màu R,G,B Do đó , nó tr giúp 32768 màu riêng bi t M t vài hứ ỗ ợ ệ ộ ệ

th ng s d ng các bít ph đ tăng s lố ử ụ ụ ể ố ượng m c c a màu G Trong trứ ủ ường h p này ,ợ

s lố ượng màu khác nhau được tr giúp là 64536 ợ

+ 24 : Ch đ hi n th 24 bít s d ng 8 bít cho m i màu R, G,B d n đ n 256 m c choế ộ ể ị ử ụ ỗ ẫ ế ứ

m i màu này , do đó , nó tr giúp 16777216 màu khác nhau ỗ ợ

+ 32 : S d ng 24 bít đ l u thông tin màu và s d ng 8 bít còn l i đ l u d li uử ụ ể ư ử ụ ạ ể ư ữ ệ trong su t ( kênh anpha ) ố

b - Ch n đ sâu bít màn hình ọ ộ

- Ph thu c vào h th ng , ta có th ch n đ sâu bít màn hình ta mu n Nhìn chung ,ụ ộ ệ ố ể ọ ộ ố

ch đ hi n th 24 bít t o ra k t qu t t nh t N u ta mu n s d ng m t đ sâu th pế ộ ể ị ạ ế ả ố ấ ế ố ử ụ ộ ộ ấ

h n 16 bít thơ ường được s d ng h n là 8 bít Tuy nhiên , hi n th 16 bít có m t sử ụ ơ ể ị ộ ố

gi i h n ( Xem thêm help online ) ớ ạ

3 Gi m s l ả ố ượ ng màu trong m t nh ộ ả

- Ta s xem xét làm cách nào đ gi m s lẽ ể ả ố ượng màu trong m t nh ch s ho c nhộ ả ỉ ố ặ ả RGB Ta cũng xem xét đ n kĩ thu t tr n ( dithering ) Dithering đế ậ ộ ượ ử ục s d ng đ tăngể

s lố ượng màu c a m t nhủ ộ ả

- Toolbox cung c p cho ta m t s hàm sau đây đ gi m màu :ấ ộ ố ể ả

+ imapprox : Gi m s lả ố ượng màu đượ ử ục s d ng b i nh ch s , cho phép ta ch ra sở ả ỉ ố ỉ ố

lượng màu trong b n đ màu m i ả ồ ớ

+ rgb2ind : Convert m t nh RGB thành m t nh ch s , cho phép ta ch ra s lộ ả ộ ả ỉ ố ỉ ố ượ ngmàu ch a trong b n đ màu m i ứ ả ồ ớ

Trang 39

- Tên các h th ng v i hi n th 24 bít màu , nh RGB ( true-color ) có th hi n th t iệ ố ớ ể ị ả ể ể ị ớ

16777216 màu khác nhau Trên các h th ng v i đ sâu bít màn hình th p h n , nhệ ố ớ ộ ấ ơ ả RGB v n đẫ ược hi n th khá t t b i vì Matlab t đ ng s d ng ph i tr n và x p xể ị ố ở ự ộ ử ụ ố ộ ấ ỉ màu n u th y c n thi t ế ấ ầ ế

- nh ch s tuy nhiên , có th gây ra v n đ n u chúng có m t s lẢ ỉ ố ể ấ ề ế ộ ố ượng màu l n ớ Nhìn chung , ta nên gi i h n nh ch s t i 256 màu vì các lý do sau đây :ớ ạ ả ỉ ố ớ

+ Trên h th ng v i ch đ hi n th 8 bít , nh ch s v i nhi u h n 256 màu s c nệ ố ớ ế ộ ể ị ả ỉ ố ớ ề ơ ẽ ầ

được ph i tr n ( dithered ) ho c ánh x ( mapped ) và do đó có th không hi n th t t ố ộ ặ ạ ể ể ị ố+ Trên m t s h đi u hành ( platform ) , b n đ màu không th vộ ố ệ ề ả ồ ể ượt quá 256 màu + N u m t nh ch s có nhi u h n 256 màu , Matlab không th l u d li u nh trongế ộ ả ỉ ố ề ơ ể ư ữ ệ ả

m t m ng thu c l p uint8 tuy nhiên , nhìn chung s d ng m t m ng thu c l p doubleộ ả ộ ớ ử ụ ộ ả ộ ớthay th làm cho kích thế ướ ủ ảc c a nh l n h n ớ ơ

+ [Y,newmap]=imapprox(X,map,n) : X p x các màu trong m t nh ch s X đấ ỉ ộ ả ỉ ố ược k tế

h p v i b n đ màu map b ng cách s d ng lợ ớ ả ồ ằ ử ụ ượng t bi n đ i nh nh t ( minumumử ế ổ ỏ ấvariance quantization ) Hàm imapprox tr v nh ch s Y v i b n đ màu newmapả ề ả ỉ ố ớ ả ồ

có nhi u nh t n màu ề ấ

Trang 40

+ Y=imapprox(…,dither_option ) : cho phép ho c c m tr n dither_option là m t chu iặ ấ ộ ộ ỗ

có m t ho c nhi u giá tr Giá tr m c đ nh độ ặ ề ị ị ặ ị ược đ t trong d u ({}) N uặ ấ ế dither_option là {‘dither’} - s tr n n u c n thi t đ thu đẽ ộ ế ầ ế ể ược m t đ phân gi i màuộ ộ ả

t t h n N u dither_option là (‘nodither’) – ánh x m i màu trong nh g c t i màuố ơ ế ạ ỗ ả ố ớ

g n nh t trong b n đ màu m i Không có phép tr n nào đầ ấ ả ồ ớ ộ ược th c hi n ự ệ

- Hàm rgb2ind convert nh RGB thành nh ch s s d ng m t trong 3 cách khác nhau :ả ả ỉ ố ử ụ ộ

lượng t đ u , lử ề ượng t bi n đ i c c ti u và ánh x b n đ màu V i t t c cácử ế ổ ự ể ạ ả ồ ớ ấ ả

phương pháp này , rgb2ind cũng tr n nh tr khi ta ch ra nodither trong dither_option ộ ả ừ ỉ+ [X,map]=rgb2ind(RGB,tol) : Convert nh RGB thành m t nh ch s X s d ngả ộ ả ỉ ố ử ụ

lượng t đ u map ch a nhi u nh t (floor(1/tol)+1)^3 màu tol có giá tr t 0 đ n 1 ử ề ứ ề ấ ị ừ ế+ [X,map]=rgb2ind(RGB,n) : Convert nh RGB thành nh ch s X s d ng lả ả ỉ ố ử ụ ượng tử

bi n đ i c c ti u , map ch a nhi u nh t n màu , n ph i nh h n ho c b ng 65536ế ổ ự ể ứ ề ấ ả ỏ ơ ặ ằ+ X=rgb2ind(RGB,map ) : Convert nh RGB thành nh ch s X v i b n đ màu mapả ả ỉ ố ớ ả ồ

b ng cách h p các màu trong RGB v i các màu g n nh t trong b n đ màu map ,ằ ợ ớ ầ ấ ả ồsize(map,1) ph i nh h n ho c b ng 65536ả ỏ ơ ặ ằ

+[…]=rgb2ind(…,dither_option ) : Cho phép ho c c m tr n , dither_option là m tặ ấ ộ ộ chu i Các giá tr c a dither_option gi ng nh trong hàm imapprox ỗ ị ủ ố ư

Ngày đăng: 27/08/2012, 09:00

HÌNH ẢNH LIÊN QUAN

Hình sau đây mô t  hình h c c a bi n đ i Radon ả ọ ủ ế ổ - Các kiểu ảnh , các thao tác ảnh cơ bản trong Toolbox
Hình sau đây mô t hình h c c a bi n đ i Radon ả ọ ủ ế ổ (Trang 68)
Hình d ng xung quanh và kích c  cho tác ạ ỡ thao tác hình thái bao g m giãn n  và xói ồ ở mòn - Các kiểu ảnh , các thao tác ảnh cơ bản trong Toolbox
Hình d ng xung quanh và kích c cho tác ạ ỡ thao tác hình thái bao g m giãn n và xói ồ ở mòn (Trang 128)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w