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

(Đồ án tốt nghiệp) ứng dụng kit raspberry PI vào xử lý ảnh

86 37 0

Đ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 đề Ứng Dụng Kit Raspberry Pi Vào Xử Lý Ảnh
Tác giả Lê Đức Thuận, Võ Văn Hoàng
Người hướng dẫn ThS. Nguyễn Duy Thảo
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Điện - Điện Tử
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2016
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 86
Dung lượng 3,91 MB

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

Nội dung

2.2.2 Đặc điểm của ngôn ngữ Python Python được thiết kế để trở thành một ngôn ngữ dễ học, mã nguồn dễ đọc, bố cụctrực quan, dễ hiểu, thể hiện qua các điểm sau: Từ Khóa: Python tăng cườn

Trang 1

ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN - ĐIỆN TỬ

ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH

GVHD: ThS NGUYỄN DUY THẢ O SVTH: LÊ ĐỨC THUẬN

MSSV: 10101134 SVTH: VÕ VĂN HOÀNG MSSV: 10101045

SKL004285

Tp Hồ Chí Minh, tháng 2/2016

Trang 2

NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN - ĐIỆN TỬ

SVTH: LÊ ĐỨC THUẬN MSSV: 10101134

SVTH: VÕ VĂN HOÀNG MSSV: 10101045

GVHD: ThS NGUYỄN DUY THẢO

Tp Hồ Chí Minh, 2/2016

Trang 3

KHOA ĐIỆN-ĐIỆN TỬ

Tp HCM, ngày 15 tháng 1 năm 2016

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

Tên của đề tài: ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH

Mục đích của đề tài:

Đồ án tốt nghiệp được thực hiện tại: Bộ môn Điện Tử Công Nghiệp, Khoa Điện - Điện

Tử, Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh

Thời gian thực hiện: Từ ngày 10/10/2015 đến 15/01 /2016

- Tìm hiểu tổng quan về kit raspberry pi

- Tìm hiểu tổng quan về xử lý ảnh

- Xử lý ảnh trên kit Raspberry Pi

- Kết quả thực hiện

Chúng tôi – Lê Đức Thuận và Võ Văn Hoàng cam đoan ĐATN là công trình nghiên cứu

của bản thân chúng tôi dưới sự hướng dẫn của thạc sỹ Nguyễn Duy Thảo

Các kết quả công bố trong ĐATN là trung thực và không sao chép từ bất kỳ công trìnhnào khác

Trang 4

Bộ Môn Điện Tử Công Nghiệp

Tp Hồ Chí Minh, ngày 15 tháng 01 năm 201 6

LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP

Họ tên sinh viên 1: Lê Đức Thuận

Lớp: 101011A MSSV: 10101134

Họ tên sinh viên 2: Võ Văn Hoàng

Lớp: 101011A MSSV: 10101045

Tên đề tài: ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH

GVHD

Chuẩn bị kit Raspberry.

10/10-30/10

Tìm hiểu về kit Raspbery Pi.

GV HƯỚNG DẪN (Ký và ghi rõ họ và tên)

xii

Trang 6

Trong thời gian làm đồ án tốt nghiệp, chúng tôi đã nhận được nhiều s ự giúp đỡ,đóng góp ý kiến và chỉ bảo nhiệt tình của thầy cô, gia đình và bạn bè Chúng tôi xingửi lời c ảm ơn chân thành đến Thạc sỹ Nguyễ n Duy Thảo, giảng viên Bộ môn Điện

Tử Công Nghiệp trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh người đãtận tình hướng dẫn, chỉ bảo chúng tôi trong suốt quá trình làm khoá luận

Chúng tôi cũng xin chân thành cảm ơn các thầy cô giáo trong trường Đại học Sưphạm Kỹ thuật Thành phố Hồ Chí Minh nói chung, các thầy cô trong Bộ môn Điệ n TửCông Nghiệ p nói riêng đã dạy dỗ cho chúng tôi kiến thức về các môn đại cương cũngnhư các môn chuyên ngành, giúp chúng tôi có được cơ sở lý thuyết vững vàng và tạođiều kiện cho chúng tôi trong quá trình học tập

Cuối cùng, chúng tôi xin chân thành cảm ơn gia đình và bạn bè, đã luôn tạo điềukiện, quan tâm, giúp đỡ, động viên chúng tôi trong suốt quá trình học tập và hoànthành khoá luận tốt nghiệp

Tp.HCM, ngày 15 tháng 01 năm 2016

Sinh Viên Thực Hiện

Lê Đức Thuận Võ Văn Hoàng

i

Trang 7

PHẦN A: GIỚI THIỆU

Danh mục hình vi

Các từ viết tắt ix

PHẦN B: NỘI DUNG

CHƯƠNG 1:GIỚI THIỆU YÊU CẦU – GIỚI HẠN CỦA ĐỀ TÀI 1

1.1 Giới thiệu 1

1.2 Mục tiêu 1

CHƯƠNG 2 KIT RASPBERRY PI 2

2.1 Kit Raspberry Pi 2

2.1.1 Giới thiệu tổ ng quan 2

2.1.2 Các phiên bản hiện tại của kit Raspberry Pi 3

2.1.3 Các kết nối với Raspberry Pi 2 4

2.1.4 Hệ điều hành – phần mềm 5

2.1.5 Cài đặt phần mềm cho kit Raspberry Pi 5

2.2 Ngôn ngữ lập trình Python 7

2.2.1 Giới thiệu Python 7

2.2.2 Đặc điểm của ngôn ngữ Python 7

CHƯƠNG 3 TỔNG QUAN VỀ XỬ LÝ ẢNH 9

3.1 Giới thiệu 9

3.1.1 Hệ thống xử lý ảnh 9

3.1.2 Các thành phần trong một hệ thố ng xử lý ảnh 10

3.2 Các khái niệm cơ bản 10

3.2.1 Ảnh và điểm ảnh 10

3.2.2 Phân loại ảnh 11

3.2.3 Độ phân giải 11

3.2.4 Điểm ảnh lân c ận 11

3.3 Không gian màu 12

3.3.1 Không gian màu RGB 12

3.3.2 Không gian màu CMYK 13

ii

Trang 8

3.4.1 Biến đổi Affine 14

3.5 Xử lý hình thái học trên ảnh 15

3.5.1 Phần tử cấu trúc 15

3.5.2 Phép toán co (Erosion) 17

3.5.3 Phép toán giãn nở (Dialtion) 18

3.5.4 Phép toán mở (opening) và đóng (closing) 18

3.6 Tách biên ảnh 19

3.6.1 Tách biên theo đạo hàm bậc 1 21

3.6.2 Phát hiện biên theo đạo hàm bậc 2 21

3.6.3 Bộ tách biên Canny 23

3.7 Chuyển đổi Hough cho đường thẳng, đường tròn 23

3.7.1 Chuyển đồi Hough cho đường thẳng 23

3.7.2 Chuyển đồi hough cho đường tròn 24

3.8 Xử lý điểm 24

3.8.1 Xử lý lược đồ (Histogram) 25

