Tìm kiếm theo nội dung trong file video

76 503 0
Tìm kiếm theo nội dung trong file video

Đ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

Xử lý ảnh là một môn khoa học còn tương đối mới mẻ so với nhiều ngành khoa học khác, nhất là trên qui mô công nghiệp, song trong xử lý ảnh đã bắt đầu xuất hiện những máy tính chuyên dụng.

ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔN TIN ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Chuyên ngành Công nghệ thông tin Đề tài: XÂY DỰNG CHƯƠNG TRÌNH TÌM KIẾM THEO NỘI DUNG TRONG FILE AVI Sinh viên thực hiện: BÙI MẠNH HÙNG Lớp K1B, hệ chính qui Giáo viên hướng dẫn: ThS. VŨ THÀNH VINH Thái Nguyên, 4 - 2007 2 LỜI CẢM ƠN Trước hết em xin gửi đến thấy giáo Thạc sĩ Vũ Thành Vinh lời cảm ơn chân thành và sâu sắc nhất. Bằng kinh nghiệm và lòng nhiệt huyết của mình, trong thời gian vừa qua, thầy đã tận tình chỉ bảo và hướng dẫn giúp em hoàn thành tốt đồ án của mình, kết quả đạt được của đồ án này cũng bao gồm một phần công lao rất lớn của thầy. Em xin cảm ơn thầy một lần nữa! Em cũng xin cảm ơn các thầy cô trong khoa Công nghệ thông tin Đại học Thái Nguyên, đặc biệt là những thầy cô đã trực tiếp giảng dạy em trong 5 năm học vừa qua, thầy cô là những người đã tạo nền tảng kiến thức cơ bản nhất, vững chắc nhất và đầy đủ nhất để em có thể nhận và hoàn thành đồ án này. Em xin cảm ơn! Sinh viên Bùi Mạnh Hùng LỜI CAM ĐOAN Tôi, sinh viên Bùi Mạnh Hùng, lớp K1B khoa Công nghệ thông tin, Đại học Thái Nguyên, xin cam đoan đồ án này là đồ án của tôi, không sao chép nội dung cơ bản từ bất kì đồ án nào khác, toàn bộ nội dung chính của đồ án là do nhưng nghiên cứu của bản thân tôi xây dựng lên. Chương trình kèm theo với các nội dung chính liên quan đến đồ án là do tôi tự viết ra, không sao chép từ bất kỳ nguồn nào và chương trình này chỉ sử dụng với mục đích demo cho nội dung đồ án không có bất kỳ một mục đích nào khác. Tôi xin cam đoan những gì tôi trình bày ở trên hoàn toàn là sự thật, nếu có nội dung nào sai sự thật tôi xin hoàn toàn chịu trách nhiệm. 4 MỤC LỤC Mở đầu Chương 1: Tổng quan về ngôn ngữ lập trình Visual C++ 6.0 Chương 2: Tổng quan về xử lý ảnh 2.1 Tổng quan về một hệ thống xử lý ảnh . 2.2 Các vấn đề cơ bản trong xử lý ảnh nâng cao 2.2.1 Histogram và biến đổi histogram 2.2.2 Các kỹ thuật tăng cường ảnh (Image Enhancement) 2.2.3 Khôi phục ảnh (Image Restauration) 2.2.4 Nhận dạng ảnh 2.2.5 Nén ảnh Chương 3: Tổng quan về video 3.1 Tổng quan về video 3.2.Một số thuộc tính đặc trưng của video 3.2.1.Color 3.2.2.Texture 3.2.3.Shape 3.2.4.Motion Chương 4: Các phương pháp xác định độ đo tương tự trong xử lý ảnh 4.1 Giới thiệu 4.2 Phương pháp Histogram dòng, cột 4.3 Mô hình Cognitive Visual Attention (CVA) 4.4 Độ đo tương tự có thể học (Trainable similarity measure) 4.5 Multivariate Two-sample problem Chương 5: Phân tích và thiết kế hệ thống 5.1.Phân tích 5.1.1.Đặt vấn đề 5.1.2.Phân tích bài toán 5.2.Kỹ thuật đề xuất 5.3.Thiết kế hệ thống Chương 6: Thực nghiệm 6.1 Giới thiệu chương trình 6.2 Các chức năng chính của chương trình 6.2.1 Giao diện chính 6.2.2 Chức năng mở file video, ảnh gốc 6.2.3 Thao tác với file video 6.2.4 Hiển thị Histogram 6.2.5 Xuất frame ra file bitmap 6.2.6 Khoanh vùng đối tượng cần tìm 6.2.7 Xác định độ đo tương tự 6.3 Kết quả đạt được KẾT LUẬN TÀI LIỆU THAM KHẢO PHỤ LỤC MỞ ĐẦU Ngày nay, thông tin hình ảnh đóng vai trò quan trọng trong trao đổi thông tin, bởi phần lớn các thông tin mà con người thu nhận được đều thông qua thị giác. Do vậy vấn đề xử lý ảnh nói chung và xử lý video nói riêng đã phát triển , nó liên quan đến nhiều ngành khác như: hệ thống tin học, lý thuyết thông tin, lý thuyết thống kê, trí tuệ nhân tạo, nhận dạng, v.v. Thực tế này đặt ra ba bài toán lớn. Thứ nhất, giảm dung lượng video và tăng tốc độ xử lý. Thứ hai, tổ chức lưu trữ, tìm kiếm video hiệu quả. Thứ ba, tiến đến việc hiểu nội dung video. Trong đợt làm đồ án tốt nghiệp này, em đã chọn đề tài là "Tìm kiếm theo nội dung trong file video" vì các lí dó sau. Đầu tiên, đây là đề tài đáp ứng được nguyện vọng vủa em là được nghiên cứu đề tài liên quan đến xử lý ảnh, một vấn đề mà em đã và đang rất qua tâm, thứ hai đây là một trong các bài toán nằm trong lớp bài toán thứ ba đề cập ở trên, một lớp bài toán có ý nghĩa đặc bệt quan trọng do vậy nó mang rất nhiều ý nghĩa thực tiễn, thứ ba đây là một cơ hội rất tốt giúp em có thể tự đánh giá được năng lực bản thân bởi vì đây là một đề tài khó và hiện tại vẫn chưa có nhiều nghiên cứu có kết quả cao và chưa được phổ biến rộng rãi. Chương 1: TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH VISUAL C++ 6.0 1.1 Giới thiệu Trước đây phần lớn các ứng dụng Windows được viết bằng ngôn ngữ C. Ngày nay các môi trường lập trình mới đã cho phép viết các chương trình thương mại có chất lượng cao bằng C, C++, Pascal, BASIC và các ngôn ngữ khác. Trong đó, ngôn ngữ C++ đã được các lập trình viên chuyên nghiệp chọn để sử dụng thay cho C. Kết hợp với thư viện lớp, C++ trừu tượng, giao diện lập trình ứng dụng (Application Programming Interface - API) của Windows nhờ các lớp cơ sở để biểu diễn các dối tượng chung như cửa sổ, thực đơn . C++ làm giảm các khó khăn cho những người lập trình ít kinh nghiệm. Ở đây chúng ta sẽ mô tả các sử dụng MFC (Microsoft Foundation Class) để viết các ứng dụng Windows trên cơ sở thông điệp và các đặc tính cơ bản của C++ như lớp, thừa hưởng . 1.2 Cơ bản về MFC MFC là tập hợp các lớp định nghĩa sẵn. Chúng biểu diễn cách tiếp cận hướng đối tượng đến lập trình Windows và chúng gói các Windows API. Rất nhiều lập trình viên C++ đã chọn thư viện MFC như là thư viện lớp để phát triển ứng dụng của mình. MFC cho phép lập trình viên dành nhiều thời gian hơn cho phát triển các thành phần cấu trúc chương trình và ít phải lo lắng về giao diện của Windows. Đặc biệt, MFC làm đơn giản tiến trình phát triển mã trình cho các loại máy có hệ điều hành khác nhau: Windows 16 bít, Windows 32 bít, Windows 64 bít. Hiện nay, MFC 6.0 (trong bộ Visual C++ 6.0) có hơn 130 lớp, trong đó một số lớp được trực tiếp sử dụng và một số khác làm lớp cơ sở cho lớp riêng của lập trình viên. Rất nhiều lớp khá đơn giản, chẳng hạn như lớp CPoint (chỉ chứa tọa độ x,y của một điểm). Một số lớp khác lại rất phức tạp, như lớp CWnd chứa cả cửa sổ mà ta quan sát thấy trên màn hình. Hình 1.1 - Mô tả rút gọn cấu trúc MFC Trong chương trình MFC, giao diện lập trình API rất ít khi được gọi trực tiếp. Thay vào đó là tạo ra các đối tượng của các lớp MFC và gọi các hàm thành phần của chúng. Rất nhiều hàm thành phần MFC là lớp vỏ bao bọc mỏng xung quanh API; rất nhiều hàm, thậm chí, có cùng tên với các hàm API. Điều này giúp cho lập trình viên C có thể chuyển nhanh sang MFC. Thí dụ, khi dịch chuyển cửa sổ, trong C ta gọi hàm API với tên SetWindowsPos. Khi tìm tên này trong MFC ta thấy MFC cũng trợ giúp chúng, đó là hàm thành phần của lớp CWnd khi cửa sổ được coi là đối tượng, còn SetWindowsPos là một hành động mà ta muốn thực hiện trên đối tượng đó. MFC còn là khung (framework) ứng dụng. MFC giúp định nghĩa cấu trúc của ứng dụng và quản lý rất nhiều công việc khác nữa. Bắt đầu với CWinApp, là lớp biểu [...]... SetModifiedFlag UpdateAllViews OnFileSendMail Mô tả Cho lại giá trị POSITION để truyền cho GetNextView Cho lại con trỏ CView trỏ đến quan sát tiếp theo trong danh sách Lấy tên tệp và đường dẫn của tài liệu Lấy tiêu đề tài liệu Cho lại giá trị khác 0 nếu tài liệu chưa lưu trên đĩa Đặt hoặc xoá cờ cho biết tài liệu bị thay đổi Làm tươi toàn bộ các quan sát Cài đặt lệnh Send Mail trong thực đơn file Bảng 1.2 - Các... lớp Ck.pháp của văn phạm.Cũng như trong phân tích cú pháp ngôn ngữ, có phân tích trên xuống, dưới lên, việc nhận dạng theo cấu trúc cũng có thể thực hiện theo cách tương tự Việc nhận dạng dựa theo cấu trúc là một ý tưởng và dẫu sao cũng cần được nghiên cứu thêm 2.2.5 Nén ảnh 2.2.5.1 Tổng quan về nén dữ liệu ảnh Nén dữ liệu là quá trình làm giảm lượng thông tin "dư thừa" trong dữ liệu gốc và do vậy, lượng... dạng, người ta phân chia làm 2 họ lớn: - Họ mô tả theo tham số - Họ mô tả theo cấu trúc Cách mô tả được lựa chọn sẽ xác định mô hình của đối tượng.Như vậy, chúng ta sẽ có 2 loại mô hình: mô hình theo tham số và mô hình cấu trúc • Mô hình tham số: sử dụng một véctơ để đặc tả đối tượng.Mỗi phần tử của véctơ mô tả một đặc tính của đối tượng.Thí dụ như trong các đặc trưng chức năng, người ta sử dụng các... vùng với tâm theo ngưỡng t2 Lặp các thao tác tác trên cho đến khi thỏa mãn tiêu chuẩn phân hoạch 2.2.4.4 Nhận dạng cấu trúc Các đối tượng cần nhận dạng theo phương pháp này được biểu diễn bởi một câu trong ngôn ngữ L(G).Khi đó thao tác phân lớp chính là xem xét một đối tượng có thuộc văn phạm L(G) không? Nói cách khác nó có được sinh ra bởi các luật của văn phạmG không? Như vậy sự phân lớp là theo cách... đối mới mẻ so với nhiều ngành khoa học khác, nhất là trên qui mô công nghiệp, song trong xử lý ảnh đã bắt đầu xuất hiện những máy tính chuyên dụng Để có thể hình dung cấu hình một hệ thống xử lý ảnh chuyên dụng hay một hệ thống xử lý ảnh dùng trong nghiên cứu, đào tạo, trước hết chúng ta sẽ xem xét các bước cần thiết trong xử lý ảnh Trước hết là quá trình thu nhận ảnh Ảnh có thể thu nhận qua camera... trước khi ảnh bị biến dạng.Giai đoạn tiếp theo là phát hiện các đặc tính như biên, phân vùng ảnh, trích chọn các đặc tính, v.v Cuối cùng, tuỳ theo mục đích của ứng dụng, sẽ là giai đoạn nhận dạng, phân lớp hay các quyết định khác.Các giai đoạn chính của quá trình xử lý ảnh có thể mô tả ở hình 2.1 Với các giai đoạn trên, một hệ thống xử lý ảnh (cấu trúc phần cứng theo chức năng) gồm các thành phần tối... xám (Histogram) Lược đồ mức xám của một ảnh là một hàm cung cấp tần suất xuất hiện của mỗi mức xám (grey level) Lược đồ xám được biểu diễn trong một hệ toạ độ vuông góc x,y Trong hệ toạ độ này, trục hoành biểu diễn số mức xám từ 0 đến N, N là số mức xám (256 mức trong trường hợp chúng ta xét) Trục tung biểu diễn số điểm ảnh cho một mức xám (số điểm ảnh có cùng mức xám) Cũng có thể biểu diễn khác một... xám cung cấp rất nhiều thông tin về phân bố mức xám của ảnh Theo thuật ngữ của xử lý ảnh gọi là tính động của ảnh Tính động của ảnh cho phép phân tích trong khoảng nào đó phân bố phần lớn các mức xám của ảnh: ảnh rất sáng hay ảnh rất đậm Nếu ảnh sáng, lược đồ xám nằm bên phải (mức xám cao), còn ảnh đậm luợc đồ xám nằm bên trái(mức xám thấp) Theo định nghĩa của lược đồ xám, việc xây dựng nó là khá đơn... I(x,y) tính H[I(x,y)] = H[I(x,y)] + 1 c Tính giá trị Max của bảng H Sau đó hiện bảng trong khoảng từ 0 đến Max Kết thúc Lược đồ xám là một công cụ hữu hiệu dùng trong nhiều công đoạn của xử lý ảnh như tăng cường ảnh ( xem chương Bốn) Dưới đây ta xem xét một số biến đổi lược đồ xám hay dùng 2.2.1.2 Biến đổi histogram Trong tăng cường ảnh, các thao tác chủ yếu dựa vào phân tích lược đồ xám Trước tiên... nếu giá trị mức xám ban đầ là gI thì giá trị mức xám kết quả là 255-gI Một trong những ứng dụng phổ biến của LUT là viền khung động Một số ảnh ban đầu hoặc có thể là rất đậm hay rất nhạt, hoặc độ tương phản thấp Điều này có thể là do trong ảnh ban đầu, các mức xám có thể vượt lên cao hoặc xuống dưới tỷ lệ, hay tập trung lại trong một vùng rất hẹp (trên lược đồ xám thể hiện rõ điều này) Mục đích của . Đ I HỌC TH I NGUY N KHOA CÔNG NGHỆ TH N TIN ĐỒ N T T NGHIỆP Đ I HỌC Chuy n ngành Công nghệ thông tin Đề t i: XÂY DỰNG CHƯƠNG TRÌNH T M KI M THEO N I DUNG. đích n o khác. T i xin cam đoan những gì t i trình bày ở tr n ho n to n là sự th t, n u có n i dung n o sai sự th t t i xin ho n to n chịu trách nhi m.

Ngày đăng: 25/04/2013, 21:57

Từ khóa liên quan

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

Tài liệu liên quan