Nghiên cứu kỹ thuật hiển thị hình ảnh ba chiều

72 340 0
Nghiên cứu kỹ thuật hiển thị hình ảnh ba chiều

Đ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

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VŨ THỊ MAI HƯƠNG GIANG NGHIÊN CỨU KỸ THUẬT HIỂN THỊ HÌNH ẢNH BA CHIỀU LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUYÊN - 2016 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VŨ THỊ MAI HƯƠNG GIANG NGHIÊN CỨU KỸ THUẬT HIỂN THỊ HÌNH ẢNH BA CHIỀU Chuyên ngành Mã số : Khoa học máy tính : 60480101 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS ĐỖ NĂNG TOÀN THÁI NGUYÊN - 2016 LỜI CAM ĐOAN Tôi xin cam đoan luận văn công trình nghiên cứu riêng cá nhân tôi, kết luận văn hoàn toàn kết tự thân tìm hiểu, nghiên cứu hướng dẫn giáo viên hướng dẫn PGS.TS Đỗ Năng Toàn Tôi hoàn toàn chịu trách nhiệm tính pháp lý trình nghiên cứu khoa học luận văn Thái Nguyên, 16 tháng năm 2016 Học viên Vũ Thị Mai Hương Giang LỜI CẢM ƠN Lời đầu tiên, em xin gửi lời biết ơn sâu sắc đến PGS TS Đỗ Năng Toàn người tận tình hướng dẫn, bảo, giúp đỡ em suốt trình làm luận văn Con xin gửi lời cảm ơn Ba, Mẹ, anh chị em gia đình bên để ủng hộ, động viên tạo điều kiện giúp đỡ suốt trình học tập nghiên cứu làm luận văn Học viên xin gửi lời cảm ơn đến thầy cô giáo trường Đại học Công nghệ thông tin Truyền thông - Đại học Thái Nguyên, thầy cô Viện Công nghệ thông tin truyền đạt kiến thức giúp đỡ em suốt trình học Học viên xin gửi lời cảm ơn tới Ban giám hiệu Trường Đại học Y Dược Thái Nguyên, đồng nghiệp bạn bè tạo điều kiện thuận lợi cho học viên tham gia khóa học trình hoàn thành luận văn Thái Nguyên,16 tháng năm 2016 Học viên Vũ Thị Mai Hương Giang MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN DANH MỤC HÌNH DANH MỤC TỪ VIẾT TẮT PHẦN MỞ ĐẦU CHƯƠNG I KHÁI QUÁT VỀ ĐỒ HOẠ 3D VÀ BÀI TOÁN HIỂN THỊ 3D 1.1 Khái quát kỹ thuật đồ hoạ 3D 1.1.1 Đồ họa 3D gì? 1.1.2 Lịch sử phát triển 1.1.3 Các kỹ thuật đồ họa 1.1.4 Phần cứng đồ họa (Graphics HardWare) 1.1.5 Các ứng dụng đồ họa 3D 15 1.2 Bài toán hiển thị đối tượng 3D 17 1.2.1 Phát biểu toán ứng dụng 17 1.2.2 Nguyên lý 3D (three-Dimension) 18 1.2.3 Đặc điểm kỹ thuật đồ hoạ 3D 18 1.2.4 Các phương pháp hiển thị 3D 19 CHƯƠNG 21 MỘT SỐ VẤN ĐỀ TRONG HIỂN THỊ HÌNH ẢNH CHIỀU 21 2.1 Biểu diến liệu 3D 21 2.1.1 Kỹ thuật biểu diễn bề mặt (Surface rendering - SR) 21 2.1.2 Kỹ thuật biểu diễn thể tích (volume rendering - VR) 27 2.2 Hiển thị 3D 33 2.2.1 Kỹ thuật hiển thị Stereo 33 2.2.2 Kỹ thuật hiển thị hình ảnh thông qua phép chiếu 42 CHƯƠNG 3: CHƯƠNG TRÌNH THỬ NGHIỆM 48 3.1 Bài toán 48 3.2 Phân tích, lựa chọn công cụ 48 3.2.1 Phân tích 48 3.2.2 Lựa chọn công cụ 49 3.3 Chương trình thử nghiệm 56 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 61 TÀI LIỆU THAM KHẢO 63 DANH MỤC HÌNH Hình 1 Ảnh đồ hoạ điểm Hình Kỹ thuật đồ họa điểm Hìnhhình đồ họa vector Hình 4.Các thành phần cứng hệ đồ hoạ tương tác Hình Cấu tạo hình CRT 10 Hình Tổ chức bảng tra màu LUT (Look Up Table) 13 Hình Phép chiếu Stereo 18 Hình Các cách mô tả đối tượng 3D 19 Hình Các góc nhìn khác mô hình 3D 19 Hình 10 Các phương pháp hiển thị 3D 20 Hình Hình ảnh 3D biểu diễn theo phương pháp SR 21 Hình 2 Minh họa thuật toán Marching square 22 Hình 16 trường hợp Marching Square 22 Hình Minh họa tạo bề mặt từ đường viền 23 Hình Xây dựng bề mặt theo giá trị đỉnh 24 Hình Các trường hợp mặt qua khối lập phương thuật toán Marching Cubes 24 Hình Một trường hợp lỗi Marching Cubes 25 Hình Chia khối lập phương thành khối tứ diện 26 Hình Hai trường hợp mặt phẳng qua khối tứ diện 26 Hình 10 Minh họa thuật toán Dividing Cubes để vẽ đường mặt phẳng 26 Hình 11 Minh họa thuật toán Dividing Cubes không gian ba chiều 27 Hình 12 Hình ảnh 3D biểu diễn theo phương pháp VR 27 Hình 13 Minh họa kỹ thuật object –order 28 Hình 14 Minh họa kỹ thuật image –order 28 Hình 15 Mô hình Blinn / Kajiya 30 Hình 16 Sơ đồ tổng quan rendering MIP 32 Hình 17 Tạo cảnh 3D lập thể 34 Hình 18 Kính Anaglyph 3D 37 Hình 19 Thiết bị Head - gắn kết 38 Hình 20 Kính màu Anaglyph 3D 39 Hình 21 Quá trình thu nhận ảnh người 40 Hình 22 Quan sát đối tượng mắt (mắt phải) 41 Hình 23 Dùng hai camera để tạo hai hình ảnh đối tượng 41 Hình 24 Ví dụ minh họa phép chiếu phối cảnh 42 Hình 25 Điểm triệt tiêu 42 Hình 26 Phép chiếu phối cảnh tâm chiếu 43 Hình 27 Phép chiếu phối cảnh tâm chiếu 44 Hình 28 Phép chiếu phối cảnh tâm chiếu 46 Hình 29 Kính xem ảnh stereo cho người mắt 47 Hình 30 Hiển thị stereo với người hai mắt 47 Hình Hình ảnh Stereo hiển thị 59 Hình Hình ảnh Stereo xoay trái 59 Hình 3 Hình ảnh Stereo xoay phải 60 DANH MỤC TỪ VIẾT TẮT STT hiệu Tiếng Anh Tiếng Việt 2D Two - dimensional Không gian hai chiều 3D Three - dimensional Không gian ba chiều CPU Central Processing Unit Bộ xử lí trung tâm GPU Graphic Processing Unit Bộ xử lí đồ họa SR Surface rendering Biểu diễn bề mặt VR Volum rendering Biểu diễn thể tích CRT Cathode ray tube Màn hình CRT MC Marching Cube s Thuật toán Marching Cubes MT Marching Tetrahedra 10 11 12 MIP MinIP LCD Phương pháp tạo bố cục cho projection ảnh Minimum intensity Phương pháp tạo bố cục cho projection ảnh Liquid Crystal Display Màn hình DICOM COmmunications in Medicine Standars 14 COP Tetrahedra Maximum intensity Digital Imaging and 13 Thuật toán Marching Centre Of Projection Tiêu chuẩn ảnh số truyền thông y tế Tâm chiếu PHẦN MỞ ĐẦU Hiện nay, ngành công nghệ thông tin ngày xâm nhập vào lĩnh vực đời sống xã hội ứng dụng tiến Tin học ngày làm cho thứ trở nên đại dễ sử dụng Cùng với đà phát triển đó, phải kể đến phát triển công nghệ ba chiều, công nghệ sử dụng cách phổ biến nay, tức hình ảnh dựng nên cách sống động thật với trợ giúp phần mềm đồ họa vi tính Do nhu cầu người ngày tăng, việc mô giới thực điều phải thực Từ ứng dụng thiết kế ba chiều phục vụ cho việc chế tạo máy móc thiết bị, xây dựng nhà công trình kiến trúc, đến ứng dụng mô thử nghiệm tính công nghiệp chế tạo xe hơi, máy bay,…Điều cho thấy công nghệ ba chiều thiếu sống Tuy nhiên, tất kỹ thuật làm cho người có cảm giác dường cảnh xem thực, người cảm nhận chiều thứ ba đối tượng Hiển thị ba chiều hay gọi hiển thị Stereo kỹ thuật biểu diễn đối tượng giới ba chiều lên mặt phẳng hai chiều mà làm cho người cảm nhận chiều thứ ba Thông thường, để quan sát hình ảnh Stereo cần phải có thiết bị phần cứng hỗ trợ như: Card hình hỗ trợ stereo, kính quan sát stereo, thiết bị Emitter truyền tín hiệu từ card hình đến kính quan sát Trong lĩnh vực biểu diễn, hiển thị hình ảnh 3D có hai phần tạo mô hình bề mặt (Modeling) tạo chuyển động cho mô hình (Animation) Hiển thị hình ảnh ba chiều coi bước khởi đầu cho hệ thống mô thực ảo, góp phần tạo nên hệ thống mô hoàn chỉnh Ví dụ tạo hình ảnh ba chiều phong cảnh rộng lớn, hình ảnh ba chiều đối tượng sống chí hình ảnh ba chiều vật thể chuyển động Các mô hình cho ảnh ba chiều tổng hợp hoàn toàn ảo, tạo mô hình 3D máy tính,…Đây lĩnh vực thu hút quan tâm nhiều giới nghiên cứu lĩnh vực công nghệ thông tin chục năm qua Hiển thị hình ảnh ba chiều đích hướng tới kỹ thuật công nghệ thông tin đại nhằm giúp người tương tác cách thân thiện với máy tính, lĩnh vực xu hướng tất yếu thời đại mới, đáp ứng nhu cầu đa dạng người xã hội ngày Từ lý với gợi ý Thầy hướng dẫn học viên lựa chọn đề tài “Nghiên cứu kỹ thuật hiển thị hình ảnh chiều” Đối tượng phạm vi nghiên cứu - Đối tượng nghiên cứu: Mô hình đối tượng 3D máy tính - Phạm vi nghiên cứu: Đối tượng riêng lẻ hay đơn đối tượng Phương pháp nghiên cứu - Phương pháp nghiên cứu lý thuyết: Tìm hiểu, tổng hợp tài liệu, phân tích, đánh giá phương pháp - Phương pháp thực nghiệm: xây dựng chương trình cụ thể để thử nghiệm, phân tích, đánh giá kết đạt Luận văn gồm ba phần chính: Chương 1: KHÁI QUÁT VỀ ĐỒ HOẠ 3D VÀ BÀI TOÁN HIỂN THỊ 3D Chương khái quát đồ họa 3D, Nguyên lý 3D toán hiển thị đối tượng 3D Chương 2: MỘT SỐ VẤN ĐỀ TRONG HIỂN THỊ HÌNH ẢNH CHIỀU Chương giới thiệu số vấn đề hiển thị hình ảnh ba chiều, bao gồm việc biểu diễn liệu 3D hiển thị 3D Chương 3: CHƯƠNG TRÌNH THỬ NGHIỆM Microsoft Visual C++ (còn gọi MSVC) loại ngôn ngữ lập trình Đây dạng ngôn ngữ đa mẫu hình tự có kiểu tĩnh hỗ trợ lập trình thủ tục, liệu trừu trượng, lập trình hướng đối tượng, lập trình đa hình Từ thập niên 1990, C++ trở thành ngôn ngữ thương mại phổ biến Các chức Visual C++ tô sáng cú pháp, IntelliSense (chức tự động hoàn thành việc viết mã) chức gỡ lỗi tiên tiến Ví dụ, cho phép gỡ lỗi từ xa sử dụng máy tính khác cho phép gỡ lỗi cách duyệt qua dòng lệnh thời điểm Chức "biên tập tiếp tục" cho phép thay đổi mã nguồn dịch lại chương trình trình gỡ lỗi, mà không cần phải khởi động lại chương trình gỡ lỗi Đặc trưng biên dịch xây dựng hệ thống, tính tiền biên dịch tập tin đầu đề (header files) liên kết tịnh tiến (incremental link) - liên kết phần bị thay đổi trình xây dựng phần mềm mà không làm lại từ đầu: Những đặc trưng tính thuyên giảm tổng thời gian biên tập, biên dịch liên kết chương trình phần mềm, đặc biệt đề án phần mềm lớn So với C, C++ tăng cường thêm nhiều tính năng, bao gồm: khai báo mệnh đề, chuyển kiểu giống hàm, new/delete, bool, kiểu tham chiếu, const, hàm nội tuyến (inline), đối số mặc định, tải hàm, vùng tên (namespace), lớp (bao gồm tất chức liên quan tới lớp kế thừa, hàm thành viên (phương pháp), hàm ảo, lớp trừu tượng, cấu từ) Một số thành phần C++ sau thêm vào C, bao gồm const, inline, khai báo biến vòng lặp for giải kiểu C++ (sử dụng hiệu //) Tuy nhiên, C bổ sung thêm số tính C++, ví dụ macro với số đối số động Các mô tả mã trình bày tập trung vào khía cạnh âm stereo [9],[10] Đoạn mã ví dụ phù hợp với vài quy ước địa phương 50 Việc chạy cửa sổ chế độ toàn hình Theo quy ước ứng dụng chạy cửa sổ trừ tùy chọn “-f” dòng lệnh quy định Chế độ toàn hình hỗ trợ phiên gần thư viện GLUT Quyết định sử dụng chế độ toàn hình thực với đoạn mã sau: glutCreateWindow("Pulsar model"); glutReshapeWindow(600,400); if (fullscreen) glutFullScreen(); Nó hữu ích để chạy ứng dụng chế độ stereo chế độ mono, quy ước chạy mono trừ dòng lệnh chuyển đổi "-s" cung cấp Các thông tin sử dụng trợ giúp đầy đủ ví dụ trình bày có sẵn cách chạy ứng dụng với tùy chọn "-h" dòng lệnh, ví dụ: > pulsar -h Cách sử dụng: pulsar [h] [-f] [-s] [-c] -h this text -f full screen -s stereo -c show construction lines Key Strokes Arrow keys rotate left/ right/ up/ down Left mouse rotate Middle mouse roll c toggle construction lines i translate up k translate down j translate left l translate right [ roll clockwise 51 ] roll anti clockwise q quit Âm nổi: Điều mà cần phải thực để hỗ trợ âm stereo khởi tạo thư viện GLUT cho hoạt động âm Nếu thẻ/ drive bạn không hỗ trợ âm stereo việc hiển thị thất bại glutInit(&argc,argv); if (!stereo) glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB |GLUT_DEPTH); else glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB |GLUT_DEPTH | GLUT_STEREO); Trong chế độ stereo định nghĩa hai đệm cụ thể GL_BACK_LEFT GL_BACK_RIGHT Các đệm thích hợp chọn trước hoạt động ảnh hưởng đến việc thực hiện, điều sử dụng thường xuyên glDrawBuffer () Vì vậy, ví dụ sau để xóa hai đệm: glDrawBuffer(GL_BACK_LEFT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); if (stereo) { glDrawBuffer(GL_BACK_RIGHT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); } Lưu ý số thẻ (ví dụ: Powerstorm 4D51T) tối ưu hóa để xóa hai đệm bên trái bên phải GL_BACK xóa bỏ, điều thực nhanh đáng kể Trong trường hợp để xóa đệm ta làm sau: glDrawBuffer(GL_BACK); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 52 3.2.2.1 Phép chiếu Tất lại đưa hình học vào đệm thích hợp Có nhiều cách, tùy thuộc vào ứng dụng cụ thể viết, ví dụ ta thấy trình xử lý hiển thị () Các ý tưởng chủ yếu để chọn đệm thích hợp đưa cảnh với phép chiếu thích hợp 3.2.2.2 Phương pháp Toe-in Một phương pháp phổ biến gọi phương pháp "toe-in", phương pháp nơi mà máy ảnh cho mắt bên trái mắt bên phải hướng tới tiêu điểm gluPerspective () sử dụng glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(camera.aperture,screenwidth/(double)screenheight,0.1,10000.0); if (stereo) { CROSSPROD(camera.vd,camera.vu,right); Normalise(&right); right.x *= camera.eyesep / 2.0; right.y *= camera.eyesep / 2.0; right.z *= camera.eyesep / 2.0; glMatrixMode(GL_MODELVIEW); glDrawBuffer(GL_BACK_RIGHT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); gluLookAt(camera.vp.x + right.x, camera.vp.y + right.y, camera.vp.z + right.z, focus.x,focus.y,focus.z, camera.vu.x,camera.vu.y,camera.vu.z); MakeLighting(); MakeGeometry(); glMatrixMode(GL_MODELVIEW); glDrawBuffer(GL_BACK_LEFT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); gluLookAt(camera.vp.x - right.x, camera.vp.y - right.y, camera.vp.z - right.z, focus.x,focus.y,focus.z, camera.vu.x,camera.vu.y,camera.vu.z); 53 MakeLighting(); MakeGeometry(); } else { glMatrixMode(GL_MODELVIEW); glDrawBuffer(GL_BACK); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); gluLookAt(camera.vp.x, camera.vp.y, camera.vp.z, focus.x,focus.y,focus.z, camera.vu.x,camera.vu.y,camera.vu.z); MakeLighting(); MakeGeometry(); } /* glFlush(); This isn't necessary for double buffers */ glutSwapBuffers(); 3.2.2.3 Phương pháp Các phương pháp Toe-in đem lại cho cặp âm stereo hoàn toàn không đúng, Phương pháp cho thấy phương sai dọc đáng ý cho đối tượng thuộc lĩnh vực bên xem Các phương pháp sử dụng gọi "trục song song hình cụt không đối xứng chiếu quan điểm" Trong trường hợp vector cho camera song song glFrustum () sử dụng để mô tả chiếu phối cảnh /* Misc stuff */ ratio = camera.screenwidth / (double)camera.screenheight; radians = DTOR * camera.aperture / 2; wd2 = near * tan(radians); ndfl = near / camera.focallength; if (stereo) { /* Derive the two eye positions */ CROSSPROD(camera.vd,camera.vu,r); Normalise(&r); r.x *= camera.eyesep / 2.0; r.y *= camera.eyesep / 2.0; 54 r.z *= camera.eyesep / 2.0; glMatrixMode(GL_PROJECTION); glLoadIdentity(); left = - ratio * wd2 - 0.5 * camera.eyesep * ndfl; right = ratio * wd2 - 0.5 * camera.eyesep * ndfl; top = wd2; bottom = - wd2; glFrustum(left,right,bottom,top,near,far); glMatrixMode(GL_MODELVIEW); glDrawBuffer(GL_BACK_RIGHT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); gluLookAt(camera.vp.x + r.x,camera.vp.y + r.y,camera.vp.z + r.z, camera.vp.x + r.x + camera.vd.x, camera.vp.y + r.y + camera.vd.y, camera.vp.z + r.z + camera.vd.z, camera.vu.x,camera.vu.y,camera.vu.z); MakeLighting(); MakeGeometry(); glMatrixMode(GL_PROJECTION); glLoadIdentity(); left = - ratio * wd2 + 0.5 * camera.eyesep * ndfl; right = ratio * wd2 + 0.5 * camera.eyesep * ndfl; top = wd2; bottom = - wd2; glFrustum(left,right,bottom,top,near,far); glMatrixMode(GL_MODELVIEW); glDrawBuffer(GL_BACK_LEFT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); gluLookAt(camera.vp.x - r.x,camera.vp.y - r.y,camera.vp.z - r.z, camera.vp.x - r.x + camera.vd.x, camera.vp.y - r.y + camera.vd.y, camera.vp.z - r.z + camera.vd.z, camera.vu.x,camera.vu.y,camera.vu.z); MakeLighting(); MakeGeometry(); } else { glMatrixMode(GL_PROJECTION); glLoadIdentity(); left = - ratio * wd2; right = ratio * wd2; top = wd2; 55 bottom = - wd2; glFrustum(left,right,bottom,top,near,far); glMatrixMode(GL_MODELVIEW); glDrawBuffer(GL_BACK); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); gluLookAt(camera.vp.x,camera.vp.y,camera.vp.z, camera.vp.x + camera.vd.x, camera.vp.y + camera.vd.y, camera.vp.z + camera.vd.z, camera.vu.x,camera.vu.y,camera.vu.z); MakeLighting(); MakeGeometry(); } /* glFlush(); This isn't necessary for double buffers */ glutSwapBuffers(); Lưu ý thích hợp để sử dụng vị trí mắt trái không chế độ stereo Trong trường hợp mã đơn giản hóa Nó phù hợp di chuyển mono stereo điểm hai mắt sử dụng mono 3.3 Chương trình thử nghiệm + Input: Đầu vào không gian 3D, liệu mô hình 3D đầu vào bao gồm: tạo không gian gồm có mặt sàn, có để tạo thành rừng + Output: Vẫn không gian giới 3D ấy, có thêm hiệu ứng stereo, tức đeo kính hỗ trợ stereo thấy xuất hai hình ảnh đè lên nhau, nhìn vào thấy hai hình ảnh bị nhòe Còn không đeo kính nhìn mắt thường hình ảnh hình ảnh stereo, mà hình ảnh stereo chế độ mono + Chương trình cài đặt: Bước 1: Vẽ cảnh (Scene) gồm nhiều static void drawtree(float x, float y, float z) { glBegin(GL_QUADS); 56 glTexCoord2f(0.0,0.0); glVertex3f(x-1.5,y+0.0,z); glTexCoord2f(1.0,0.0); glVertex3f(x+1.5,y+0.0,z); glTexCoord2f(1.0,1.0); glVertex3f(x+1.5,y+3.0,z); glTexCoord2f(0.0,1.0); glVertex3f(x-1.5,y+3.0,z); glTexCoord2f(0.0,0.0); glVertex3f(x,y+0.0,z-1.5); glTexCoord2f(1.0,0.0); glVertex3f(x,y+0.0,z+1.5); glTexCoord2f(1.0,1.0); glVertex3f(x,y+3.0,z+1.5); glTexCoord2f(0.0,1.0); glVertex3f(x,y+3.0,z-1.5); glEnd(); } Bước 2: Vẽ hình ảnh cho mắt trái glMatrixMode(GL_MODELVIEW); glDrawBuffer(GL_BACK_LEFT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); gluLookAt(camera.vp.x - right.x, camera.vp.y - right.y, camera.vp.z - right.z, focus.x,focus.y,focus.z, camera.vu.x,camera.vu.y,camera.vu.z); MakeLighting(); MakeGeometry(); Bước 3: Vẽ hình ảnh cho mắt phải glMatrixMode(GL_MODELVIEW); glDrawBuffer(GL_BACK_RIGHT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); 57 gluLookAt(camera.vp.x + right.x, camera.vp.y + right.y, camera.vp.z + right.z, focus.x,focus.y,focus.z, camera.vu.x,camera.vu.y,camera.vu.z); MakeLighting(); MakeGeometry(); Bước 4: Kết hợp hai hình ảnh bước bước tạo hình ảnh Stereo + Kết sau cài đặt Áp dụng kỹ thuật trình bày Chương cho phép người sử dụng xem cách hiển thị hình ảnh stereo góc độ khác cách dùng phím quy ước (phím tắt) h - Bật/ tắt trợ giúp t - Tăng kích thước đốm lửa T - Giảm kích thước đốm lửa r - Tăng bán kính đốm lửa R - Giảm bán kính đốm lửa f - Bật/ tắt sương mù s - Bật/ tắt độ bóng Phím mũi tên - Xoay a - Phóng to z - Thu nhỏ (Không kiểm soát điều khiển) Các hình ảnh sau kết thử nghiệm với liệu CT demo Hình ảnh hình ảnh chế độ mono, hình ảnh chiềuchiều mono 58 Hình Hình ảnh Stereo hiển thị Một số góc độ hiển thị khác hình ảnh Stereo: Hình Hình ảnh Stereo xoay trái 59 Hình 3 Hình ảnh Stereo xoay phải + Đánh giá kết đạt  Đã cài đặt thuật toán hiển thị Stereo  Đã cài đặt thuật toán hiển thị Mono  Máy tính chưa cài đặt hỗ trợ stereo nên hình ảnh chưa hiển thị chế độ stereo, hình ảnh chiều mono 60 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Hiển thị hình ảnh ba chiều xu hướng tất yếu thời đại mới, đáp ứng nhu cầu đa dạng người xã hội ngày Luận văn tập trung vào nghiên cứu số vấn đề hiển thị hình ảnh ba chiều đạt số kết bước đầu sau: - Trình bày tổng quan đồ họa 3D, nguyên lý hiển thị 3D, phương pháp hiển thị 3D toán hiển thị đối tượng 3D - Hệ thống hóa số vấn đề hiển thị hình ảnh ba chiều, bao gồm: + Biểu diễn liệu 3D (biểu diễn bề mặt biểu diễn thể tích) + Hiển thị 3D: Trong phần này, học viên đưa kỹ thuật để ứng dụng vào chương trình thử nghiệm chương 3, là: kỹ thuật hiển thị Stereo kỹ thuật hiển thị hình ảnh thông qua phép chiếu - Cài đặt thử nghiệm kỹ thuật hiển thị hình ảnh stereo: + Trong chương này, học viên đưa toán ứng dụng cụ thể, sử dụng thư viện đồ họa OpenGL thư viện liên quan GLUT để giải toán “hiển thị đối tượng 3D” + Trong chương trình thử nghiệm, học viên mô tả chi tiết Input, Output toán, mô tả bước cài đặt chương trình + Đưa kết cuối sau cài đặt thử nghiệm kỹ thuật hiển thị hình ảnh stereo  Hạn chế Những nghiên cứu tập trung vào lý thuyết phần mềm, chưa tích hợp với phần cứng  Hướng phát triển Trong thời gian tới, tác giả tiếp tục phát triển vấn đề nghiên cứu luận văn là: 61 - Tìm hiểu sâu việc kết nối với phần cứng - Tìm hiểu cụ thể xây dựng ứng dụng cụ thể Sau thời gian tìm hiểu, nghiên cứu làm luận văn, dẫn trực tiếp PGS.TS Đỗ Năng Toàn, Thầy tận tình bảo hướng dẫn tìm hướng nghiên cứu, tìm kiếm tài liệu, giải vấn đề… nhờ hoàn thành luận văn cao học Ngoài ra, trình học tập, nghiên cứu thực đề tài nhận nhiều quan tâm, góp ý, hỗ trợ quý báu quý thầy cô, đồng nghiệp, bạn bè người thân Tuy nhiên, hạn chế mặt thời gian thân hạn chế mặt kiến thức nên chưa có kết thực hoàn hảo Kính mong thầy cô bạn đồng nghiệp bảo giúp đỡ 62 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Lê Tấn Hùng, Huỳnh Quyết Thắng (2000), Kỹ thuật đồ họa, Nxb Khoa học Kỹ thuật [2] Đỗ Năng Toàn, Giáo trình Xử lý ảnh, Học viện Công Nghệ Bưu Chính Viễn Thông, 2010 [3] Huỳnh Quyết Thắng, Lê Tấn Hùng (2006), “Ứng dụng thư viện BK_GRAPHICS xây dựng phần mềm xử lý ảnh y học V_DOCTOR theo chuẩn DICOM” [4] Lê Hải Khôi, Đỗ Năng Toàn, Phạm Thế Anh, Trịnh Xuân Hùng, Một số vấn đề chọn lọc Công nghệ thông tin, Hải Phòng 2005 Tiếng Anh [5] Σκοπέω , Henry George Liddell, Robert Scott, A Greek-English Lexicon [6] Howard, IP; Rogers, BJ (1995) Binocular vision and stereopsis New York: Oxford University Press [7] How to Freeview Stereo images (3D) Greg Erker 2009/08/21 [8] Frank H Durgin and Dennis R Proffitt University of Virginia thomas J Olson, 2002, “Comparing Depth from Binocular Disparity with Depth from Motion” [9] Paul Bourke, November 1999, Updated May 2002, “3D Stereo Rendering Using OpenGL (and GLUT)” [10] [Gunnewiek and Vandewalle 2010] Rene Klein Gunnewiek and Patrick Vandewalle "How to Display 3D Content Realistically." Technical Report, Philips Research Laboratories, VPQM, 2010 [11] [McAllister 2006] David F McAllister "Display Technology: Stereo & 3D Display Technologies." Encyclopedia of Imaging Science and Technology, Edited by Joseph P Hornak, Wiley, 2006 63 [12] Visualization Toolkit, Insight Segmentation and Registration Toolkit, VolView : www.kitware.org [13] Ahmad Farshoukh Adel Fakih, 3D Reconstruction of Scoliotic Spines from 2D Plain Radiographs [14] Christian Wengert, 3D reconstruction from endoscopic video sequences , http://www.vision.ee.ethz.ch/~cwengert/ 64 [...]... họa 3 chiều: là kỹ thuật đồ họa máy tính sử dụng hệ tọa độ ba chiều, đòi hỏi rất nhiều tính toán và phức tạp hơn nhiều so với kỹ thuật đồ họa 2 chiều - Các lĩnh vực của đồ họa máy tính: + Kỹ thuật xử lý ảnh (Computer Imaging): Sau quá trình xử lý ảnh cho ta ảnh số của đối tượng Trong quá trình xử lý ảnh sử dụng rất nhiều các kỹ thuật phức tạp: Kỹ thuật khôi phục ảnh, kỹ thuật làm nối ảnh, kỹ thuật. .. những mô hình như thực đòi hỏi có sự phân tích tỉ mỉ, chính xác đồng thời sự mô phỏng này phải được biểu diễn trong đồ họa máy tính ba chiều một cách trực quan sinh động Để làm được điều đó thì ta phải sử dụng một số kỹ thuật hiển thị hình ảnh 3 chiều để ứng dụng mô phỏng mô hình 3D Một trong những kỹ thuật đó là kỹ thuật hiển thị Stereo, hiển thị 3 chiều hay còn gọi là hiển thị Stereo là một kỹ thuật. .. sang hình ảnh khác hình ảnh và sự vật ở nhiều góc độ khác nhau bằng cách thay đổi điểm nhìn và góc nhìn 1.1.3.3 Phân loại của đồ họa máy tính (Phân loại theo hệ tọa độ) - Kỹ thuật đồ họa: + Kỹ thuật đồ họa 2 chiều + Kỹ thuật đồ họa 3 chiều - Kỹ thuật đồ họa 2 chiều: là kỹ thuật đồ họa máy tính sử dụng hệ tọa độ hai chiều (hệ tọa độ thẳng), sử dụng rất nhiều trong kỹ thuật xử lý bản đồ, đồ thị - Kỹ thuật. .. bị hiển thị 3D: - Kính stereo - Stereoscopic displays* - Màn hình 3D - Holograms Hình 1 8 Hình 1 9 Các cách mô tả đối tượng 3D Các góc nhìn khác nhau của mô hình 3D 19 Hình 1 10 Các phương pháp hiển thị 3D 20 CHƯƠNG 2 MỘT SỐ VẤN ĐỀ TRONG HIỂN THỊ HÌNH ẢNH 3 CHIỀU Nội dung chính của chương này sẽ trình bày một số vấn đề trong hiển thị hình ảnh ba chiều, bao gồm việc biểu diễn dữ liệu 3D và hiển thị. .. khác nhau để thu được hình ảnh đặc trưng của đối tượng [1] 5 Hình 1 2 Kỹ thuật đồ họa điểm 1.1.3.2 Kỹ thuật đồ họa Vector Mô hình đồ họa Các tham số tô trát Tô trát Thiết bị ra Hình 1 3 Mô hình đồ họa vector - Mô hình hình học (geometrical model) của đối tượng - Xác định các thuộc tính của mô hình hình học này - Quá trình tô trát (rendering) để hiển thị từng điểm của mô hình, hình ảnh thực của đối tượng... mô hình, hình ảnh của các đối tượng được hiển thị thông qua từng pixel (từng mẫu rời rạc) - Đặc điểm: Có thể thay đổi thuộc tính của từng điểm ảnh rời rạc + Xoá đi từng pixel của mô hình hình ảnh các đối tượng + Các mô hình hình ảnh được hiển thị như một lưới điểm (grid) các pixel rời rạc + Từng pixel đều có vị trí xác định, được hiển thị với một giá trị rời rạc (số nguyên) các thông số hiển thị. .. suốt chiều dài ống, chịu sự điều khiển của các mạch điện bên ngoài và bị hút về cực dương (Anode) ở đầu kia của ống, cuối cùng đập mạnh lên màn hình huỳnh quang phủ photpho tạo ra một chấm sáng màn hiển thị hình Đối với các màn hình màu thì các chấm phát sáng này được cấu tạo bởi một bộ ba điểm màu RGB Âm cực Hệ điều chỉnh tiêu điểm Súng điện tử màn hiển thị hình phủ phot pho (bộ ba điểm màu RGB) Hình. .. 0001 100110100001 100110100001 G 33 y' điểm ảnh hiển thị tại x' , y' Red Green Blue Vùng nhớ đệm Bảng tra màu Màn hiển thị hình Hình 1 6 Tổ chức của bảng tra màu LUT (Look Up Table) Bộ điều khiển video của hệ hiển thị raster thường kèm theo bảng tra màu (LUT) Bảng tra màu có nhiều cổng vào tương ứng với nhiều điểm ảnh Mỗi giá trị của điểm ảnh không dùng để điểu khiển trực tiếp các tia điện tử mà chỉ số... (1,1,1) 1.1.5 Các ứng dụng cơ bản của đồ họa 3D Kỹ thuật hình ảnh 3 chiều hiện đại đã được áp dụng trong một số lĩnh vực đạt hiệu quả cao như xây dựng, kiến trúc, ngành công nghiệp giải trí, ứng dụng y tế Trong thập kỷ qua, các kỹ thuật dựa trên máy tính đã dẫn đầu trong ngành công nghiệp hiển thị 3D Mặc dù hình ảnh 3D bằng cách sử dụng những cái gọi là kỹ thuật lập thể có thể đôi khi còn nhiều hơn so... Graphics) - Hình ảnh và mô hình của các vật thể - Không thay đổi thuộc tính của từng được biểu diễn bởi tập hợp các điểm điểm trực tiếp của lưới (grid) - Thay đổi thuộc tính của các pixel sẽ - Xử lý với từng thành phần hình học dẫn đến thay đổi từng phần và từng cơ sở của nó và thực hiện quá trình tô 6 vùng của hình ảnh trát và hiển thị lại - Copy được các pixel từ một hình ảnh - Quan sát hình ảnh và mô hình ... dụng số kỹ thuật hiển thị hình ảnh chiều để ứng dụng mô mô hình 3D Một kỹ thuật kỹ thuật hiển thị Stereo, hiển thị chiều hay gọi hiển thị Stereo kỹ thuật biểu diễn đối tượng giới ba chiều lên... Ví dụ tạo hình ảnh ba chiều phong cảnh rộng lớn, hình ảnh ba chiều đối tượng sống chí hình ảnh ba chiều vật thể chuyển động Các mô hình cho ảnh ba chiều tổng hợp hoàn toàn ảo, tạo mô hình 3D máy... độ) - Kỹ thuật đồ họa: + Kỹ thuật đồ họa chiều + Kỹ thuật đồ họa chiều - Kỹ thuật đồ họa chiều: kỹ thuật đồ họa máy tính sử dụng hệ tọa độ hai chiều (hệ tọa độ thẳng), sử dụng nhiều kỹ thuật

Ngày đăng: 09/12/2016, 17:56

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan