1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xử lý tín hiệu hình ảnh với Matlab Khoá luận tốt nghiệp

56 413 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đ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 56
Dung lượng 10,48 MB

Nội dung

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2 KHOA VẬT LÝ

PHẠM THỊ BÍCH THUẬN

XỬ LÍ TÍN HIỆU HÌNH ANH VOI MATLAB

KHĨA LUẬN TĨT NGHIỆP ĐẠI HỌC

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2 KHOA VẬT LÝ

PHAM THI BiCH THUAN

XU Li TIN HIEU HINH ANH VOI MATLAB

Chuyên ngành: Sư phạm kỹ thuật

KHĨA LUẬN TĨT NGHIỆP ĐẠI HỌC

Người hướng dẫn khoa học GV Trần Quang Huy

Trang 3

LỜI CÁM ƠN

Trong thời gian thực hiện khố luận tốt nghiệp, tơi đã nhận được rất

nhiều sự giúp đỡ quý báu của quí thầy cơ và các bạn

Trước tiên cho tơi gửi lời cảm ơn sâu sắc đến thầy Trần Quang Huy, người đã trực tiếp giúp đỡ tơi trong suốt thời gian nghiên cứu và thực hiện đề tài

Tơi xin chân thành cảm ơn các thầy cơ trong khoa Vật lí đã giúp đỡ tơi

để tơi cĩ thể hồn thành khố luận theo đúng thời gian

Tơi xin kính chúc các thầy cơ và các bạn luơn dồi dào sức khoẻ, hạnh

phúc và thành cơng trong cuộc sống

Mặc dù tơi đã cố gắng rất nhiều để hồn thành đề tài này, song do giới

hạn về mặt thời gian cũng như kiến thức nên nội dung cịn nhiều thiếu sĩt Rất mong nhận được sự đĩng gĩp ý kiến của quý thầy cơ và các bạn sinh viên để Luận văn của tơi được hồn thiện hơn

Tơi xin chân thành cảm ơn!

Hà Nội, tháng 5 năm 2013 Sinh viên

Trang 4

LỜI CAM ĐOAN

Tơi xin cam đoan trước Hội đồng xét khố luận tốt nghiệp, đây là đề tài

do tơi tự tìm hiểu và nghiên cứu dưới sự hướng dẫn của thầy Trần Quang Huy

Đề tài này khơng trùng với bất kì đề tài nào trước đây

Nếu sai tơi xin chịu sự kỉ luật trước Hội đồng

Hà Nội, tháng 5 năm 2013 Sinh viên

Trang 5

DANH MỤC CÁC BÁNG Bảng thuật ngữ biến đổi khơng gian ảnh

Bảng các phương pháp nội suy Bảng thuật ngữ màu sắc

Trang 6

Hình 1.1: Hình 1.2: Hình 1.3: Hình 1.4: Hình 1.5: Hình 1.6: Hình 1.7: Hình 1.8: Hinh 2.1: Hinh 3.1: Hinh 3.2: Hinh 3.3: Hinh 3.4: DANH MỤC CÁC HÌNH VẼ

Cửa số làm việc của matlab Cửa số Command History Cửa số Workspace Cửa số Variable Editor Ảnh được định chỉ số Ảnh grayscale Ảnh nhị phân Ảnh RGB

Trang 7

MỤC LỤC Trang phụ bÌa - - Sc nk 1x Sv ST TH TT HH ng UV) e IUc oi 0n Danh mục các bảng, c3 1211311511213 111 1111111111 11111111 111 11g cry Danh muc Cac hinh V6 78 .(1 M000 0 1 )(9)8))001 c1 .5 3

CHUONG 1: TÌM HIỂU CƠ BẢN VẺ MATLAB VÀ ẢNH 3

1.1 Tìm hiểu cơ bản về Matlab 2-2229 E+2E2EESEEEEEE2EEEEEESEErrrerree 3 1.1.1 Khởi động Matlab - c1 1211211151111 111 12111111 1111 11 111 1 cư, 3 1.1.2 Các cửa số làm việc của Matlab -¿- 5s sSkckEkEEEEEEEEEEerksrrkee 4 1.2 Tìm hiểu cơ bản về ảnh s¿25222+2223 2212221221271 7

L.2.1 Khai na 7

1.2.2 Các kiểu ảnh trong Matlab 2-2 5s2S22E2E92E2232212211212221221 2222 7 CHƯƠNG 2: CÁC HÀM XỬ LÍ ẢNH TRONG MATLAB 10

2.1 Đọc và ghi dữ liệu ảnh -. 5c + S132 111 111112115111 1111 11111111111 cty 10 PHO 10

PP cơ vn 10

P Nơi na 11

2.2 Các hàm hiển thị anh trong Matlab .0 cecceccccseesseessesssesseessesseeseseeeens 11 2.3 Chuyên đổi giữa các kiêu dữ liệu, kiểu ánh . -2-©-s22z+cse5sz 12 2.3.1 Chuyên đổi giữa các kiểu dữ liệu ảnh -©2¿+s222z+z+zzzzxczx 12

2.3.2 Chuyên đổi giữa các kiểu ảnh - 2-2 E+2xeEEc2EeEEEE2EE2Ex2Exerxcrx 12

2.4 Số học ảnh ch Hiệu 13

2.4.1 Luật cắt bỏ trong số học ánh ¿- 25s xeEkeEEeEEEEE2EE2112112E1 1xx 13

Trang 8

2.5 Biến đối khơng gian ảnh 2-52 Sc 9t E1 EE71111111 2112112111 xe 14 PIN án nh ." ậ 14 2.5.2 Nội SUY LH HH HH HH HH TH TT 15 2.5.3 Thay đổi kích thur6e anh e.ccecccecccscsessesseessesssessessesssessnsssesseessssesees 16 PA X9 2n 18 2.5.5 KOM AN na ố 19 PP ‹ 00 0ê 21 PIN ti o0 v04 -ưƯưœ-1Ọ 21

