MỤC LỤC2.2 Ứng dụng phép quay trong không gian nhiều chiều 13 Phần 3: Ứng dụng matlab xử lí hình ảnh trong không gian nhiều chiều bằng... ĐỐI TƯỢNG NGHIÊN CỨU: Phép quay Given, ứng dụng
Trang 1ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
Trang 2LỜI NÓI ĐẦU
Bài báo cáo có mục đích hướng tới việc hiểu về định nghĩa ứng dụng củaphép quay Given vào cuộc sống, đồng thời cho thấy khả năng của Matlabtrong mục đích lập trình và khả năng xử lí hình ảnh của nó
Ngoài ra,nhóm xin được cảm ơn cô Nguyễn Xuân Mỹ đã hướng dẫn nhómvới đề tài 6 để có thể giải quyết và hoàn thành tiến độ được giao
2
Trang 3MỤC LỤC
2.2 Ứng dụng phép quay trong không gian nhiều chiều 13
Phần 3: Ứng dụng matlab xử lí hình ảnh trong không gian nhiều chiều bằng
Trang 5PHẦN MỞ ĐẦU
1 ĐỐI TƯỢNG NGHIÊN CỨU:
Phép quay Given, ứng dụng xử lí hình ảnh trong không giannhiều chiều bằng phép quay Given
2 PHẠM VI NGHIÊN CỨU
Không gian: Việt Nam Thời gian: 2023
3 MỤC TIÊU NGHIÊN CỨU
Thứ nhất: Mô tả được phép quay Given
Thứ hai: Ứng dụng của phép quay trong xử lý hình ảnh (2 chiều,
3 chiều và n chiều)
Thứ ba: Sản phẩm là một phần mềm có khả năng xử lý (xoay)hình ảnh trong không gian 2,3 hoặc n chiều
4 PHƯƠNG PHÁP NGHIÊN CỨU
Đọc và phân tích lý thuyết cũng như thử nghiệm cách viết chươngbằng chương trình matlab
5 KẾT CẤU CỦA ĐỀ TÀI
Ngoài mục lục, phần mở đầu, kết luận và tài liệu tham khảo, đề tàigồm 03 phần:
- Phần 1: Cơ sở lý thuyết phép quay Given
- Phần 2: Ứng dụng của phép quay
- Phần 3: Ứng dụng matlab xử lí hình ảnh trong không gian nhiềuchiều bằng phép quay Given
Trang 6Phần 1: Cơ sở lý thuyết phép quay Given.
1.1 Khái niệm phép quay Given:
Kỹ thuật quay Givens là một phương pháp để phân tích ma trận [A] thành tíchcủa ma trận [Q] và ma trận [R] bằng cách làm cho các phần tử lần lượt bằng 0 chođến khi có được ma trận tam giác phải
1.2 Ý tưởng phép quay Given:
Dùng một ma trận quay đơn giản 2 × 2 đặt dọc theo đường chéo chính của một
ma trận đơn vị và làm cho một phần tử của ma trận bằng zero Các phần tử của
ma trận quay để quay một vec tơ ngược chiều kim đồng hồ một góc θ là:
=
Nếu ta muốn quay vec tơ [x1x ]2 Tvà muốn làm cho x2bằng zero rồi quay theochiều kim đồng hồ một góc θ (hay ngược chiều kim đồng hồ một góc ‐θ ) trongđó:
thì ma trận quay để thực hiện phép quay này theo chiều kim đồng hồ một góc
θ là:
=
Trong đó:
6
Trang 7cosθ= c = sinθ= s =
Do đó:
Chú ý là như mong muốn:
Nếu A là ma trận m × n, ta sẽ xem điều gì xảy ra khi ta thay các phần tử của[Q] vào ma trận con xác định bằng các cột và hàng thứ i, các cột và hàng thứ j Nóicách khác ta thay ma trận 2 × 2 này dọc theo đường chéo chính tại một số điểm:
Trang 9Như vậy [G] là ma trận đơn vị m m ngoại trừ các giá trị đã bị thay thế:×
Trang 10Như vậy ma trận mới chỉ bị thay đổi ở hàng i và cột j Ta chọn s và c sao cho cácphần tử ở cột r và hàng j bằng zero:
Như vậy ta sẽ có:
10
Trang 112 Xử lý hình ảnh y học: Phép quay Given được sử dụng rộng rãi trong lĩnhvực y học để xử lý hình ảnh từ các kỹ thuật siêu âm, MRI, CT scan vàhình ảnh vệ tinh Nó giúp phân tích và chuẩn đoán các bệnh lý, giúp nhàđiều dưỡng và bác sĩ đưa ra quyết định chẩn đoán chính xác và điều trị tốthơn.
3 Xử lý hình ảnh trong xe tự hành: Trong lĩnh vực xe tự hành và trí tuệnhân tạo, phép quay Given được sử dụng để xử lý hình ảnh từ camera vàcác cảm biến trên xe Nó giúp xe tự định vị, phát hiện và nhận dạng biểnbáo giao thông, xe và người đi bộ, đồng thời dự đoán và phản ứng vớitình huống giao thông
Trang 12mạch in, hoặc trong sản xuất ô tô, nó có thể xác định các phần tử bị lỗitrên dây chuyền lắp ráp.
5 Xác định vận tốc và hướng di chuyển: Phép quay Given có thể giúp xácđịnh vận tốc và hướng di chuyển của một đối tượng trong không gian, từcác ứng dụng theo dõi chuyển động trong thể thao, công nghệ tự hành,định vị xe hơi tự động, đến ngành hàng không và khí tượng học
6 Phân tích và nhận diện khuôn mặt: Phép quay Given có thể được sử dụng
để nhận dạng và phân tích khuôn mặt, từ việc áp dụng trong bảo mật chođiện thoại di động, hay trong các ứng dụng xác thực người dùn
7 Đo lường và chấm điểm trong thể thao: Phép quay Given có thể được sửdụng để đo lường và chấm điểm trong các môn thể thao như bóng đá,bóng rổ hay quần vợt Bằng cách theo dõi vị trí và chuyển động của cácvật thể hay người chơi, phép quay Given giúp hệ thống tự động chấmđiểm và đánh giá hiệu suất
12
Trang 132.1 Ứng dụng phép quay trong không gian nhiều chiều
Phép quay trong không gian nhiều chiều có nhiều ứng dụng quan trọng trongnhiều lĩnh vực, bao gồm toán học, khoa học máy tính, vật lý, đồ họa máy tính, vànhiều ứng dụng khác Dưới đây là một số ứng dụng phổ biến của phép quay trongkhông gian nhiều chiều:
1 Xử lý hình ảnh và đồ họa máy tính: Phép quay được sử dụng để biến đổihình ảnh và đối tượng 3D Nó cho phép thay đổi góc nhìn và vị trí củacác đối tượng, cũng như thực hiện các phép biến đổi hình học như xoay,thu phóng và dịch chuyển
2 Thực tế ảo trong công nghiệp: Trong các ngành công nghiệp như xâydựng, thiết kế sản phẩm, hoặc mô phỏng không gian công nghiệp, phépquay Given giúp tạo ra mô hình 2D,3D,n chiều chi tiết về bản vẽ, sơ đồhoặc mô hình vật lý
3 Mã hóa và nén dữ liệu: Trong lĩnh vực xử lý tín hiệu và nén dữ liệu, phépquay có thể được sử dụng để biến đổi dữ liệu ban đầu thành một khônggian mới với ít chiều hơn, giúp giảm thiểu thông lượng và tối ưu hóa lưutrữ
4 Xử lý tín hiệu và âm thanh: Phép quay có thể được áp dụng để biến đổitín hiệu âm thanh hoặc tín hiệu số thành các không gian mới để phân tíchhoặc trích xuất thông tin quan trọng
Trang 146 Xử lý dữ liệu địa lý: Trong GIS (hệ thống thông tin địa lý), phép quayđược sử dụng để biến đổi và hiệu chỉnh dữ liệu địa lý và vị trí.Phép quaycho phép biến đổi dữ liệu và đối tượng trong không gian nhiều chiều mộtcách hiệu quả và có nhiều ứng dụng thú vị trong nhiều lĩnh vực.
14
Trang 15Phần 3: Ứng dụng matlab xử lí hình ảnh trong không gian nhiều chiều
bằng phép quay Given 3.1 Giải thích các câu lệnh
1 ‘+’, ‘-‘, ‘*’, ‘/’, ‘.^’, ‘sqrt’:Đây là các toán tử trong MATLAB: cộng, trừ,nhân, chia, lũy thừa, căng bậc hai
9 size():Phân tích ảnh sang dạng ma trận
10.ceil():Đưa về dạng số nguyên
Trang 163.2 Giải thích các bước và dòng lệnh của code
Trang 17B2:Nhập góc
functionNhapGocEditFieldValueChanged(app, event)
goc=app.NhapGocEditField.Value;/*Nhập giá trị góc*/
end
Trang 18%tạo nền
hangnen=ceil(hang*abs(cos(rads))+cot*abs(sin(rads)));/*ceil( ) đưa về dạng
số nguyên vì hàm chỉ chạy trên số nguyên*/
cotnen=ceil(hang*abs(sin(rads))+cot*abs(cos(rads)));/*abs( ) trị tuyệt đối đểđưa giá trị đúng nhất */
J=uint8(zeros([hangnen cotnen z ]));/*uint8( ) format lại hàng và cột vàzeros( ) đưa về ma trận không*/
Trang 19end
Trang 20KẾT LUẬN
-Matlab được tích hợp một giao diện lập trình phần mềm thân thiện với ngườidùng, cho phép người dùng học hỏi và phát triển phần mềm tính toán,mô phỏng,xử
lí hình ảnh theo tuỳ nhu cầu
-Như vậy,nhóm đã thành công trong việc mô tả phép quay Given và ứng dụngcủa phép quay vào xử lí hình ảnh và thức tế.Nhóm đã sử dụng công cụ AppDesigner thuộc phần mềm Matlab để lập trình một sản phầm là phần mềm có thể xử
lí và quay hình ảnh.Tuy nhiên,đối với hình ảnh 2D công cụ đoạn code có tính phứccao nên khi chuyển sang 3D thì công cụ tỏ ra khá chậm trong xử lí và lập trình
20
Trang 21TÀI LIỆU THAM KHẢO [1] Meyer, Matrix analysis and applied linear algebra
[2] Lay, Linear Algebra and Its applications
[3] The MathWorks, Inc ,MathWork Training Course
[4] L Beilina, E Karchevskii and M Karchevskii, Numerical Linear Algebra: Theory and Applications