3.8.2 Cân bằng Histogram 25

CHƯƠNG 4 ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH 29

4.1 Chuyển đổi giữa các không gian màu 29

4.1.1 Chuyển đổi RGB sang CMYK và ngược lại 29

4.1.2 Chuyển đổi RGB sang HSV và ngược lại 29

4.1.3 Lưu đồ giải thuật 30

4.1.4 Code lập trình trên kit Raspberry Pi 32

4.1.5 Kết quả 33

4.2 Phóng to, thu nhỏ và xoay ảnh 34

4.2.1 Lưu đồ giải thuật 34

4.2.2 Code lập trình trên kit Raspberry Pi 35

4.2.3 Kết quả 35

4.3 Pha trộn hình ảnh 35

4.3.1 Lưu đồ giải thuật 36

4.3.2 Code lập trình trên kit Raspberry Pi 37

iii

Trang 9

4.4.1 Các bước thực hiện phép co ảnh trên ảnh nhị phân

4.4.2 Các bước thực hiện phép giãn nở ảnh trên ảnh nhị phân

4.4.3 Các bước thực hiện phép mở ảnh và đóng ảnh

4.4.4 Lưu đồ giải thuật

4.4.5 Code lập trình trên kit Raspberry Pi

4.4.6 Kết quả thực hiệ n trên ảnh nhị phân

4.5 Bộ tách biên Canny

4.5.1 Các bước tìm biên dùng phương pháp Canny

4.5.2 Lưu đồ giải thuật

4.5.3 Code lập trình trên kit Raspberry Pi

4.5.4 Kết quả

4.6 Chuyển đồi Hough, phát hiện đường thẳng, đường tròn trong ảnh

4.6.1 Chuyển đổi Hough cho đường thẳng

4.6.2 Chuyển đổi Hough cho đường tròn

4.6.3 Lưu đồ giải thuật

4.6.4 Code lập trình trên kit Raspberry Pi

4.6.5 Kết quả

4.7 So khớp mẫu

4.7.1 Lưu đồ giải thuật

4.7.2 Code lập trình trên kit Raspberry Pi

4.7.3 Kết quả

4.8 Xử lý lược đồ

4.8.1 Vẽ Histogram của một ảnh

4.8.2 Cân bằng histogram

4.8.3 Lưu đồ giải thuật

4.8.4 Code lập trình trên kit Raspberry Pi

4.8.5 Kết quả

CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 63

5.1 Kết luận 63

5.2 Hướng phát triển 63

iv

Trang 10

PHỤ LỤC x

v

Trang 11

Hình 2.1 Kit Raspberry Pi 2

Hình 2.2 Sơ đồ GPIO 4

Hình 2.3 Các cổng giao tiếp ngoại vi 4

Hình 2.4 Ghi phần mềm vào thẻ nhớ 6

Hình 3.1 Các lĩnh vực nghiên cứu chính trong xử lý ảnh số 9

Hình 3.2 Các thành phần cơ bản trong hệ thống xử lý ảnh đa dụng 10

Hình 3.3 Ảnh với các độ phân giải khác nhau 11

Hình 3.4 Các dạng lân cận cơ bản 12

Hình 3.5 Mô hình hệ màu RGB 12

Hình 3.6 Mô hình hệ màu CMYK 13

Hình 3.7 Không gian màu HSV 14

Hình 3.8 Hình tròn biểu diễn màu sắc (Hue) 14

Hình 3.9 Mô tả phép biến đổi phóng to ảnh 2 lần 15

Hình 3.10 Mô tả phép quay ảnh với góc 15

Hình 3.11 Một số hình dáng của phần tử cấu trúc phẳng 16

Hình 3.12 Một mặt nạ xác định hàng xóm của phần tử cấu trúc không phẳng 16

Hình 3.13 Ma trận giá trị thực tương ứng với hàng xóm trong phần tử cấu trúc không phẳng 16

Hình 3.14 Một số cấu trúc phần tử ảnh 17

Hình 3.15 Ví dụ về phép co ảnh 17

Hình 3.16 Ví dụ về phép giãn ảnh 18

Hình 3.17 Các mô hình biên 19

Hình 3.18 Biên được xét theo hai chiều 20

Hình 3.19 Mô hình biên bước và biên dốc 20

Hình 3.20 Thực hiện chuyển vị phẳng với cửa sổ trung bình 2x2 20

Hình 3.21 Gradient theo hàng và cột của ảnh 21

Hình 3.22 biểu diễn đường thẳng trong tọa độ cực 24

Hình 3.23 Histogram của một ảnh được cho là thiếu sáng 25

Hình 3.24 Hàm biến đổi tăng đơn điệu với hiện tượng nhiều giá trị mức xám 26

Hình 3.25 Hàm PDF và kết quả khi chuyển đổi trong biểu thức (3.22) 27

vi

Trang 12

Hình 4.3 Lưu đồ chuyển đổi HSV sang RGB 32

Hình 4.4 Ảnh RGB 33

Hình 4.5 Ảnh CMYK 33

Hình 4.6 Ảnh HSV 33

Hình 4.7 Lưu đồ phóng to, thu nhỏ và xoay ảnh 34

Hình 4.8 Ảnh gốc 35

Hình 4.9 Ảnh sau khi xoay 45o và thu nhỏ 20% 35

Hình 4.10 Lưu đồ hòa trộn hình ảnh 36

Hình 4.11 Ảnh thứ nhất 37

Hình 4.12 Ảnh thứ hai 37

Hình 4.13 Kết quả 37

Hình 4.14 lưu đồ giải thuật phép co ảnh 39

Hình 4.15 lưu đồ giải thuật phép giãn ảnh 40

Hình 4.16 lưu đồ giải thuật phép mở ảnh 41

Hình 4.17 lưu đồ giải thuật phép đóng ảnh 41

Hình 4.18 Ảnh trước khi co 42

Hình 4.19 Ảnh sau khi co 42

Hình 4.20 Ảnh trước khi giãn nở 42

Hình 4.21 Ảnh sau khi giãn nở 42

Hình 4.22 Ảnh trước khi mở 43

Hình 4.23 Ảnh sau khi mở 43

Hình 4.24 Ảnh trước khi đóng 43

Hình 4.25 Ảnh sau khi đóng 43

Hình 4.26 Lưu đồ giải thuật phương pháp tách biên Canny 46

Hình 4.27 Kết quả tách biên Canny 47

Hình 4.28 giao điểm của các đường cong khác nhau thuộc về một đường thẳng 48

Hình 4.29 Lưu đồ giải thuật chuyển đổi Hough tìm đường thẳng trong ảnh 49

Hình 4.30 Lưu đồ giải thuật chuyển đổi Hough tìm đường tròn trong ảnh 50

Hình 4.31 Ảnh ban đầu 52

Hình 4.32 Kết quả sau khi tìm đường thẳng 52

vii

Trang 13

Hình 4.35 Sử dụng mẫu để nhận dạng các đối tượng 53

Hình 4.36 So sánh hình với mẫu 53