2.6.2 Sử dụng bộ lọc được quy tc HOA e.cceccecesseessessessessessessessessessesseeeessees 22 2.6.3 Sử dụng giải thuật Lucy-Richardson - ¿5+ Sex ++x+exssxseerexse 22 2.6.4 Sử dụng giải thuật blind deconvolution - ¿5555555 ssss+++ 23 2.7 Màu SẮC 555cc TH 1e 25 PIN án ao 25 2.7.2 Làm việc với các chiều sâu bít màn hình khác nhau . :- - 26 2.7.3 Tính độ sâu bít màn hình ¿+ + +k£ xxx re 26 2.7.4 Chọn độ sâu bít màn hình . - ¿+ 22222222111 *22EE22£EE++zz.xzzexxe 27 2.7.5 Giảm số lượng màu trong một ảnh - 2-2 ©2+2222E2+£s+2zz+zxezzz 27 2.8 Phân tích và làm giàu ảnhh - - 65 + 1E 1E SE SEeEskeskekrrkree 30 PIN in áo 30 2.8.2 Các gid tri pixel va thống kê -+-©2++2E221222122122212712222222 xe 31 2.8.3 Phân tích ảnh .- - 6+ + T HT HH TH TT TH Hàng net 33

2.8.4 Điều chỉnh cường độ ảnh (Intensity Adjustment)

Trang 10

MO DAU

1 Ly do chon dé tai

Bước sang thế kỉ 21, thế ki của khoa học và cơng nghệ Địi hỏi con

người cần phải khơng ngừng học tập, nghiên cứu để bắt kịp với thời đại Dé

phục vụ cho việc học tập và nghiên cứu đĩ cĩ rất nhiều những cơng cụ, thiết bị hay những phần mềm hữu ích giúp con người đây nhanh cũng như đơn giản hố cơng việc của mình Đặc biệt là những phần mềm cĩ giao diện cực mạnh như Matlab

Matlab là một mơi trường tính tốn số và lập trình, được thiết kế bởi

cơng ty MathWorks Matlab cho phép tính tốn số với ma trận, vẽ đồ thị

hàm số hay biểu đồ thơng tin, thực hiện thuật tốn, tạo các giao diện người

dùng và liên kết với những chương trình máy tính viết trên nhiều ngơn ngữ lập trình khác

Matlab cung cấp cơng cụ Image Processing toobox chuyên về xử lí ảnh Cĩ thể nĩi Matlab là một cơng cụ mạnh giúp cho việc thực hiện các giải thuật xử lí ảnh nhanh chĩng và dễ hiểu Sự cần thiết phải sử dụng phần mềm cĩ giao diện cực mạnh ứng dụng vào xử lí ảnh là vì hình ảnh rất quen thuộc với chúng ta Hình ảnh ở khắp mọi nơi, từ các thiết bị hàng ngày như máy ảnh, điện thoại tới các thiết bị chuyên dụng cho hình ảnh y tế, an tồn giao thơng, tự động hố cơng nghiệp, và nhiều hơn nữa Khi xử lí những hình ảnh này chúng ta gặp phải những khĩ khăn khác nhau

Nhưng lĩnh vực xử lí ảnh bằng Matlab vẫn cịn khá mới mẻ, chưa được khai thác hết tiềm năng Xuất phát từ yêu cầu thực tiễn trên tơi đã quyết định chọn đề tài: “Xử lí tín hiệu hình ảnh với Matlab”

2 Mục đích nghiên cứu

Trang 11

- Nâng cao kiến thức về ứng dụng cơng nghệ thơng tin trong kĩ thuật xử lí ảnh

- Nâng cao kĩ năng trình bày nội dung khĩa luận, biết cách thực hiện

một đề tài nghiên cứu khoa học

3 Đối tượng, phạm vi nghiên cứu

- Đối tượng nghiên cứu: Phần mém Matlab

- Phạm vi nghiên cứu: Ứng dụng phần mềm Matlab trong xử lí ảnh

4 Giả thuyết khoa học

Sau khi nghiên cứu, tìm hiểu về xử lí tín hiệu hình ảnh với Matlab sẽ làm tài liệu cho những người quan tâm, gĩp một phần nhỏ bé vào kho tàng

tài liệu tham khảo giúp cho nhiều người biết đến phần mềm hữu hiệu này và

sử dụng nĩ như một cơng cụ đắc lực phục vụ cho việc học tập và nghiên cứu của mình

5 Phương pháp nghiên cứu

Kết hợp lí thuyết với thực hành Sử dụng các tài liệu tham khảo và

thực hành trên phần mềm Matlab 6 Cấu trúc cúa khĩa luận

Ngồi phần mở đầu, kết luận, tài liệu tham khảo, nội dung khố luận gồm cĩ 3 chương:

Chương l: Tìm hiểu cơ bản về Matlab và về ảnh Chương 2: Các hàm xử lí ảnh trong Matlab

Trang 12

NỘI DUNG

CHUONG I: TIM HIEU CO BAN VE MATLAB VA ANH

1.1 Tìm hiểu cơ ban vé Matlab

Matlab là một ngơn ngữ lập trình thực hành bậc cao được sử dụng dé giải các bài tốn về kỹ thuật Matlab tích hợp được việc tính tốn, thể hiện kết quả, cho phép lập trình, giao diện làm việc rất dễ dàng cho người sử dụng Dữ liệu cùng với thư viện được lập trình sẵn cho phép người sử dụng cĩ thê thực hiện nhiều ứng dụng thực tế trong điều khiến, viễn thơng, xử lý âm thanh, hình ảnh, video

