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

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

Nội dung

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

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

HA NOI, 2013

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

HÀ NỘI, 2013

Trang 3

LỜI CÁM ƠN

Trong thời gian thực hiện khoá 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ể hoàn thành khoá 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 để hoà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 hoà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

Phạm Thị Bích Thuận

Trang 4

LỜI CAM ĐOAN

Tôi xin cam đoan trước Hội đồng xét khoá 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 Phạm Thị Bích Thuậ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

Bảng thuật ngữ phân tích và làm giàu ảnh

Trang 6

Cửa số làm việc của matlab

Cửa số Command History

Các giá trị của gamma

Ảnh trước và sau khi cắt

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.1 Luật cắt bỏ trong số học ánh ¿- 25s xeEkeEEeEEEEE2EE2112112E1 1xx 13

2.4.2 Lời gọi lồng nhau tới hàm số học ảnh -2- -2+2s2+zs+2zz+zxezzz 13

Trang 8

2.5 Biến đối không gian ảnh 2-52 Sc 9t E1 EE71111111 2112112111 xe 14

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

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

2.8.5 Loại bỏ nhiễu - 55: 5222222 2222112112212212212211121211211211211 21c xe 37 CHƯƠNG 3: MỘT SÓ ỨNG DỤNG XỬ LÍ ẢNH TRONG MATLAB 40

3.2 Tạo ảnh đen trang on ccccecccessesssesssesssssesssesssssesssessessesssessnessessessasseseees 40 3.3 QUay AND 41 3.4 Biến đổi mức xám của AM ooo eec ccc esseesesscseeseesetssessvesesseseeesessesseseees 41

Trang 9

3.5 Lọc nhiễu (làm mịn ảnh) . + 2 ¿+s 2+ +E+EE+E£EESE2ESEEEEEEerkrrrree 42 KẾT LUẬN - 56c SE E21 1211211211211 11 T1 1 1 1111 tre TÀI LIỆU THAM KHẢO

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 hoá 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 toán số và lập trình, được thiết kế bởi

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

hàm số hay biểu đồ thông tin, thực hiện thuật toá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 toàn giao thông, tự động hoá 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

- Thành thạo các lệnh cũng như các thao tác xử lí ảnh với phần mềm Matlab

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

Ngoài phần mở đầu, kết luận, tài liệu tham khảo, nội dung khoá 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

Chương 3: Một số ứng dụng 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 toán về kỹ thuật Matlab tích hợp được việc tính toá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

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

Ci Name Date Modified >> a= [12 3 4] Name = Value Min Ma:

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

Click vào biểu tượng „2s, trên màn hình xuất hiện cửa số như hình 1.1 Cửa số đó chứa các thanh công cụ (giao diện người và máy) cần thiết

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 toá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

đó) được giữ lại trong cửa số Command History, và cửa số này cho phép ta

sử dụng lại những lệnh đó bằng cách click chuột lên các lệnh đó hoặc các biến nếu như bạn muốn sử dụng lại biến đó (xem hình 1.2)

Trang 14

Zi š Name ~ | Value Class |

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

Ngoà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

nút cạnh nút save) ta được cửa số sau gọi là Variable Editor (xem hình 1.4)

Trang 15

[4 Variable Editor - b Lo | © zee)

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)

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

1.2 Tìm hiểu cơ bản về ảnh

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)

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

1.2.2.2 Anh grayscale

Trang 17

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”

Trang 19

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

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

§ bít bởi vì hầu hết các file ảnh sử dụng định dạng 8 bít.

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 toàn bộ bản đồ màu hiện hành

- Hàm imview cho phép hiển thị hình ảnh trên một cửa số riêng, nền java, gọi là image viewer Image viewer cung cấp các công cụ đò tìm và xác định các giá trị pixel một cách linh hoạt

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ử hoá đượ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

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

Trang 22

- Mat2gray: Tạo một ảnh cường độ đen trắng từ dữ liệu trong một

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