Hình 4.37 Lưu đồ giải thuật so khớp mẫu 55

Hình 4.38 Hình ảnh ban đầu 57

Hình 4.39 Ảnh mẫu 57

Hình 4.40 Kết quả sau khi tìm kiếm 57

Hình 4.41 lưu đồ giải thuật vẽ histogram 59

Hình 4.42 Lưu đồ giải thuật cân bằng histogram 60

Hình 4.43 Ảnh ban đầu 62

Hình 4.45 Ảnh sau khi cân bằng histogram 62

Hình 4.46 Biểu đồ histogram của ảnh xám 62

Hình 4.47 Biểu đồ histogram sau khi cân bằng 62

viii

Trang 14

GPIO: là viết tắt của General Purpose Input Output GPIO chính là cửa ngõ để giao

tiếp giữa kit raspberry pi với các thiết bị ngoại vi

SoC: là viết tắt của từ Socket Nhân xử lý của kit raspberry pi.

CPU: là viết tắt của chữ Central Processing Unit Là bộ xử lí trung tâm của kit.

GPU: là viết tắt của Graphics Processing Unit là một bộ vi xử lý chuyên dụng nhận

nhiệm vụ tăng tốc, xử lý đồ họa cho bộ vi xử lý trung tâm CPU

HĐH : Hệ điều hành.

OEM: viết tắt của Original Equipment Manufacturer Nhà sản xuất phụ tùng gốc Rpi: Raspberry pi

ix

Trang 15

Cùng với sự phát triển ngày càng mạnh mẽ c ủa khoa học kĩ thuật trong một vàithập kỷ gần đây, xử lý ảnh tuy là một ngành khoa học còn tương đối mới mẻ so vớinhiề u ngành khoa học khác nhưng hiện nay nó đang là một trong những lĩnh vực pháttriển rất nhanh và thu hút sự quan tâm đặc biệt từ các nhà khoa học, thúc đẩy các trungtâm nghiên cứu, ứng dụng về lĩnh vực hấp dẫn này Xử lý ảnh đóng vai trò quan trọngtrong nhiều ứng dụng thực tế về khoa học kĩ thuật cũng như trong cuộc sống thườngngày như: sản xuất và kiểm tra chất lượng, s ự di chuyển của Robot, các phương tiện đilại tự trị, công cụ hướng dẫn cho người mù, an ninh và giám sát, nhận dạng đối tượng,nhận dạng mặt, các ứng dụng trong y học, sản xuất, hiệu chỉnh video,…

Kit raspberry pi hiện đang là loại Kit có độ ứng dụng cao trong khoa học kỹ thuật

vì sự nhỏ gọn và mạnh mẽ của nó

Nhận thấy điều này, nhóm chúng em quyết định chọn đề tài “Ứng Dụng Kit

Raspberry Pi Vào Xử Lý Ảnh ” nhằm đưa ra một số giải pháp xử lý ảnh để áp dụng

vào đời sống

Đề tài bao gồm những phần như sau :

Chương 1: Dẫn nhập vào đề tài, đặt vấn đề, lý do tới đối tượng nghiên cứu

Chương 2: Giới thiệ u tổng quan về kit raspberry pi, c ấu hình cơ bản của kitRaspberry Pi và môi trường làm việc trên Python

Chương 3: Giới thiệu về xử lý ảnh, những kiến thức về ảnh và những toán t ử liênquan cho xử lý ảnh được trình bày trong phần này

Chương 4: Cuối cùng chúng ta sẽ giải một số bài toán xử lý ảnh trên kitRaspberry Pi từ xây dựng lưu đồ giải thuật đến lập trình trên Kit

x

Trang 16

Hiện nay môn Xử Lý Ảnh đang được giảng dạy trong rất nhiều trường đại học,tuy nhiên mức độ thực hành trên một Board mạch nào đó vẫn còn rất hạn chế Nhậnthấy điều này nhóm chúng tôi quyết định thực hiện đề tài “ Ứng dụng kit Raspberry Pivào xử lý ảnh ” nhằm làm phong phú hơn cho môn Xử Lý Ảnh cũng như làm tài liệutham khảo cho các bạn sinh viên khóa sau và các bạn đam mê môn Xử Lý Ảnh có thểtham khảo.

1.2 MỤC TIÊU

Do hạn chế về thời gian do đó chúng tôi chỉ tập trung xử lý các bài toán xử lý

ảnh đơn giản và phố biến trên kit Raspberry Pi

Kết quả của đề tài chỉ giới hạn trong phạm vi là tài liệu hướng dẫn thực hành trênkit raspberry pi chứ chưa áp dụng thực tiễn vào đời sống

Trang 17

CHƯƠNG 2: KIT RASPBERRY PI

2.1 Kit Raspberry Pi [6]

2.1.1 Giới thiệu tổng quan

Raspberry Pi là cái máy tính giá 35USD kích cỡ như thẻ ATM và chạy HĐHLinux Với mục tiêu chính của chương trình là giảng dạy máy tính cho trẻ em Đượcphát triển bởi Raspberry Pi Foundation – là tổ chức phi lợi nhuận với tiêu chí xây dựng

hệ thống mà nhiều người có thể sử dụng được trong những công việc tùy biến khácnhau

Raspberry Pi s ản xuất bởi 3 OEM: Sony, Qsida, Egoman Và được phân phốichính bởi Element14, RS Components và Egoman

Raspberry Pi ban đầu là một thẻ card được cắm trên bo mạch máy tính được pháttriển bởi các nhà phát triển ở Anh Sau đó Raspberry Pi đã được phát triển thành một

bo mạch đơn có chức năng như một máy tính mini dùng để giảng dạy trong môn khoahọc máy tính ở các trường trung học

Raspberry Pi được phát triển đầu tiên vào năm 2012

Hình 2.1 Kit Raspberry Pi

Trang 18

2.1.2 Các phiên bản hiện tại của kit raspberry pi

Version Loại thẻ CPU Tốc độ RAM GPIO

nhớ

A

1 jack audio, 1 jack video

BCM28365

1 jack audio,1 jack video

BCM28365

1 jack audio/video

Trang 20

2.1.3 Các kết nối với Raspberry Pi 2

Hình 2.2 Sơ đồ GPIO

Hình 2.3 Các cổng giao tiếp ngoại vi

Trang 21

2.1.4 Hệ điều hành – phần mềm [5]

Có 5 phiên bản hệ điều hành được cung cấp chính thức cho Raspberry Pi:

Raspian "wheezy" (khuyên dùng) : Đây là distro dựa trên Debian wheezy, sử

dụng hard-float ABI (tính toán dấu chấm động bằng phần cứng) cho thời gian chạy cácứng dụng nhanh hơn Có sẵn giao diện đồ họa Phù hợp với người mới bắt đầu tiếp cậnLinux vì tính dễ sử dụng và trực quan

Soft-float "wheezy": Vẫn được xây dựng dựa trên Debian wheezy nhưng việc

xử lý dấu chấm động được thực hiện bằng phần mềm Việc này giúp bạn có thể sửdụng máy ảo Java (Oracle JVM) trên Raspberry