Matlab cung cấp cơng cụ Image Processing toobox chuyên về xử lí ảnh Cĩ thể nĩi Matlab là một cơng cụ mạnh giúp cho việc thực hiện các giải thuật xử lí ảnh nhanh chĩng và dễ thực hiện

1.11 Khởi động Matlab

"ii WHATLAB 7.8.0 (RO00S) ———— || BSE s— "

File Edit View Graphics Debug Parallel Desktop Window Help

DS £RBO & | Bee B | @ || caUserabADocumentsAMATLAB + |) Shortcuts [4] Howto Add [a] What's New

Current Directory '* O # X| Command Window noe x

«>| « MA + S- ƯNewtoMATLAB?Watch this Video, see Demos or read Getting St | (i) maf #a| 3ã BB ~ | Stack:) Base

Ci Name Date Modified >> a= [12 3 4] Name = Value Min Ma: a 112,2,4] 1 4 4 b 10.5800,1,1.5000,2] 5000 2 du 3 4 >> be 4/2 a ư ' Commend History oa x %—— 8/1/11 4:43 AM % a.5000 1.0000 1.5000 2.0000 %— 8/1/11 4:57 AM % fc >> Gs 8/11/11 7:56 am % a“ [123 4] be a/2 |4 start

Hình 1.1: Cửa số làm việc của matlab

Trang 13

cho việc quản lý các files, các biến, cửa số lệnh, cĩ thể coi desktop là các panel gồm các ơ, vùng, quản lý và tác dụng của từng cửa số nhỏ được quản lý bởi desktop

1.1.2 Các cửa sổ làm việc của Matlab 1.1.2.1 Cửa số Command Window

Là cửa số giao tiếp chính của Matlab bởi đây là nơi nhập giá trị các biến, hiển thị giá trị, tính tốn giá trị của biểu thức, thực thi các hàm cĩ sẵn trong thư viện (dạng lệnh), hoặc các hàm (dạng function) do người dùng lập trình ra trong M-file

Các lệnh được nhập sau dấu nhắc “>>”, và nếu cĩ sai sĩt trong quá

trình gõ (nhập) lệnh thì hãy nhấn phím Enter cho đến khi nhận được dấu nhắc “>>” Thực thi lệnh bằng nhắn phím Entcr Ví dụ: Gõ các lệnh sau: A=pi/2; B=sin(A) B=1 1.1.2.2 Cửa số command History

Các địng mà bạn nhập vào trong cửa số Command Window (các dịng

này cĩ thê là dịng nhập biến, hoặc cĩ thé là dịng lệnh thực hiện hàm nào

Trang 14

+} Command History ali led

Click File Edit Debug Desktop Window Help ~ z sẽ @-s 11/18/09 5:18 PM % chuột lên A=pi/2: Basin (A) lệnh hoặc “ căi ve _sin biến đề sử dụng lại Hình 1.2: Cửa số Command History 1.1.2.3 Cửa số Workspace

Là cửa số thể hiện tên các biến bạn sử dụng cùng với kích thước vùng nhớ (số bytes), kiểu dữ liệu (lớp), các biến được giải phĩng sau mỗi lần tắt chương trình (xem hình 1.3) } Workspace EIIEIKI Click File Edit View Graphics Debug Desktop Window Help ~ aya ® 5a %e |'E- se

chuột lên & BÉ #8 1á au È8 = `

Zi š Name ~ | Value Class |

bién dé HHA 1.5708 double

2 H5 1 double

xem dữ FA x <1x13 double> double

liệu (hoặc ty <1x13 double> double

thay đổi

giá trị)

Hình 1.3: Cửa số Workspace

Ngồi ra nĩ cho phép thay đổi giá trị, cũng như kích thước của biến

bằng cách click chuột lên các biến Hoặc click vào nút bên trái ngay cạnh nut save

Vi du: khi chọn biến (giả sử là biến b) rồi click (hoặc click chuột vào

Trang 15

[4 Variable Editor - b Lo | © zee)

File Edit View Graphics Debug Desktop Window Help ».ax

4 2B) S| BB -| of -| te stack Base HO8 (0) EH b <1x4 double> 2 3 4 5 6 0.5000) 1 1.5000 2 ^

Hình 1.4: Cửa số Variable Editor

Tiêu đề là tên biến b, định dạng dữ liệu ở ơ cĩ tên là: Numeric format,

mặc định là dạng short, kích thước size là I by 4 (tức là một hàng và 4 cột)

ta cĩ thé thay đổi kích thước này bằng cách thay đổi giá trị cĩ trong ơ kích

thước size Dùng cửa số này để lưu các biến ở dưới là dữ liệu của biến b, ta cĩ thể thay đổi chúng bằng cách thay đổi giá trị trong các ơ đĩ Tất cả các biến đều được lưu trong Workspace trong đĩ thể hiện cả kích thước (Size),

số Bytes va kiéu dif liéu (class) (8 bytes cho mỗi phần tử dữ liệu kiéu double

cu thé là 24 bytes danh cho b va 8 bytes danh cho a)

1.1.2.4 Cửa số M-file

Là một cửa số dùng để soạn thảo chương trình ứng dụng, đề thực thi chương trình viết trong M-file bằng cách gõ tên của file chứa chương trình đĩ trong cửa số Commandwindow Khi một chương trình viết trong M-file, thì tuỳ theo ứng dụng cụ thể, tuỳ theo người lập trình mà chương trình cĩ thé viết đưới đạng sau:

Dạng Script file: Tức là chương trình gồm tập hợp các câu lệnh viết

dưới dạng liệt kê, khơng cĩ biến dữ liệu vào và biến lấy giá trị ra

- Dang ham function: co biến đữ liệu vào và biến ra

Trang 16

1.2.1 Khái niệm

Ảnh số là tập hợp hữu hạn các điểm ảnh với mức xám phù hợp dùng