2.4.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 ảnh:

C=(A+B) /2

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

I= imread( rice.png );

12 = imread('cameraman.tif);

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 toán là sử dụng hàm imlincomb Ham này thi hành tất cả các phép toá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

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)

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 hoá:

- 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 toá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

Nội suy song khối: giá trị của pixel ra là trung bình có trọng số của 4x4 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 toán được cho pixel trong ảnh ra sẽ không hoàn toà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)

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

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ế

2.5.4 Quay ảnh

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

- 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 );

imshow(]);

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

Cú pháp của nó như sau:

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

12 = imcrop(Lrect) X2 = imcrop(X,map,rect) RGB2 = imcrop(RGB,rect) [ ] = imcrop(xy, ) [A,rect] = imcropt ) [xy,A,rect] = imcropt ) Diễn giải:

Ham imcrop xén m6t anh theo một hình chữ nhật được chỉ định

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

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Lương Mạnh Bá, Nguyễn Thanh Thủy (1999), Nhập môn xử lí ảnh số, NXB KHKT Hà Nội Sách, tạp chí
Tiêu đề: Nhập môn xử lí ảnh số
Tác giả: Lương Mạnh Bá, Nguyễn Thanh Thủy
Nhà XB: NXB KHKT Hà Nội
Năm: 1999
[3] Ts. Hồ Văn Sung, Thực hành xử lí số tín hiéu voi Matlab, NXB Khoa học kỹ thuật Hà Nội Sách, tạp chí
Tiêu đề: Thực hành xử lí số tín hiéu voi Matlab
Tác giả: Ts. Hồ Văn Sung
Nhà XB: NXB Khoa học kỹ thuật Hà Nội
[4] Website: http://tailieu.vn Link
[5] Website: http://hlab.com.vn Link
[6] Website: www.kilobooks.com Link
[7] Website: www.doko.vn Link
[2] Nguyễn Kim Sách (1997), Xử lí ảnh và video số, NXB Khoa học kỹ thuật Hà Nội Khác

HÌNH ẢNH LIÊN QUAN

Hình  1.1:  Cửa  số  làm  việc  của  matlab - Xử lý tín hiệu hình ảnh với Matlab Khoá luận tốt nghiệp
nh 1.1: Cửa số làm việc của matlab (Trang 12)
Hình  1.3:  Cửa  số  Workspace - Xử lý tín hiệu hình ảnh với Matlab Khoá luận tốt nghiệp
nh 1.3: Cửa số Workspace (Trang 14)
Hình  1.4:  Cửa  số  Variable  Editor - Xử lý tín hiệu hình ảnh với Matlab Khoá luận tốt nghiệp
nh 1.4: Cửa số Variable Editor (Trang 15)
Hình  càng  làm  cho  tắm  ảnh  trở  nên  thực  và  sắc  nét  hon. - Xử lý tín hiệu hình ảnh với Matlab Khoá luận tốt nghiệp
nh càng làm cho tắm ảnh trở nên thực và sắc nét hon (Trang 16)
Hình  1.7:  Ảnh  nhị  phân - Xử lý tín hiệu hình ảnh với Matlab Khoá luận tốt nghiệp
nh 1.7: Ảnh nhị phân (Trang 17)
Hình  3.1:  Ảnh  trước  và  sau  khi  cắt - Xử lý tín hiệu hình ảnh với Matlab Khoá luận tốt nghiệp
nh 3.1: Ảnh trước và sau khi cắt (Trang 49)
Hình  3.5:  Lọc  nhiễu - Xử lý tín hiệu hình ảnh với Matlab Khoá luận tốt nghiệp
nh 3.5: Lọc nhiễu (Trang 53)
Hình  3.6:  Làm  mịn  ảnh - Xử lý tín hiệu hình ảnh với Matlab Khoá luận tốt nghiệp
nh 3.6: Làm mịn ảnh (Trang 54)

TỪ KHÓA LIÊN QUAN

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

w