Arch Linux: Phiên bản giành cho ARM Đảm bảo thời gian khởi động trong

vòng 10 giây Chỉ khởi động và load các gói cần thiết Để sử dụng được Arch Linuxbạn cần có kiến thức cơ bản về Linux

Pidora: Là phiên bản của Fedora được tối ưu cho RPi, có sẵn giao diện đồ họa.

Giành cho những ai đã quen xài Fedora

RISC OS: Là hệ điều hành do nhóm phát triển ARM thiết kế riêng Đây không

phải là một phiên bản Linux, do vậy bạn cần làm quen với cấu trúc và câu lệnh đặctrưng cho hệ điều hành này

Ngoài ra còn nhiều hệ điều hành khác bạn có thể cài đặt: Raspbmc, Android

2.1.5 Cài đặt phần mềm cho kit Raspberry Pi [5]

Chuẩn bị:

 Board mạch Raspberry Pi với bộ nguồn khoảng 700mA trở lên

 Hệ điều hành: Bạn có thể download bất kỳ hệ điều hành nào từ trang chủ

Raspberry Pi Ở đây tôi sẽ sử dụng Raspbian Weezy

 Thẻ nhớ: Theo khuyến cáo là 4GB

 Màn hình hỗ trợ HDMI hoặc RCA

Trang 22

Tiến hành:

Đầu tiên bạn nối thẻ nhớ với máy tính sau đó dùng phần mềm

Hình 2.4 Ghi phần mềm vào thẻ nhớ

Chỉ cần chọ n file ảnh hệ điều hành (gi ải nén t ừ file nén download ở trên.), chú

ý chọn đúng ổ USB, nhấn Write và chờ đợi

Sau khi ảnh hệ điều hành đã được ghi xuống thẻ nhớ, bạn c ắm thẻ nhớ vàoRaspberry Pi, kết nối bàn phím, màn hình và nối nguồn Như vậy là ta đã hoàn thànhcài hệ điều hành cho Pi

Sau khi đã kết nối màn hình và bàn phím, cấp nguồ n và hệ thống sẽ tự động

boot, để đăng nhập, bạn dùng username và password mặc định là: pi/raspberry Hệ thống đã được cài sẵn giao diện XDE, bạn có thể bật giao diện này bằng lệnh startx.

Trang 23

2.2 Ngôn ngữ lập trình Python

2.2.1 Giới thiệu Python

Python là một ngôn ngữ lập trình thông dịch do Guido van Rossum tạo ra năm

1990 Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động, do vậy

nó tương tự như Perl, Ruby, Scheme, Smalltalk, và Tcl Python được phát triển trongmột dự án mã mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý

Theo đánh giá của Eric S Raymond, Python là ngôn ngữ có hình thức rất sángsủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình Cấu trúc của Python còncho phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu, như nhận định củachính Guido van Rossum trong một bài phỏng vấn ông

Ban đầu, Python được phát triển để chạy trên nền Unix Nhưng rồi theo thời gian,

nó đã “bành trướng” sang mọi hệ điều hành từ MS-DOS đến Mac OS, OS/2, Windows,Linux và các hệ điều hành khác thuộc họ Unix Mặc dù sự phát triển của Python có sựđóng góp của rất nhiều cá nhân, nhưng Guido van Rossum hiện nay vẫn là tác giả chủyếu của Python Ông giữ vai trò chủ chốt trong việc quyết định hướng phát triển củaPython

2.2.2 Đặc điểm của ngôn ngữ Python

Python được thiết kế để trở thành một ngôn ngữ dễ học, mã nguồn dễ đọc, bố cụctrực quan, dễ hiểu, thể hiện qua các điểm sau:

Từ Khóa: Python tăng cường sử dụng từ khóa tiếng Anh, hạn chế các kí hiệu và

cấu trúc cú pháp so với các ngôn ngữ khác Python là một ngôn ngữ phân biệt kiểu chữHOA, chữ thường Như C/C++, các từ khóa của Python đều ở dạng chữ thường

kí hiệ u ho ặc từ khóa Ví dụ, trong C/C++, cặp ngoặc nhọn { } được dùng để bao bọcmột khối lệnh.Trái l ại Python có một cách r ất đặc biệt để tạo khối lệnh, đó là thụt cáccâu lệnh trong khối vào sâu hơn (về bên phải) so với các câu lệnh c ủa khối lệ nh chachứa nó Ta có thể sử dụng dấu tab hoặc khoảng trống để thụt các câu lệnh vào

Khả năng mở rộng: Python có thể được mở rộng: nế u ta biết sử dụng C, ta có thể dễdàng viết và tích hợp vào Python nhiề u hàm tùy theo nhu cầu Các hàm này sẽ trở thành hàmxây dựng s ẵn (built-in) của Python Ta cũng có thể mở rộng chức năng của trình thông dịch,hoặc liên kết các chương trình Python với các thư việ n chỉ ở dạng

Trang 24

nhị phân (như các thư viện đồ họa do nhà sản xuất thiết bị cung c ấp) Hơn thế nữa, tacũng có thể liên kết trình thông dịch c ủa Python với các ứng dụng viết từ C và sửdụng nó như là một mở rộng hoặc một ngôn ngữ dòng lệnh phụ trợ cho ứng dụng đó.

Trình thông dịch: Python là một ngôn ngữ lập trình dạng thông dịch, do đó có

ưu điểm tiết kiệm thời gian phát triển ứng dụng vì không cần phải thực hiện biên

dịch và liên kết Trình thông dịch có thể được sử dụng để chạy file script, ho ặc cũng

có thể được sử dụng theo cách tương tác Ở chế độ tương tác, trình thông dịch Pythontương tự shell của các hệ điều hành họ Unix, tại đó, ta có thể nhập vào từng biểu thứcrồi gõ Enter , và kết quả thực thi sẽ được hiển thị ngay lập tức

Lệnh và c ấu trúc điều khiển: Mỗi câu lệnh trong Python nằm trên một dòng

mã nguồn Ta không cần phải kết thúc câu lệnh bằng bất kì kí tự gì Các cấu trúc điềukhiển chúng bao gồm: if,esif,else,while,for…

Python cũng có từ khóa class dùng để khai báo lớp (sử dụng trong lập trình

hướng đối tượng) và lệnh def dùng để định nghĩa hàm

Hệ thống kiểu dữ liệu: Python s ử dụng hệ thống kiểu duck typing, còn gọi là

latent typing (tự động xác định kiểu) Có nghĩa l à, Python không kiểm tra các ràngbuộc về kiểu dữ liệu tại thời điểm dịch, mà là t ại thời điểm thực thi Khi thực thi, nếumột thao tác trên một đối tượng bị thất bại, thì có nghĩa là đối tượng đó không sử dụngmột kiểu thích hợp

Python cũng là một ngôn ngữ định kiểu mạnh Nó cấm mọi thao tác không hợp

lệ, ví dụ cộng một con số vào chuỗi kí tự