để mơ tả ảnh gần với ánh thật Số điểm ảnh xác định độ phân giải của ánh Ảnh cĩ độ phân giải càng cao thì càng thê hiện rõ nét các đặt điểm của tắm

hình càng làm cho tắm ảnh trở nên thực và sắc nét hon

1.2.2 Các kiểu ảnh trong Matlab

1.2.2.1 Anh duoc dinh chi sé (Indexed Images) 0.1211 0.1211 0.1416 0.1807 0.2549 0.1729 4 5 5 5 & 5& 0.2197 0.3447 0.1807 5 4 5 5 6 0.1611 0.1768 0.1924 5 5 B5 0 Eh 0.2432 0.2471 0.1924 5 5 5 5 11 if Pe 0.2119 0.1963 0.2002 8 11 11 26 33 20 0.2197 0.2432 0.2588 11 20 33 33 58 37 Indices Colour map Hình 1.5: Ảnh được định chỉ số

Ảnh được biểu điễn bởi hai ma trận, một ma trận dữ liệu ảnh X và một ma trận màu (cịn gọi là bản đồ màu) map Ma trận dữ liệu cĩ thê thuộc kiểu uint8, uintl6 hodc kiéu double Ma tran màu là một ma trận kích thước mx3 gồm các thành phần thuộc kiểu double cĩ giá trị trong khoảng [0,1] Mỗi hàng của ma trận xác định thành phần red, green và blue của một màu trong tổng số m màu được sử dụng trong ảnh Giá trị của một phần tử trong ma trận dữ liệu ảnh cho biết màu của điểm ảnh đĩ nằm ở hàng nào trong ma trận mau

Trang 17

229 232 236 236 255 255 90 67 182 255 199 255 132 162 234 234 251 37 129 150 163 235 230 94 189 170 152 161 130 132 147 122

Hinh 1.6: Anh grayscale

Mỗi ảnh được biểu diễn bởi một ma trận hai chiều, trong đĩ giá trị của mỗi phần tử cho biết độ sáng (hay mức xám) của điểm ảnh đĩ Ma trận này cĩ thể một trong các kiểu uint8, uintl6, hoặc double Ảnh biểu diễn theo kiểu này cịn gọi là ảnh “trắng đen” 1.2.2.3 Ảnh nhị phân 6eooooe= oooo OF oo oO orr oo°o or oco$0o » OCOac OO Hình 1.7: Ảnh nhị phân

Ảnh được biểu diễn bởi một ma trận hai chiều truộc kiểu logical Mỗi điểm ảnh chỉ cĩ thể nhận một trong hai giá trị là 0 (đen) hoặc 1 (trắng)

Trang 18

49 55 56 57 52 53 64 76 82 79 78 78 66 80 77 80 87 77 5B 60 60 58 55 57 93 93 91 91 86 86 81 93 96 99 86 85 58 58 54 53 55 56 88 82 88 9O 88 89 83 83 91 94 92 88 83 78 72 69 68 69 125 119 113 108 111 110 135 128 126 112 107 106 88B 91 91 8 83 82 137 136 132 128 126 120 141 129 129 117 115 101 69 76 83 78 76 75 105 108 114 114 118 113 95 99 109 108 112 109 61 69 73 78 76 76 96 103 112 108 111 107 84 93 107 101 105 102 Hinh 1.8: Anh RGB

Trang 19

CHƯƠNG II: CÁC HÀM XỨ LÍ ẢNH TRONG MATLAB

2.1 Đọc và ghi dữ liệu ảnh 2.1.1 Ham imread

Hàm imread đọc các file ảnh với bất kì các định dang ảnh đã biết hiện nay và lưu lại dưới dạng một ma trận biểu diễn anh trong matlab

Cú pháp: A=imread (filename,fmt)

Ví dụ: A=imread(‘E:\anh\ bonghong.jpg’) 2.1.2 Ham imwrite

Ham imwrite cho phép lưu một ảnh biểu diễn bằng một ma trận trong matlab thành một file ảnh dưới một trong các định dạng đã biết

Cu phap: imwrite (A,filename,fmt)

Ham 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 I bít ( như JPEG ), ham imwrite chuyền ảnh tới một ảnh thuộc lớp uinf8

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

-Uint16: Nếu định dạng ảnh ra được chỉ rõ trợ giúp ảnh 16 bít (PNG hoặc TIFF), hàm ímwrite 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 va tao

một ảnh 8 bit

- Double: Matlab chuyên dữ liệu ảnh tới dạng uinf8 và tạo một ảnh

Trang 20

2.1.3 Ham imfinfo

Ham imfinfo ding dé xem cac thơng số của một file ảnh nào đĩ Cu phap: imfinfo (filename,fmt)

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 đạ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 anh: RGB, chi sé 2.2 Cac ham hién thi anh trong Matlab

Matlab cung cấp hai hàm hiển thi cơ bản là image va imagesc Ngoai

ra trong IPT cũng cĩ hai hàm hiển thị ảnh khác, đĩ là imview va imshow - Hàm image (X, Y, C) hiển thị hình ảnh biểu diễn bởi ma trận C kích thước M x N lên trục toạ độ hiện hành X, Y là các vectơ xác định vi tri các pixel C(1,1) và C(M,N) trong hệ trục hiện hành

- Hàm imagesc cĩ chức năng tương tự như hàm image, ngoại trừ việc dữ liệu ảnh sẽ được co dãn đề sử dụng tồn bộ bản đồ màu hiện hành

Trang 21

- Hàm imshow cũng tạo một đối tượng đồ hoạ thuộc loại image và hiển thị ảnh trên một figure Hàm imshow sẽ tự động thiết lập các giá trị của các đối tuong image, axes va figure để thực hiện hình ảnh

2.3 Chuyển đổi giữa các kiểu dữ liệu, kiểu anh