Sử dụng Python, ta không cần phải khai báo biế n Biến được xem là đã khai báonếu nó được gán một giá trị lần đầu tiên Căn cứ vào mỗi lần gán, Python sẽ tự độngxác định kiểu dữ liệu của biến

Python có một số kiểu dữ liệu thông dụng sau: int,long,float,list,str,dict,set…

Module: Python cho phép chia chương trình thành các module để có thể sử

dụng lại trong các chương trình khác Nó cũng cung cấp sẵn một tập hợp c ác

modules chuẩn mà lập trình viên có thể sử dụng lại trong chương trình của họ Các

module này cung cấp nhiều chức năng hữu ích, như các hàm truy xuất tập tin, các lời

gọi hệ thống, trợ giúp lập trình mạng (socket),

Đa năng: Python là một ngôn ngữ lập trình đơn giản nhưng rất hiệu quả Python

là một ngôn ngữ lập trình cấp cao có thể đáp ứng phần lớn yêu cầu của lập trình viên

Trang 25

CHƯƠNG 3: TỔNG QUAN VỀ XỬ LÝ ẢNH

3.1 Giới thiệu

3.1.1 Hệ thống xử lý ảnh [1]

Trong những năm gần đây, mặc dù còn rất mới mẻ trong lĩnh vực khoa học vàcông nghệ nhưng xử lý ảnh đang được nghiên cứu và phát triển với tốc độ nhanhchóng bởi các trung tâm nghiên c ứu, trường đại học… với rất nhiề u ứng dụng trêncác lĩnh vực khác nhau

Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng nhằm nâng cao chất lượngbằng các phương pháp phân tích được nghiên cứu trong giai đoạn thiết bị phần cứng

bị hạn chế, chẳng hạn như nâng cao độ sáng hay độ phân giải của hình ảnh…Về sau,nhờ sự xuất hiện và phát triển mạnh của máy tính đã tạo điều kiện hơn nữa cho quátrình thực hiện các thuật toán xử lý ảnh Ứng dụng của xử lý ảnh ngày càng được mởrộng sang các lĩnh vực khác, chẳng hạn như viễn thông, điều khiển tự động, giaothông thông minh, kỹ thuật y sinh…Đặc biệt, trong các thiết bị kỹ thuật số có mànhình hiển thị luôn ưu tiên một phần tài nguyên dành cho việc xử lý hình ảnh: máy tínhxách tay, camera kỹ thuật số, điện thoại thông minh, tivi thông minh…

Hình 3.1 Các lĩnh vực nghiên cứu chính trong xử lý ảnh số

Trang 26

Thông thường, xử lý ảnh số bao gồm nhiều vấn đề khác nhau, tuy nhiên, có thể

chia thành 4 lĩnh vực chính như hình 3.1: tạo lập ảnh, biểu diễn, phân tích và quản lý

Bên cạnh đó, các thuật toán tăng cường ảnh có thể được xem xét như là một bước tiền

hay hậu xử lý trong tất cả các lĩnh vực trên

3.1.2 Các thành phần trong một hệ thống xử lý ảnh [1]

Thông thường, một hệ thống xử lý ảnh có thể được xem như một hệ thống đa

năng gồm các thành phần cơ bản như: cảm biến hình ảnh, phần cứng xử lý ảnh

chuyên dụng, máy tính, phần mềm xử lý, bộ nhớ, màn hình hiển thị, in ấn và mạng

như hình 3.2

Hình 3.2 Các thành phần cơ bản trong hệ thống xử lý ảnh đa dụng

3.2 Các khái niệm cơ bản

3.2.1 Ảnh và điểm ảnh [1]

Ảnh số là một tập hợp của nhiều điểm ảnh, hay còn gọi là pixel Mỗi điểm ảnh biểu diễnmột màu sắc nhất định (hay độ sáng với ảnh đen trắng) tại một điểm duy nhất, có thể xem mộtđiểm ảnh giống như một chấm nhỏ trong một tấm ảnh màu Bằng phương pháp đo lường vàthống kê một lượng lớn các điểm ảnh, chúng ta hoàn toàn có thể tái cấu trúc các điểm ảnh nàythành một ảnh mới gần giống với ảnh gốc Có thể nói pixel gần giống như các phần tử có cấutrúc hạt trên một ảnh thông thường nhưng được sắp xếp

Trang 27

theo từng hàng và cột và chứa các thông tin khác nhau.

Có 2 dạng quan trọng trong ảnh số được dùng với nhiều mục đích khác nhau làảnh màu và ảnh đen trắng (hay còn gọi là ảnh xám) Trong đó, ảnh màu được cấu trúc

từ các pixel màu trong khi ảnh đen trắng được xây dựng từ các pixel có giá trị mứcxám khác nhau

Ảnh xám: với một ảnh đen trắng được xây dựng từ nhiều pixel mà tại đó biểu

diễn một giá trị nhất định tương ứng với một mức xám Những mức xám này trải dàitrong một khoảng từ đen sang trắng với bước nhảy rất mịn, thông thường là 256 mứcxám khác nhau theo tiêu chuẩn

Ảnh màu: một ảnh màu thường được tạo thành từ nhiều pixel mà trong đó mỗi

pixel được biểu diễn bởi ba giá trị tương ứng với các mức trong các kênh màu đỏ(Red), xanh lá (Green) và xanh dương (Blue) tại một vị trí cụ thể

3.2.3 Độ phân giải

Với cùng một ảnh, càng nhiều điểm được lấy mẫu thì ảnh chụp càng chi tiết Mật

độ điểm ảnh trong một ảnh được xem như độ phân giải của chính nó Ảnh có độ phângiải càng cao thì ảnh càng chứa nhiều thông tin Nói một cách chính xác, khi giữ ảnhtại cùng một kích thước vật lý thì ảnh trở nên sắc nét hơn và chi tiết hơn nếu độ phângiải cao hơn như hình 3.3

Hình 3.3 Ảnh với các độ phân giải khác nhau:(a) 256x256;

3.2.4 Điểm ảnh lân cận [1]

Với một điểm ảnh p luôn có 4 điểm ảnh xung quanh theo phương ngang và dọc

(hình 3.4(a)), tập các điểm ảnh này được gọi là lân cận 4 của p Ngoài ra, có một

dạng lân cận nữa là theo đường chéo (hình 3.4(b)) Kết hợp hai dạng lân cận này thì

Trang 28

chúng ta có dạng lân cận 8 điểm ảnh (hình 3.4(c)).

Hình 3.4 Các dạng lân cận cơ bản: (a) lân cận 4 điểm ngang dọc;

(b) lân cận 4 điểm chéo; (c) lân cận 8 điểm bao quanh

3.3 Không gian màu [2]

Không gian màu là một mô hình toán học dùng để mô tả các màu sắc trong thực

tế được biểu diễn dưới dạng số học Trên thực tế có rất nhiều không gian màu khácnhau để sử dụng vào mục đích khác nhau Ba không gian màu cơ bản hay được nhắctới và ứng dụng nhiều, đó là hệ không gian màu RGB, HSV và CMYK