2.3.1 Chuyến đổi giữa các kiếu dữ liệu ảnh

Matlab cung cấp sẵn các hàm thực hiện chuyên kiêu cho các ma trận biểu diễn ảnh, bao gồm: im2double, im2uint8, và im2uint16

Tuy nhiên khi thực hiện chuyên kiểu giữa các dữ liệu ảnh cần lưu ý

một số điều sau:

- Khi chuyển từ một kiểu dữ liệu dùng nhiều bit sang một kiểu dữ

liệu dùng ït bit hơn thì một số thơng tin chỉ tiết về bức ảnh ban đầu sẽ bị mắt - Khơng phải lúc nào cũng cĩ thê chuyển đổi kiểu dữ liệu đối với kiểu ảnh indexed, vì các giá trị của ma trận ảnh xác định một địa chỉ trong bản đồ màu chứ khơng phải là giá trị màu, do đĩ khơng thể lượng tử hố được

2.3.2 Chuyến đổi giữa các kiéu ánh

Danh sách sau đây sẽ liệt kê các hàm được sử dụng trong việc chuyên đổi kiểu ảnh:

- Dither: Tạo một ảnh nhị phân từ một ảnh cường độ đen trắng Tạo

một ảnh chỉ số từ một ảnh RGB

- Gray2ind: 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

Trang 22

- 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ệ đữ 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 2.4 Số học ánh

Số học ảnh sự ứng dụng của các phép tốn số học chuẩn như : cộng, trừ, nhân, chia lên ảnh Số học ảnh được sử dụng nhiều trong xử lý ảnh trong cả các bước ban đầu lẫn các thao tác phức tạp hơn Chẳng hạn, trừ ánh cĩ thể được sử dụng để phát 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

2.4.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 tố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

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

Trang 23

K = imdivide(imadd(112), 2);

Khi được sử dụng với kiểu uint8 hay uintl6, mỗi hàm số học cắt kết quả của nĩ trước khi truyền nĩ cho hàm tiếp theo Sự cắt bỏ này cĩ thê giảm đáng kể lượng thơng tin trong anh 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 tốn là sử dụng hàm imlincomb Ham này thi hành tất cả các phép tốn số học trong sự kết hợp tuyến tính của độ chính xác kép và chỉ cắt bỏ kết quả cuối cùng:

K = imlincomb(.5,1.5,12); 2.5 Biến đối khơng gian ảnh

Biến đổi khơng gian ảnh là thực hiện ánh xạ giữa vị trí các pixel trong ảnh vào với các pixel trong ảnh ra

2.3.1 Bảng thuật ngữ

Tên thuật ngữ Diễn giải

Răng cưa xuât hiện khi giảm kích thước ảnh Khi kích thước của một ảnh bị giảm, các pixel

Aliasing gốc bị lấy mẫu giảm để tạo ra ít pixel hơn

Aliasing xảy ra như kết quá của việc giảm kích thước ảnh thường xuất hiện dưới dạng bậc thang (đặc biệt trong các ảnh cĩ độ tương phản cao)

Antialiasing Cac bién phap chong rang cua cho anh

Giá trị của cac pixel ra được tính tốn từ giá Bicubic interpolation | trị trung bình của 4x4 pixel lân cận

Gía trị của pixel ra được tính tốn từ giá trị Bilinear interpolation trung bình của 2x2 pixel lân cận

Geometric operation Một thao tác sửa đổi quan hệ hình học gữa các pixel trong một ánh Chẳng hạn thay đổi kích thước ảnh, quay ảnh và xén ảnh

Trang 24

Interpolation Quá trình được sử dụng đê ước lượng gia tri ảnh ở một vị trí giữa các pixel

Nearest- Các giá trị pixel ra được gán giá trị của pixel neighbor interpolation | nằm trong một vùng gần pixel đĩ

2.5.2 Nội suy

Nội suy là quá trình sử dụng để ước lượng một giá trị ảnh ở một vị trí giữa các pixel Chẳng hạn, nếu ta thay đổi kích thước một ảnh, nĩ sẽ chứa nhiều pIxel hơn ảnh gốc, toolbox sử dụng sự nội suy dé tinh gia tri cho cac pixel thém vao Ham imresize va imrotate sử dụng nội suy hai chiều dé thực hién thao tac cua minh Ham improfile cing st dung su ndi suy hoa

2.5.2.1.Cac phuong phap nội suy

Toolbox xt ly anh cung cấp 3 cách nội suy hố:

- Nội suy các pixel gần nhất (nearest —neighbor interpolation) -_ Nội suy song tuyến tinh (Bilinear interpolation)

-_ Nội suy song khối (Bicubic interpolation)

Các phương pháp nội suy làm việc theo một cách giống nhau Trong mỗi trường hợp, để tính giá trị của một pixel đã được nội suy, chúng tìm điểm trong ảnh ra mà pixel nằm tại đĩ Sau đĩ, chúng gán một giá trị tới các pixel ra bằng cách tính tốn giá trị trung bình cĩ trọng số của một số pixel lân cận Trọng số dựa trên cơ sở khoảng cách tới điểm đang xét

Các phương pháp này khác nhau ở tập các pixel mà chúng xem xét: - Nội suy các pixel gần nhất: pixel ra được gán giá trị của các pixel ở gần nĩ nhất Các pixel khác khơng được xem xét

-_ Nội suy song tuyến tính, giá trị của pixel ra là giá trị trung bình theo trọng số của 2x2 pixel lân cận

Trang 25

2.5.2.2 Nội suy với các kiểu ảnh khác nhau