3.3.1 Không gian màu RGB

RGB là không gian màu rất phổ biến được dùng trong đồ họa máy tính và nhiềuthiết bị kĩ thuật số khác Ý tưởng chính c ủa không gian màu này là sự kết hợp của 3màu sắc cơ bản : màu đỏ, xanh lục và xanh lơ để mô tả tất cả các màu sắc khác

Ví dụ: màu đen là sự kết hợp c ủa các kênh màu (R, G, B) với giá trị tương ứng (0, 0, 0) màu trắng có giá trị (255,255, 255), màu vàng có giá trị (255, 255, 0), màu tím đậm có giá trị (64, 0, 128) Nếu ta dùng 16 bit để

mã hóa một kênh màu (48 bit cho toàn bộ 3 kênh màu) thì dãi màu sẽ rãi rộng lên tới 3 × 216 = ⋯ Một con số rất lớn.

Hình 3.5 Mô hình hệ màu RGB

Trang 29

3.3.2 Không gian màu CMYK

CMYK là không gian màu được sử dụng phổ biế n trong ngành công nghiệ p in

ấn Ý tưởng cơ bản của hệ không gian này là dùng 4 màu sắc cơ bản để phục vụ choviệc pha trộn mực in Trên thực tế, người ta dùng 3 màu là C=Cyan: xanh lơ,M=Magenta: hồng xẫm, và Y=Yellow: vàng để biểu diễn các màu sắc khác nhau Nếulấy màu hồng xẫm cộng với vàng sẽ ra màu đỏ, màu xẫm kết hợp với xanh lơ sẽ choxanh lam Sự kết hợp của 3 màu trên sẽ cho ra màu đen, tuy nhiên màu đen ở đâykhông phải là đen tuyệt đối và thường có độ tương phản lớn nên trong ngành in, để tiếtkiệm mực in người ta thêm vào màu đen để in những chi tiết có màu đen thay vì phảikết hợp 3 màu sắc trên Và như vậy ta có hệ màu CMYK

Nguyên lý làm việc của hệ màu này như sau: Trên một nền giấy tr ắng, khi mỗimàu này được in lên sẽ loại bỏ dần đi thành phần màu trắng 3 màu C, M, Y khác nhau

in theo những tỉ lệ khác nhau sẽ loại bỏ đi thành phần đó một cách khác nhau và cuốicùng cho ta màu sắc cần in Khi c ần in màu đen, thay vì phải in c ả 3 màu người tadùng màu đen để in lên Nguyên lý này khác với nguyên lý làm việc của hệ RGB ở chỗ

hệ RGB là sự kết hợp của các thành phần màu, còn hệ CMYK là sự loại bỏ lẫn nhaucủa các thành phần màu

Hình 3.6 Mô hình hệ màu

CMYK 3.3.3 Không gian màu HSV

HSV và cũng gần tương tự như HSL là không gian màu được dùng nhiều trongviệc chỉnh s ửa ảnh, phân tích ảnh và một phần của lĩnh vực thị giác trên máy tính Hệkhông gian này dựa vào 3 thông số sau để mô tả màu sắc:

H = Hue: màu sắc , S = Saturation: độ đậm đặc, sự bão hòa, V = Value: giá trịcường độ sáng

Trang 30

Không gian này thường được biễu diễn dưới dạng hình trụ hoặc hình nón Theo

đó, đi theo vòng tròn từ 0-360 độ là trường biểu diễ n màu s ắc (Hue) Trường này bắtđầu từ màu đỏ đầu tiên (red primary) tới màu xanh l ục đầu tiên (green primary) nằmtrong khoảng 0 - 120 độ, từ 120 - 240 độ là màu xanh l ục tới xanh lơ (green primary –blue primary) Từ 240 - 360 độ là từ màu đen tới lại màu đỏ

Hình 3.7 Không gian màu HSV Hình 3.8 Hình tròn biểu diễn màu sắc (Hue)

3.4 Phóng to, thu nhỏ và xoay ảnh

Ảnh số thực chất là một ma tr ận các điểm ảnh, do đó để có thể phóng to, thu nhỏhay xoay một tấm ảnh ta có thể sử dụng các thuật toán tương ứng trên ma trận

Ta sẽ sử dụng biển đổi affine để quay và thay đổi tỉ lệ to, nhỏ của một ma trận

3.4.1 Biến đổi Affine [2]

Giả sử ta có vector = [ , ] và ma trận M 2x2 Phép biến đổi affine trong không gian hai chiều có thể được định nghĩa ′ = Mp.

Trong đó ′ = [ ′, ′] Viết một cách tường minh ta có:

Xét ma tr ận

= [ ].

Nếu = = 0, khi đó ′ = và ′ = ,

phép biếnđổi này làm thay đổi tỉ lệ của ma trận nếu là trong ảnh nó sẽ phóng to hoặc thu nhỏ ảnh Hình sau mô tả phép biến đổi với tỉ lệ = = 2

Trang 31

Hình 3.9 Mô tả phép biến đổi phóng to ảnh 2 lầnNếu ta định nghĩa ma trận= [ cos − sin ] thì phép biến sẽ quay

thành ′ với góc quay là .

Hình 3.10 Mô tả phép quay ảnh với góc

3.5 Xử lý hình thái học trên ảnh [2]

Biến đổi hình thái là một số hoạt động đơn giản dựa trên hình dạng hình ảnh Nóthường được thực hiện trên ảnh nhị phân Nó cần 2 yế u tố đầu vào, một là hình ảnhban đầu, hai là yếu tố cấu trúc hay hạt nhân sẽ quyết định bản chất biến đổi Phần lớncác phép toán hình thái học được định nghĩa từ hai phép toán cơ bản là Erosion (phép

co ảnh) và Dilation (phép giãn ảnh) Yế u tố quan trọng trong các phép toán này là lựachọn một phần tử cấu trúc có hình dáng phù hợp

3.5.1 Phần tử cấu trúc

Đối với ảnh nhị phân, phần tử cấu trúc là một ảnh có kích thước nhỏ gồm có haigiá trị 0 và 1, các giá trị bằng 0 được bỏ qua trong quá trình tính toán, gọi H(i, j) làphần tử cấu trúc của ảnh nhị phân và được thể hiện như sau:

H(i, j) ∈ {0,1}

Một số hình dáng của phần tử c ấu trúc thường được sử dụng trên ảnh nhị phân:

dạng đường theo chiều ngang và dọc, hình vuông, hình ellipse…

Trang 32

Hình 3.11 Một số hình dáng của phần tử cấu trúc phẳngĐối với ảnh xám, phần tử c ấu trúc là không phẳng, tức là các phần tử cấu trúc sửdụng các giá trị 0 và 1 để xác định phạm vi của phần tử c ấu trúc trong mặt phẳng x vàmặt phẳng y và thêm giá trị độ cao để xác định chiều thứ ba.Cấu trúc phần tử khôngphẳng gồm có hai phần :

Phần thứ nhất: Một mảng hai chiều gồm có các giá trị 0 và 1, trong đó giá trị

bằng 1 xác định hàng xóm của phần tử cấu trúc

Hình 3.12 Một mặt nạ xác định hàng xóm của phần tử cấu trúc không phẳng

Phần thứ hai: Một mảng hai chiều có kích thước bằng với kích thước của mảng

hai chiều ở phần thứ nhất nhưng chứa các giá trị thực của phần tử cấu trúc

Hình 3.13 Ma trận giá trị thực tương ứng với hàng xóm

trong phần tử cấu trúc không phẳng

Trang 33

3.5.2 Phép toán co (Erosion)

Phép toán co trong ảnh được định nghĩa ⊖ = { | ( ) ⊆ } Trong đó A là đối tượng trong ảnh, B là cấu trúc phần tử ảnh.

Cấu trúc phần tử ảnh (image structuring element) là một hình khối được địnhnghĩa s ẵn nhằm tương tác với ảnh xem nó có thỏa mãn một số tính chất nào đó không,một số cấu trúc phần tử hay gặp là cấu trúc theo khối hình vuông và hình chữ thập

Hình 3.14 Một số cấu trúc phần tử ảnh

Ta sẽ xét một ví dụ với phép co trong ảnh Đối tượng trong ảnh được biễu diễn bởimàu xám, cấu trúc phần tử ảnh là khối có viền màu đỏ, x là điểm sau phép thõa mãnphép co ảnh, 0 là điểm không thõa mãn

Hình 3.15 Ví dụ về phép co ảnh

Ta thấy rằng sau phép toán này đối tượng trong ảnh bị co lại, chính vì vậy mà nóđược ứng dụng trong việc giảm kích thước của đối tượng, tách rời các đối tượng gầnnhau và làm mảnh, tìm xương đối tượng

Trang 34

3.5.3 Phép toán giãn nở (Dialtion)

Phép toán giãn nở được định nghĩa ⊕ = ∪ với ⊂ trong đó A là đối tượng trong ảnh, B là một cấu trúc

phần tử ảnh.Phép toán này có tác dụng làm cho đối tượng ban đầu trong ảnh tăng lên về kích thước (giãn nở ra).

Ta hãy xét một ảnh với đối tượng trong ảnh được biểu diễ n bằng màu nền nâu,

sau đó dùng cấu trúc phần tử hình vuông (màu đỏ) để làm giản nở ảnh, kết quả là ảnh

được giản nở ra và phần giản nở ra ta đánh dấu là dấu x

Hình 3.16 Ví dụ về phép giãn ảnhỨng dụng c ủa phép giãn ảnh là làm cho đối tượng trong ảnh tăng lên về kích

thước, các lỗ nhỏ trong ảnh được lấp đầy, nối liền đường biên ảnh đối với những đoạn

rời nhỏ…

3.5.4 Phép toán mở (opening) và đóng (closing)

Phép toán mở (opening) và đóng (closing) là s ự kết hợp c ủa phép co (erosion)

và giãn (dialation) Chúng được định nghĩa như sau:

Phép toán đóng: ● = ( ⊕ ) ⊖ (3.4)Phép toán mở được ứng dụng trong việc loại bỏ các phần lồi lõm và làm cho

đường bao đối tượng trong ảnh trở lên mượt mà hơn

Phép toán đóng được ứng dụng trong việc làm trơn đường bao đối tượng, lấp đầy

các khoảng trống trên biên và loại bỏ những hố nhỏ (một số pixel đứng thành cụm độc

lập)

Trang 35

3.6 Tách biên ảnh [1]

Hình 3.17 (a) được vẽ trong miền liên t ục là mô hình biên dốc một chiều, trong

đó dốc tăng biên độ từ thấp đến cao hoặc ngược lại Biên được đặc trưng bởi độ cao,dốc, và gốc tọa độ theo chiều ngang ở điểm giữa của dốc Một biên tồn tại khi chiềucao biên lớn hơn một giá trị đã định nghĩa Một bộ tách biên lý tưởng cho biết vị tríbiên là một pixel đơn tại điểm giữa của dốc Nếu độ dốc trong hình 3.17(a) là 90o thìkết quả được gọi là biên bước, như trong hình 3.17(b) Trong các ảnh thực tế, tathường không nhận được biên bước, tức là quá trình thay đổi độ chói không xảy ra độtngột Hình 3.17(c) biểu diễn một biên đường và khi độ rộ ng của đường bằng không, ta

có biên nóc như hình 3.17(d)

Hình 3.17 Các mô hình biên: a) biên dốc; b) biên

bước; c) biên đường; d) biên nócTrong miền hai chiều liên t ục, mô hình biên và đường giả sử rằng tính không liêntục của biên độ duy trì trong một kho ảng lân cận nhỏ so với biên và đường Hình 3.18trình bày một biên hai chiều Khi xem xét thông số của biên hai chiều cần tham chiếuđến trục tọa độ

Trang 36

Hình 3.18 Biên được xét theo hai chiều

Hình 3.19 Mô hình biên bước và biên dốcHình 3.19 cho thấy mô hình biên bước và dốc trong trường hợp rời r ạc Mô hìnhbiên dốc trong trường hợp này chứa một pixel đơn chuyển vị mà biên độ của chúngbằng trung bình của các pixel liền kề

Mô hình chuyển vị phẳng có được bằng cách thực hiện cửa sổ trung bình dịchchuyển 2x2 trên mô hình biên đường

Hình 3.20 Thực hiện chuyển vị phẳng với cửa sổ trung bình 2x2

Trang 37

3.6.1 Tách biên theo đạo hàm bậc 1

Có 2 phương pháp cơ bản để tách biên theo đạo hàm bậc 1 Phương pháp thứ

nhất là tạo gradient của hai hướng trực giao trong ảnh Phương pháp thứ hai là dùng

Phương pháp phát hiện biên sử dụng đạo hàm bậc 2 được triển khai dựa trên một

số dạng vi phân bậc 2 để làm nổi biên Một biên được đánh dấu khi có một sự thay

đổi không gian theo đạo hàm bậc 2 Hai dạng của phương pháp đạo hàm bậc 2 đã

được nghiên cứu là: Laplace và đạo hàm bậc 2 trực tiếp

Trang 38

Trong đó, toán tử Laplace là:

∇ 2

G(x, y) bằng không khi F(x, y) là hằng số hoặc có biên độ thay đổi tuyến tính.

Trong miền rời rạc, dạng xấp xỉ đơn giản nhất của biến đổi Laplace liên tục là tính sự

sai biệt của độ dốc trên mỗi trục

Phương pháp Laplace 4 điểm thường được chuẩn hóa để tạo độ lợi trung bình

đơn vị của các điểm ảnh trọng số dương và âm trong ma trận 3x3 điểm ảnh liền kề

Đáp ứng xung chuẩn hóa độ lợi Laplace được định nghĩa

Ma trận này không thể phân tách được thành tổng của 2 đạo hàm bậc hai như

trong (3.9) Dạng Laplace 8 điểm phân tách được có thể biểu diễn theo dạng