Các hàm sử dụng tuyến tính yêu cầu một tham số chỉ ra phương pháp nội suy Với hầu hết các hàm, phương pháp mặc định được sử dụng là nearest-neighbor interpolation Phương pháp này tạo ra một kết quả cĩ thể chấp nhận được cho hầu hết các ảnh và là phương pháp duy nhất thích hợp với ảnh chỉ số Với ảnh RGB, nội suy thường được thực hiện trên mặt phẳng R,B,G một cách riêng biệt

Với ảnh nhị phân, nội suy gây ra những ảnh hưởng mà ta cĩ thể nhận thấy được Nếu sử dụng nội suy song tuyến tính hoặc song khối, giá trị tính tốn được cho pixel trong ảnh ra sẽ khơng hồn tồn là 0 hoặc 1

2.5.3 Thay đổi kích thước ánh

2.5.3.1 Chỉ ra kích thước của ảnh kết quả

Sử dụng hàm imresize, ta cĩ thể chỉ ra kích thước của ảnh kết quả theo hai cách:

- Chỉ ra hệ số phĩng đại được sử dụng trên ảnh

Để mở rộng một ảnh, chỉ ra hệ số phĩng đại lớn hon 1 Để thu nhỏ một ảnh, chỉ ra hệ số phĩng đại nằm giữa 0 và I Chang hạn, lệnh sau tang kích thước của ảnh I lên 1.25 lần: 1= imread('circuit.tif); J = imresize(I,1.25); imshow(1) figure, imshow(J) - Chỉ định kích thước của ảnh ra

Ta cĩ thé chỉ ra kích thước của ảnh ra bằng cách truyền một véc tơ chứa số lượng hàng và cột của ảnh sau cùng

Trang 26

Chí ý: Nếu kích thước được chỉ ra khơng cĩ cùng tỉ lệ với ảnh vào, ảnh ra sẽ bị biến dạng

2.5.3.2 Chỉ ra phương pháp nội suy được sử dụng

Theo mặc định, hàm imresize sử dụng phương pháp nội suy các pixel gần nhất (nearest — neighbor interpolation) dé tinh giá trị các pixel của ảnh ra Tuy nhiên, ta cĩ thể chỉ định các phương pháp nội suy khác Bảng sau đây liệt kê các phương pháp nội suy được trợ giúp theo thứ tự của độ phức tạp

Giá trị tham số Phương pháp nội suy

‘nearest’ Nội suy các phixel gân nhât (mặc định) ‘bilinear’ Nội suy song tuyên tính

“biculic? Nội suy song khơi Trong ví dụ sau, hàm ímresize sử dụng phương pháp nội suy song tuyến tính: Y=imresize(X, [100 150],’bilinear’); 2.5.3.3 Sử dụng bộ lọc để ngăn chặn hiện tượng răng cưa

Việc giảm kích thước (hình học) của một ánh cĩ thể gây ra những ảnh hưởng nhất định lên ảnh chẳng hạn như hiện tượng xuất hiện răng cưa tại biên của ảnh Điều này là do thơng tin luơn bị mắt khi ta giảm kích thước một ảnh Răng cưa xuất hiện như những gợn sĩng trong ảnh sau cùng

Khi giảm kích thước của ảnh sử dụng nội suy song tuyến tính hoặc

song khối, hàm imresize tự động áp đặt một bộ lọc thơng thấp lên ảnh trước

khi nội suy Điều này để giảm ảnh hưởng của răng cưa trong ảnh ra Ta cĩ

thé chi ra kích thước của bộ lọc này hoặc chỉ ra một bộ lọc khác thay thế

Trang 27

Để quay một ảnh, sử dụng hàm imrotate Hàm này chấp nhận hai tham số chính:

- Ảnh cần quay - Gĩc quay

Gĩc quay tính theo độ Nếu ta chỉ ra một giá trị dương, hàm imrotate quay ảnh theo chiều ngược chiều kim đồng hồ Nếu chỉ ra giá trị âm, hàm quay ảnh theo chiều kim đồng hồ Ví dụ sau quay một ánh 35 độ theo chiều ngược chiều kim đồng hồ: J=imrotate(1,35 ); Cú pháp của nĩ như sau: B= imrotate(A,angle) B = imrotate(A,angle,method) B = imrotate(A,angle,method,bbox) Diễn giải:

- B= imrotate(A,angle): Quay anh A một gĩc angle độ theo chiều ngược chiều kim đồng hồ, sử dụng phương pháp nội suy các pixel gần nhất Đề quay theo chiều kim đồng hồ hãy truyền giá trị âm cho tham số angle

-B= imrotate(A,anglemethod): Quay ảnh A một gĩc angle độ theo chiều kim đồng hồ sử dụng phương pháp nội suy được chỉ ra trong method

- B= imrotate(A,anglemethod,bbox): Quay ảnh A một gĩc angle độ Tham số bbox chỉ ra hộp biên của ảnh trả về

Ví dụ sau quay một ảnh 35 độ ngược chiều kim đồng hồ sử dụng nội suy song tuyến tính:

1= imread('circuit.tif); J= imrotate(I35, bilinear );

Trang 28

figure, imshow(}; 2.5.5 Xén ảnh Để trích một vùng chữ nhật của một ảnh, sử dụng hàm imcrop Hàm imcrop chap nhan hai tham số chính: - Ảnh cần xén - Các gĩc của hình chữ nhật xác định vùng xén

Nếu ta gọi hàm imcrop mà khơng chỉ ra hình chữ nhật, ta cĩ thể xén ảnh theo các tương tác Trong trường hợp này,ta sử dụng trỏ chuột để chọn vùng chữ nhật cần xén bằng cách nhắn và giữ phím chuột trái, di chuyển chuột đề chọn vùng xén Khi chọn xong thi nha chuột

Trang 29

Ta cũng co thé chi ra kích thước của hình chữ nhật mà khơng thao tác trực tiếp như các cú pháp sau:

12 = imcrop(1rect) X2 = imcrop(X,map,rect) RGB2 = imcrop(RGB,rect)

Trong đĩ: Rect là một véctơ bốn phần tử dang [xmin ymin width height], những giá trị này được chỉ ra trong toạ độ khơng gian Đề chỉ định các toạ độ khơng theo toạ độ khơng gian cho ảnh vào, đặt trước các tham số khác với 2 véc tơ hai phần tử chỉ ra Xdata và Ydata Chẳng hạn: [ ]=imcrop(x,y, )

Nếu ta cung cấp các tham số ra phu, ham imcrop sé tra lai thong tin về vùng chữ nhật được chọn và hệ toạ độ của ảnh vào Chắng hạn:

JA,rect] = imcrop( ) [xy,A,rect] = imcropt )