H=⌊−1 2 −1⌋+⌊ 2

Trang 40

Trong đó sai biệt về độ dốc là trung bình trên 3 hàng và 3 cột Dạng Laplace

8 điểm phân tách chuẩn hóa độ lợi được biểu diễn

ℎ( ) = − −2 2 (3.11) Trong đó r2 = x2 + y2 và là độ lệch chuẩn Đây là một hàm làm phẳng và nế u áp

dụng trên ảnh nó sẽ làm mờ ảnh Mức độ mờ được quyết định bởi độ lệch chuẩn.

Laplace của hàm này là:

Việc thực hiên LoG tạo hai hiệu ứng: làm phẳng ảnh và tính Laplace

Phương pháp phát hiện biên Canny là một phương pháp rất tốt và thường được sửdụng Để thực hiện tách biên Canny, ta thực hiện 4 bước

 Ảnh được làm phẳng dùng bộ lọc Gauss

 Gradient cục bộ của biên độ và hướng được tính

 Loại bỏ các giá trị không phải là cực đại

 Chọn ra biên của đối tượng trong ảnh

3.7 Chuyển đổi Hough cho đường thẳng, đường tròn [2]

Chuyển đổi Hough (Hough transformation) là một phương pháp được dùng nhiềutrong phân tích và xử lý ảnh, mục đích chính của phương pháp này là tìm ra nhữnghình dáng đặc trưng trong ảnh bằng cách chuyển đổi không gian ảnh ban đầu sang mộtkhông gian của các tham số nhằm đơn giản hóa quá trình tính toán, trong phần này taxét chuyển đổi Hough cho đường thẳng và đường tròn

Ta đã biết rằng, một đường thẳng trong không gian hai chiều có thể được biểu diễn dưới dạng = + và cặp

hệ số góc , giá trị m có thể được chọn làm đặc trưng cho một đường thẳng Tuy nhiên, cách biểu diễn theo cặp (k,

m) khó thỏ a mãn

Ngày đăng: 21/12/2021, 09:10

HÌNH ẢNH LIÊN QUAN

Hình 2.1 Kit Raspberry Pi - (Đồ án tốt nghiệp) ứng dụng kit raspberry PI vào xử lý ảnh
Hình 2.1 Kit Raspberry Pi (Trang 16)
Hình 2.3 Các cổng giao tiếp ngoại vi - (Đồ án tốt nghiệp) ứng dụng kit raspberry PI vào xử lý ảnh
Hình 2.3 Các cổng giao tiếp ngoại vi (Trang 19)
Hình 2.2 Sơ đồ GPIO - (Đồ án tốt nghiệp) ứng dụng kit raspberry PI vào xử lý ảnh
Hình 2.2 Sơ đồ GPIO (Trang 19)
Hình 2.4 Ghi phần mềm vào thẻ nhớ Chỉ cần chọ n file ảnh hệ điều hành (gi ải nén t ừ file nén download ở trên.), chú - (Đồ án tốt nghiệp) ứng dụng kit raspberry PI vào xử lý ảnh
Hình 2.4 Ghi phần mềm vào thẻ nhớ Chỉ cần chọ n file ảnh hệ điều hành (gi ải nén t ừ file nén download ở trên.), chú (Trang 21)
Hình 3.1 Các lĩnh vực nghiên cứu chính trong xử lý ảnh số - (Đồ án tốt nghiệp) ứng dụng kit raspberry PI vào xử lý ảnh
Hình 3.1 Các lĩnh vực nghiên cứu chính trong xử lý ảnh số (Trang 24)
Hình 3.2 Các thành phần cơ bản trong hệ thống xử lý ảnh đa dụng - (Đồ án tốt nghiệp) ứng dụng kit raspberry PI vào xử lý ảnh
Hình 3.2 Các thành phần cơ bản trong hệ thống xử lý ảnh đa dụng (Trang 25)
Hình 3.3 Ảnh với các độ phân giải khác nhau: (a) 256x256; - (Đồ án tốt nghiệp) ứng dụng kit raspberry PI vào xử lý ảnh
Hình 3.3 Ảnh với các độ phân giải khác nhau: (a) 256x256; (Trang 26)
Hình 3.4 Các dạng lân cận cơ bản: (a) lân cận 4 điểm ngang dọc; - (Đồ án tốt nghiệp) ứng dụng kit raspberry PI vào xử lý ảnh
Hình 3.4 Các dạng lân cận cơ bản: (a) lân cận 4 điểm ngang dọc; (Trang 27)
Hình 3.9 Mô tả phép biến đổi phóng to ảnh 2 lần Nếu ta định  nghĩa  ma trận = - (Đồ án tốt nghiệp) ứng dụng kit raspberry PI vào xử lý ảnh
Hình 3.9 Mô tả phép biến đổi phóng to ảnh 2 lần Nếu ta định nghĩa ma trận = (Trang 30)
Hình 3.10 Mô tả phép quay ảnh với góc - (Đồ án tốt nghiệp) ứng dụng kit raspberry PI vào xử lý ảnh
Hình 3.10 Mô tả phép quay ảnh với góc (Trang 30)
Hình 3.11 Một số hình dáng của phần tử cấu trúc phẳng Đối với ảnh xám, phần tử c ấu trúc là không phẳng, tức là các phần tử cấu trúc sử dụng các giá trị 0 và 1 để xác định phạm vi của phần tử c ấu trúc trong mặt phẳng x và mặt phẳng y và thêm giá trị độ c - (Đồ án tốt nghiệp) ứng dụng kit raspberry PI vào xử lý ảnh
Hình 3.11 Một số hình dáng của phần tử cấu trúc phẳng Đối với ảnh xám, phần tử c ấu trúc là không phẳng, tức là các phần tử cấu trúc sử dụng các giá trị 0 và 1 để xác định phạm vi của phần tử c ấu trúc trong mặt phẳng x và mặt phẳng y và thêm giá trị độ c (Trang 31)
Hình 3.14 Một số cấu trúc phần tử ảnh - (Đồ án tốt nghiệp) ứng dụng kit raspberry PI vào xử lý ảnh
Hình 3.14 Một số cấu trúc phần tử ảnh (Trang 32)
Hình 3.17 (a) được vẽ trong miền liên t ục là mô hình biên dốc một chiều, trong - (Đồ án tốt nghiệp) ứng dụng kit raspberry PI vào xử lý ảnh
Hình 3.17 (a) được vẽ trong miền liên t ục là mô hình biên dốc một chiều, trong (Trang 34)
Hình 3.20 Thực hiện chuyển vị phẳng với cửa sổ trung bình 2x2 - (Đồ án tốt nghiệp) ứng dụng kit raspberry PI vào xử lý ảnh
Hình 3.20 Thực hiện chuyển vị phẳng với cửa sổ trung bình 2x2 (Trang 35)
Hình 3.18 Biên được xét theo hai chiều - (Đồ án tốt nghiệp) ứng dụng kit raspberry PI vào xử lý ảnh
Hình 3.18 Biên được xét theo hai chiều (Trang 35)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w