A la anh ra, x va y la Xdata va Ydata cua anh vao

Trang 30

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

- Deconvwnr: Su dung b6 loc Wiener

- Deconvreg: Sử dụng bộ lọc được quy tắc hố - Deconvlucy: Sử dụng giải thuật Lucy-Richardson - Deconvblind: Sử dụng giải thuật blind deconvolution 2.6.1 St dung b6 loc Wiener

Su dung ham deconvwnr để khử mờ một ảnh sử dung b6 loc 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 đảo lý tưởng Ví dụ: Đọ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) 1= imread(peppers.png ); T= 1(10+[1:256],222+[1:256],:); figure;imshow(T);title("Original Image’); Tao ham PSF LEN = 31; THETA = 11; PSF = fspecial(‘motion',LEN, THETA); Tao su mo gia trén anh

Blurred = imfilter(I,PSF, ‘circular’, conv’); figure; imshow(Blurred);title('Blurred Image’); Khử mờ cho ảnh

Trang 31

title(‘Restored, True PSF');

2.6.2 Sứ dụng bộ lọc được quy tắc hố

Sử dụng hàm đeconvreg để khử mờ một ảnh sử dụng bộ lọc được quy

tắc hố 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é Ví dụ:

Đọ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 ); I= I(125+[1:256],1:256,:);

figure; imshow(I); title(‘Original Image’);

Tao ham PSF dé lam mé anh

PSF = fspecial(‘gaussian'‘,11,5); Làm mờ ảnh và thêm nhiễu vào ảnh

Trang 32

2.6.3 Sử dụng giải thuật Lucy-Richardson

Sử dụng hàm đeconviucy để 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 đeconvlucy thi hành vài sự điều hợp tới giải thuật Luey- Richardson St 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ụ

Vi du: Su dung ham deconvlucy để khử mờ một ảnh Đọc một ảnh vào khơng gian làm việc 1 = imread(‘board.tif’); 1 = 1(50+[1:256],2+[1:256],:); figure;imshow/(1);title(‘Original Image’); Tao ham PSF dé lam mé anh PSF = fspecial(‘gaussian',5,5);

Tao mé anh va thém nhiéu vao anh

Blurred = imfilter(I,PSF,'symmetric’, conv’); V=0.002;

Trang 33

Sử dụng hàm đevconlucy để khơi phục ảnh gốc, chỉ ra hàm PSF được

sử dụng để tạo mờ và giới hạn số vịng lặp tới 5 (mặc định là 10)

luc1 = deconvlucy(BlurredNoisy,PSF,5); figure; imshow(luc);

title(‘Restored Image’); 2.6.4 Sử dụng giải thuật blind deconvolution

Sử dụng hàm đeconvblind để khử mờ một ảnh Giải thuật này cĩ thể

được sử dụng hiệu quả khi khơng cĩ thơng tin về mờ hoặc nhiễu được biết Ví dụ: Tạo một ảnh giả mờ và sau đĩ dùng hàm đeconvblind để khử mờ

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

I= imread('cameraman.tif);

figure; imshow(I); title(‘Original Image’);

Tao ham PSF dé lam mo anh

PSF = fspecial(‘motion’,13,45); Figure, imshow(PSF,[], 'notruesize’); title(‘Original PSF’);

Tạo mờ trên ảnh

Blurred = imfilter(1,PSF, 'circ’,'conv');

figure; imshow(Blurred); title(‘Blurred Image’); Khử mờ ảnh, tạo một sự ước lượng ban đầu cho kích thước của PSF Để 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 ứ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

Trang 34

INITPSF = ones(size(PSF));

[J P]= deconvblind(Blurred,INITPSF,30); figure; imshow()); title('Restored Image’); figure; imshow(P,[], ‘notruesize');

title(‘Restored PSF');

Mặc dù hàm đeconvblind cĩ thể khử nhiễu ảnh tới một khoảng rất

rộng, hiện tượng rung xung quanh vùng tương phản cường độ trong ảnh phục

hồi là khơng ổn định Bước tiếp theo trong ví dụ lặp lại quá trình khử mờ, cố

gắng đạt tới một kết quả tốt hơn bằng cách: - Tránh vùng tương phản cao từ sự xử lý - Chỉ ra một giá trị PSF tốt hơn - Tạo một mảng WEIGHT để loại trừ vùng tương phản cao từ thao tác khử mờ 2.7 Màu sắc 2.7.1 Bảng thuật ngữ Tên thuật ngữ Diễn giải Approximation

Phương pháp nhờ đĩ phân mêm lựa chọn sự thay thế màu sắc trong một sự kiện mà trực tiếp thích hợp khơng thê tìm thấy Phương pháp xấp xỉ được thảo luận ở đây là ánh xạ bản đồ màu, lượng

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

nhỏ nhất

Indexed image

Ảnh mà các giá tri 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 điện bởi một mảng thuộc lớp uint8, uintI6 hoặc double Bản đồ màu luơn là một mảng mx3 thuộc lớp double

Trang 35

Intensity image

Anh bao gom cac gia trị cường độ Trong Matlab, anh cuong độ đượ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

Ảnh mà trong đĩ mỗi pixel được chỉ định rõ 3 màu R,G,B Trong Matlab, một ảnh RGB được

RGB image đại diện bởi một ma trận mxnx3 thuộc ldp uint8, uint16 hoac double

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

Screen color resolution So lượng các màu riêng biệt cĩ thê được tạo ra bởi màn hình

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

Hầu hết các màn hình máy tính sử dụng 8,16,24 bít trên một pixel man hình Số lượng bít trên một pixel màn hình quyết định độ sâu bít màn hình Độ sâu bít màn hình quyết định đến độ phân giải màu sắc của màn hình đĩ là bao nhiêu màu sắc riêng biệt màn hình cĩ thê tạo ra

Trang 36

- 8 bit 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

- Ché độ hiển thị 16 bít thường sử dụng 5 bit 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

- Chế độ hiển thị 24 bít sử đụ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

- Chế độ hiển thị 32 bít 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 2.7.4 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 thi 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

2.7.5 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 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ượng màu chứa trong bản đồ màu mới

- Dithering: Thay đơi màu sắc của các pixel ở một vùng lân cận vì vậy màu sắc trung bình của mỗi vùng xấp xỉ màu gốc

Trang 37

- Cu pháp của nĩ như sau: [Y,newmap] = imapprox(X,map,n) [Y,newmap] = imapprox(X,map,tol) Y = imapprox(X,map,newmap) [ ] = imapprox¢ ,dither_option) - Dién giai

[Y,newmap]=imapprox(X,map,n): Xấp xi 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

[Y,newmap]=imapprox(X,map,tol ): Xấp xi các màu trong X và map thơng qua lượng tử đều (uniform quantization) newmap chứa nhiều nhất (floor (1/tol)+1)^3 màu Tol phải nằm giữa 0 và 1

Y=imapprox(X,map,newmap ): X4p xi mau trong map bang cach sit dụng ánh xạ bản đồ màu để tìm các màu trong newmap tương hợp tốt nhất VỚI các màu trong map

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 la {‘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

Ví dụ:

X4p xi anh chỉ số trees.tif bằng một anh chi số khác chỉ chứa 16 màu [X, map] = imread( trees.tiƒ');

Trang 38

2.7.5.2 Ham rgb2ind

Hàm này dùng để convert một ảnh RGB thành một anh chỉ số Cú pháp của nĩ như sau: JX,map] = rgb2ind(RGB,tol) [X,map] = rgb2ind(RGB,n) X = rgb2ind(RGB,map) E ] = rgb2ind( ,dither_option) Diễn giải

Ham rgb2ind convert anh 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 anh 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 ham imapprox

2.7.5.3 Ham Dithering

Trang 39

rgb2ind và imapprox cả hai đều thực hién dithering dé ting sé lượng màu trong ảnh kết quả Dithering thay đổi màu sắc của các pixel ở một vùng lân cận vì vậy, màu sắc trung bình của mỗi vùng xắp xi màu gốc

Vi dụ: Nạp một ảnh 24 bít, sau đĩ sử dung ham rgb2ind để tạo ra hai ảnh chỉ số chỉ với § màu cho mỗi ảnh: Đọc một ảnh và hiền thị nĩ: rgb=imread('onion.png ); imshow(rgb); Tạo một ảnh chỉ số với 8 màu mà khơng trộn JX no _dither,map]=rgb2ind(rgb,8, nodither `); figure, imshow(X_no_dither,map); Tạo một ảnh chỉ số 8 màu cĩ trộn [X_dither,map]=rgb2ind(rgb,8, dither ); figure, imshow(X_dither,map); 2.8 Phan tich va lam giau anh 2.8.1 Bảng thuật ngữ Tên thuật ngữ Diễn giải

Bộ lọc mà tính chât của nĩ biên đơi qua Adaptive filter một ảnh phụ thuộc vào đặc tính địa phương của

các pixel trong ảnh

Contour Đường trong một ảnh dọc theo đĩ giá trị cường độ của các pixel ảnh bằng hằng sé

Đường cong mà theo đĩ độ biên đơi cường

độ các pixel ảnh rất nhanh Edge thường được kết Edge hợp với vùng biên của một đối tượng trong một cảnh Sự phát hiện các edge được sử dụng để

Trang 40

phân biệt các edge trong một ảnh

Property Sự đo đạc định lượng của một ảnh hoặc một vùng ảnh

Đơ thị được sử dụng trong phân tích ảnh chỉ ra sự phân bố của cường độ của một ánh Ta cĩ thể sử dụng thơng tin này trong một histogram Histogram để lựa chọn một thao tác làm giàu ảnh thích hợp Chẳng hạn, nếu đồ thị histogram của một ảnh chỉ ra rằng vùng các giá trị cường độ nhỏ, ta cĩ thê sử dụng một hàm điều chỉnh cường độ để mở rộng các giá trị qua một vùng rộng

Noise Các sai sơ trong quá trình thu thập ảnh dẫn đến việc các giá trị pixel khơng phản ánh đúng cường độ của cảnh thực

Một tập hợp các giá trị cường độ lây từ các điểm cách đều nhau dọc theo một đoạn đường Profile thắng hoặc đường gấp khúc trong một ảnh Với các điểm khơng nằm ở tâm của pixel, giá trị này được nội suy

Quadtree decomposition Kĩ thuật phân tích ảnh băng cách chia ảnh ra nhiều khối giống nhau

2.8.2 Các giá trị pixel và thống kê

Toolbox xử lý ảnh cung cấp một số hàm trả lại thơng tin về đữ liệu tạo nên một ảnh Những hàm này trả lại thơng tin về dữ liệu ảnh theo nhiều dạng khác nhau bao gồm:

Ngày đăng: 30/09/2014, 19:20

TỪ KHÓA LIÊN QUAN

w