1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu bài toán phát hiện đối tượng chuyển động

50 8 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

Định dạng
Số trang 50
Dung lượng 1,2 MB

Nội dung

Tìm hiểu tốn phát đối tƣợng chuyển động PHẦN MỞ ĐẦU Trong thời đại ngày công nghệ thơng tin thâm nhập vào tồn lĩnh vực đời sống xã hội Xã hội phát triển nhu cầu cơng nghệ thơng tin ngày cao, liệu số khơng cịn xa lạ người Trong lĩnh vực ứng dụng công nghệ thông tin trợ giúp người nhiều Hiện nay, thơng tin hình ảnh đóng vai trị quan trọng trao đổi thông tin, phần lớn thông tin mà người thu nhận thông qua thị giác Trong lĩnh vực công nghệ thông tin lĩnh vực giám sát tự động thu hút nhiều quan tâm nhóm nghiên cứu ngồi nước Cùng với phát triển sức mạnh máy tính, hệ thống giám sát tự động ngày tinh vi đại trợ giúp người nhiều việc bảo vệ an ninh, giám sát giao thông, v.v Ở nước ta nay, lĩnh vực giám sát tự động có bước phát triển đáng kể Tuy nhiên, dựa tảng phần cứng chưa áp dụng nhiều thực tế Việc giải toán theo hướng tiếp cận sử dụng phần mềm chưa quan tâm phát triển Do em lựa chọn đề tài: “Tìm hiểu tốn phát đối tượng chuyển động” Trong khn khổ khóa luận em tập trung trình bày kỹ thuật trừ ảnh ứng dụng kỹ thuật để giải toán quan trọng then chốt lĩnh vực giám sát tự động toán phát tự động đối tượng chuyển động thơng qua web camera Nội dung khóa luận bao gồm phần sau: phần mở đầu, phần kết luận, ba chương nội dung, cụ thể: - Chƣơng 1: xử lý ảnh toán phát đối tượng chuyển động - Chƣơng 2: Phát đối tượng chuyển động dựa vào kỹ thuật trừ ảnh - Chƣơng 3: Chương trình thử nghiệm Sinh viªn: Bïi Cao Ph¸t – CTL201 Tìm hiểu tốn phát đối tƣợng chuyển động Chƣơng 1: KHÁI QUÁT VỀ XỬ LÝ ẢNH VÀ PHÁT HIỆN ĐỐI TƢỢNG 1.1 KHÁI QUÁT VỀ XỬ LÝ ẢNH 1.1.1 Xử lý ảnh gì? Con người thu nhận thông tin qua giác quan, thị giác đóng vai trị quan trọng Những năm trở lại với phát triển phần cứng máy tính, xử lý ảnh đồ hoạ phát triển cách mạnh mẽ có nhiều ứng dụng sống Xử lý ảnh đồ hoạ đóng vai trị quan trọng tương tác người máy Quá trình xử lý ảnh xem trình thao tác ảnh đầu vào nhằm cho kết mong muốn Kết đầu q trình xử lý ảnh ảnh “tốt hơn” kết luận Ảnh Ảnh “Tốt hơn” XỬ LÝ ẢNH Kết luận Hình 1.1 Quá trình xử lý ảnh Ảnh xem tập hợp điểm ảnh điểm ảnh xem đặc trưng cường độ sáng hay dấu hiệu vị trí đối tượng khơng gian xem hàm n biến P(c1, c2, , cn) Do đó, ảnh xử lý ảnh xem ảnh n chiều Sơ đồ tổng quát hệ thống xử lý ảnh: Hệ định Thu nhận ảnh (Scanner, Camera,Sensor) Tiền xử lý Trích chọn đặc điểm Đối sánh rút kết luận Hậu xử lý Lưu trữ Hình 1.2 Các bƣớc hệ thống xử lý nh Sinh viên: Bùi Cao Phát CTL201 Tìm hiểu tốn phát đối tƣợng chuyển động 1.1.2 Các vấn đề xử lý ảnh 1.1.2.1 Một số khái niệm * Ảnh điểm ảnh: Điểm ảnh xem dấu hiệu hay cường độ sáng toạ độ không gian đối tượng ảnh xem tập hợp điểm ảnh * Mức xám, màu Là số giá trị có điểm ảnh ảnh Như ta biết, ảnh thực tế ảnh liên tục không gian lẫn giá trị độ sáng Muốn xử lý ảnh máy tính ta cần phải số hóa ảnh, tức đưa ảnh từ thực tế vào máy tính Để đưa ảnh vào máy tính dùng thiết bị thu nhận như: camera cộng với chuyển đổi tương tự số AD (Analog to Digital) máy quét chuyên dụng Các thiết bị thu nhận cho ảnh trắng đen B/W với mật độ từ 400 đến 600 dpi Với ảnh B/W mức màu z Với ảnh đa cấp xám, mức xám biến thiên từ đến 255 1.1.2.3 Biểu diễn ảnh Sau q trình số hóa ta thu ma trận tương ứng với ảnh cần xét, phần tử ma trận tương ứng với điểm ảnh Các điểm thường đặc trưng tọa độ màu RGB tương ứng với hệ tọa độ màu sau: Hình 1.3: Hệ tọa độ màu RGB Sinh viên: Bùi Cao Phát CTL201 Tỡm hiu toán phát đối tƣợng chuyển động Về mặt tốn học ta xem ảnh hàm hai biến f(x,y) với x,y biến tọa độ Giá trị số điểm (x,y) tương ứng với giá trị xám độ sáng ảnh ảnh biểu diễn theo hai mơ hình sau đây: Mơ hình Raster: mơ hình biểu diễn ảnh phổ biến ảnh biểu diễn dạng ma trận điểm ảnh Tùy theo nhu cầu thực tế mà điểm ảnh biểu diễn hay nhiều bit Mơ hình Raster phù hợp cho việc thu nhận hiển thị ảnh Mơ hình vector: bên cạnh mục đích tiết kiệm khơng gian lưu trữ, dễ dàng hiển thị in ấn, ảnh biểu diễn theo mơ hình vector cịn có ưu điểm cho phép dễ dàng lựa trọn, chép, di chuyển, tìm kiếm, v.v… Trong mơ hình người ta sử dụng hướng vectot điểm ảnh lân cận để mã hóa tái tạo ảnh ban đầu Các ảnh vector thu nhậnh trực tiếp từ thiết bị số hóa Digitalize chuyển đổi từ ảnh Raster thơng qua chương trình vector hóa Khi xử lý ảnh Raster quan tâm đến mối quan hệ vùng lân cận điểm ảnh Các điểm ảnh xếp hàng lưới hình vng, lưới lục giác theo cách hoàn toàn ngẫu nhiên với Cách xếp theo lưới hình vng quan tâm nhiều có hai khái niệm sau: điểm – láng giềng điểm – láng giềng Hình vẽ 1.4 mô tả khái niện này: Hình 1.4: Điểm láng giềng láng giềng 1.1.2.4 Khử nhiễu Có loại nhiễu trình thu nhận ảnh Nhiều hệ thống: nhiễu có quy luật khử phép biến đổi Nhiễu ngẫu nhiên: vết bẩn không rõ nguyên nhân khắc phục phép lọc Sinh viªn: Bïi Cao Ph¸t – CTL201 Tìm hiểu tốn phát đối tƣợng chuyển động 1.1.2.5 Nắn chỉnh biến dạng Ảnh thu nhận thường bị biến dạng thiết bị quang học điện tử P‟i f(Pi) Pi Ảnh thu nhận Ảnh mong muốn Hình 1.5 Ảnh thu nhận ảnh mong muốn Để khắc phục người ta sử dụng phép chiếu, phép chiếu thường xây dựng tập điểm điều khiển Giả sử (Pi, Pi‟) i = 1, n có n tập điều khiển Tìm hàm f: Pi  f (Pi) cho n f ( Pi ) Pi ' i Giả sử ảnh bị biến đổi bao gồm: Tịnh tiến, quay, tỷ lệ, biến dạng bậc tuyến tính Khi hàm f có dạng: f (x, y) = (a1x + b1y + c1, a2x + b2y + c2) Ta có: n n ' ( f ( Pi ) Pi ) a1 xi i n n i ax i b1 xi y i i n a xi b2 yi c2 yi' a1 xi y i b1 y i i i xi xi' i i n n i y i xi' c1 y i i n a1 xi n c1 xi n n c1 n b1 xi' c1 i Để cho a1 b1 yi i n b1 y i xi' nc1 i Giải hệ phương trình tuyến tính tìm Tương tự tìm i a1, b1, c1 a2, b2, c2 Xác định hàm f Sinh viên: Bùi Cao Phát CTL201 Tỡm hiu toán phát đối tƣợng chuyển động 1.1.2.6 Chỉnh mức xám Nhằm khắc phục tính khơng đồng hệ thống gây Thơng thường có hướng tiếp cận: Giảm số mức xám: Thực cách nhóm mức xám gần thành bó Trường hợp có mức xám chuyển ảnh đen trắng Ứng dụng: In ảnh màu máy in đen trắng Tăng số mức xám: Thực nội suy mức xám trung gian kỹ thuật nội suy Kỹ thuật nhằm tăng cường độ mịn cho ảnh 1.1.2.7 Phân tích ảnh Là khâu quan trọng trình xử lý ảnh để tiến tới hiểu ảnh Trong phân tích ảnh việc trích chọn đặc điểm bước quan trọng Các đặc điểm đối tượng trích chọn tuỳ theo mục đích nhận dạng q trình xử lý ảnh Có thể nêu số đặc điểm ảnh sau đây: Đặc điểm không gian: Phân bố mức xám, phân bố xác suất, biên độ, điểm uốn v.v Đặc điểm biến đổi: Các đặc điểm loại trích chọn việc thực lọc vùng (zonal filtering) Các vùng gọi “mặt nạ đặc điểm” (feature mask) thường khe hẹp với hình dạng khác (chữ nhật, tam giác, cung tròn v.v ) Đặc điểm biên đƣờng biên: Đặc trưng cho đường biên đối tượng hữu ích việc trích trọn thuộc tính bất biến dùng nhận dạng đối tượng Các đặc điểm trích chọn nhờ toán tử gradient, toán tử la bàn, toán tử Laplace, tốn tử “chéo khơng” (zero crossing) v.v Việc trích chọn hiệu đặc điểm giúp cho việc nhận dạng đối tượng ảnh xác, với tốc độ tính tốn cao dung lượng nhớ lưu trữ giảm xuống 1.1.2.8 Nhận dạng Nhận dạng tự động (automatic recognition), mơ tả đối tượng, phân loại phân nhóm mẫu vấn đề quan trọng thị giác máy, ứng dụng nhiều ngành khoa học khác Tuy nhiên, câu hỏi đặt là: mẫu (pattern) gì? Watanabe, người đầu lĩnh vực định nghĩa: “Ngược lại với hỗn loạn (chaos), mẫu thực thể (entity), xác định cách ang Sinh viªn: Bïi Cao Ph¸t – CTL201 Tìm hiểu tốn phát đối tƣợng chuyển động (vaguely defined) gán cho tên gọi đó” Ví dụ mẫu ảnh vân tay, ảnh vật chụp, chữ viết, khn mặt người ký đồ tín hiệu tiếng nói Khi biết mẫu đó, để nhận dạng phân loại mẫu có thể: Hoặc phân loại có mẫu (supervised classification), chẳng hạn phân tích phân biệt (discriminant analyis), mẫu đầu vào định danh thành phần lớp xác định Hoặc phân loại khơng có mẫu (unsupervised classification hay clustering) mẫu gán vào lớp khác dựa tiêu chuẩn đồng dạng Các lớp thời điểm phân loại chưa biết hay chưa định danh Hệ thống nhận dạng tự động bao gồm ba khâu tương ứng với ba giai đoạn chủ yếu sau đây: 1o Thu nhận liệu tiền xử lý 2o Biểu diễn liệu 3o Nhận dạng, định Bốn cách tiếp cận khác lý thuyết nhận dạng là: 1o Đối sánh mẫu dựa đặc trưng trích chọn 2o Phân loại thống kê 3o Đối sánh cấu trúc 4o Phân loại dựa mạng nơ-ron nhân tạo Trong ứng dụng rõ ràng khơng thể dùng có cách tiếp cận đơn lẻ để phân loại “tối ưu” cần sử dụng lúc nhiều phương pháp cách tiếp cận khác Do vậy, phương thức phân loại tổ hợp hay sử dụng nhận dạng có kết có triển vọng dựa thiết kế hệ thống lai (hybrid system) bao gồm nhiều mơ hình kết hợp Việc giải toán nhận dạng ứng dụng mới, nảy sinh sống không tạo thách thức thuật giải, mà đặt u cầu tốc độ tính tốn Đặc điểm chung tất ứng dụng đặc điểm đặc trưng cần thiết thường nhiều, chuyên gia đề xuất, mà phải trích chọn dựa thủ tục phân tích d liu Sinh viên: Bùi Cao Phát CTL201 Tìm hiểu tốn phát đối tƣợng chuyển động 1.1.2.9 Nén ảnh Nhằm giảm thiểu không gian lưu trữ Thường tiến hành theo hai cách khuynh hướng nén có bảo tồn khơng bảo tồn thơng tin Nén khơng bảo tồn thường có khả nén cao khả phục hồi Trên sở hai khuynh hướng, có cách tiếp cận nén ảnh: Nén ảnh thống kê: Kỹ thuật nén dựa vào việc thống kê tần xuất xuất giá trị điểm ảnh, sở mà có chiến lược mã hóa thích hợp Một ví dụ điển hình cho kỹ thuật mã hóa *.TIF Nén ảnh khơng gian: Kỹ thuật dựa vào vị trí khơng gian điểm ảnh để tiến hành mã hóa Kỹ thuật lợi dụng giống điểm ảnh vùng gần Ví dụ cho kỹ thuật mã nén *.PCX Nén ảnh sử dụng phép biến đổi: Đây kỹ thuật tiếp cận theo hướng nén không bảo toàn vậy, kỹ thuật thướng nến hiệu *.JPG tiếp cận theo kỹ thuật nén Nén ảnh Fractal: Sử dụng tính chất Fractal đối tượng ảnh, thể lặp lại chi tiết Kỹ thuật nén tính tốn để cần lưu trữ phần gốc ảnh quy luật sinh ảnh theo nguyên lý Fractal 1.2.VIDEO VÀ BÀI TOÁN PHÁT HIỆN ĐỐI TƢỢNG CHUYỂN ĐỘNG 1.2.1 Một số khái niệm Video tập hợp khung hình (frames), khung hình ảnh Shot (lia) đơn vị sở video Một lia đơn vị vật lý dòng video, gồm chuỗi khung hình liên tiếp, khơng thể chia nhỏ Scene (cảnh) đơn vị logic dòng video, cảnh gồm lia liên quan không gian liền kề thời gian, mô tả nội dung ngữ nghĩa tình tiết Cấu trúc phân cấp Video mơ tả hình vẽ 1.6: Hình 1.6: Cấu trúc phân cấp video Sinh viên: Bùi Cao Phát CTL201 Tỡm hiu bi toán phát đối tƣợng chuyển động Khi phim chiếu khung hình hiển thị tốc độ định Tốc độ thường thấy định dạng video 25 hình/s 30 hình/s Như video số khung hình tương ứng 108000 9000 Phân đoạn video trình phân tích chia nội dung hình ảnh video thành đơn vị sở gọi lia (shot) Việc lấy mẫu chọn gần khung hình video đại diện cho lia (hoặc nhiều tùy theo độ phức tạp nội dung hình ảnh lia), gọi khung khoá Khung khố khung hình đại diện mơ tả nội dung shot Q trình phân đoạn liệu video tiến hành phân tích, phát chuyển đổi từ lia sang lia khác phát ranh giới lia (đó khác khung hình liền kề) Hình vẽ 1.7 sau mô tả chuyển đổi cỏc lia Hình 1.7: minh hoạ việc chuyển đổi lia Trong hỡnh v trờn s chuyn i lia xảy khung hình thứ thứ 1.2.2 Một số thuộc tính đặc trƣng video Video có đặc tính chung là: màu (color), kết cấu (texture), hình dáng (shape), chuyển động (motion) Sau tìm hiểu đặc tính 1.2.3 Chuyển động (Motion) Motion thuộc tính quan trọng video Thơng tin chuyển động sinh kỹ thuật ghép khối luồng ánh sáng Các đặc trưng chuyển động mômen trường chuyển động, biểu đồ chuyển động tham số chuyển động tồn cục trích chọn tử vector chuyển động Các đặc trưng mức cao phản ánh di chuyển camera quét camera (pan), nghiêng (tilt), phóng to (zoom in),thu nhỏ (zoom out) có th c trớch chn Sinh viên: Bùi Cao Phát CTL201 Tìm hiểu tốn phát đối tƣợng chuyển động 1.2.4 Bài toán phát đối tƣợng chuyển động Sự phát triển công nghệ thông tin đẩy nhanh phát triển lĩnh vực xã hội khác Với phát triển phần cứng phương diện thu nhận hiển thị tốc độ xử lý mở nhiều hướng cho phát triển phần mềm Trong số phải kể đến lĩnh vực giám sát tự động Một toán quan trọng then chốt lĩnh vực giám sát tự động tốn phát đối tượng chuyển động Đối với toán phát đối tượng chuyển động thường có hai cách tiếp cận sau đây: - Dựa hoàn toàn vào phần cứng - Dựa vào kỹ thuật xử lý ảnh sở xử lý hình ảnh thu được, phân tích kết luận xem có đối tượng đơt nhập hay không Ở nước ta nay, việc giải tốn phát đối tượng chuyển động cịn chủ yếu dựa vào phần cứng chưa áp dụng nhiều thực tế Trong chương tìm hiểu chi tiết cách tiếp cận để gii quyt bi toỏn ny Sinh viên: Bùi Cao Phát – CTL201 10 HƢỚNG PHÁT TRIỂN TIẾP THEO CỦA ĐỀ TÀI Do thời gian có hạn nên cịn số vấn đề mà đề tài chưa giải Sau đây, tơi xin đưa số hướng mở rộng hoàn thiện đề tài nhằm áp dụng cho thực tiễn: - Kết hợp kỹ thuật trừ ảnh kỹ thuật xử lý ảnh khác trích chọn đặc trưng ảnh, dị biên, v.v để nhận dạng đối tượng chuyển động máy tính Nghiên cứu phát triển chương trình để hoạt động mạng PHỤ LỤC M· nguån líp ImageProcessing.cs using System; using System.Drawing; using System.Drawing.Imaging; namespace ImgProcessing { public unsafe sealed class ImageProcessing { Bitmap flag,flag2,flag3; int width,width2,width3; BitmapData bitmapData = null, bitmapData2= null, bitmapData3= null; Byte* pBase = null,pBase2=null,pBase3=null; #region ImageProcessing Constructor public ImageProcessing(Bitmap picOld,Bitmap picNew, Bitmap target) { this.flag=picOld; this.flag2=picNew; this.flag3=target; } public ImageProcessing(Bitmap source,Bitmap target) { this.flag=source; this.flag2=target; } #endregion #region internal methods #region PixelSize public Point PixelSize { get { GraphicsUnit unit = GraphicsUnit.Pixel; RectangleF bounds = flag.GetBounds(ref unit); return new Point((int) bounds.Width, (int) bounds.Height); } } public Point PixelSize2 { get { GraphicsUnit unit = GraphicsUnit.Pixel; RectangleF bounds = flag2.GetBounds(ref unit); return new Point((int) bounds.Width, (int) bounds.Height); } } public Point PixelSize3 { get { GraphicsUnit unit = GraphicsUnit.Pixel; RectangleF bounds = flag3.GetBounds(ref unit); return new Point((int) bounds.Width, (int) bounds.Height); } } #endregion #region PixelAt public Pixel* PixelAt(int x, int y) { return (Pixel*) (pBase + y * width + x * sizeof(Pixel)); } public Pixel* PixelAt2(int x, int y) { return (Pixel*) (pBase2 + y * width2 + x * sizeof(Pixel)); } public Pixel* PixelAt3(int x, int y) { return (Pixel*) (pBase3 + y * width3 + x * sizeof(Pixel)); } #endregion #region LockBitMap public void LockBitmap() { GraphicsUnit unit = GraphicsUnit.Pixel; RectangleF boundsF = flag.GetBounds(ref unit); Rectangle bounds = new Rectangle((int) boundsF.X, (int) boundsF.Y, (int) boundsF.Width, (int) boundsF.Height); width = (int) boundsF.Width * sizeof(Pixel); if (width % != 0) { width = * (width / + 1); } bitmapData = flag.LockBits(bounds, ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb); pBase = (Byte*) bitmapData.Scan0.ToPoànter(); } public void UnlockBitmap() { flag.UnlockBits(bitmapData); bitmapData = null; pBase = null; } public void LockBitmap2() { GraphicsUnit unit = GraphicsUnit.Pixel; RectangleF boundsF = flag2.GetBounds(ref unit); Rectangle bounds = new Rectangle((int) boundsF.X, (int) boundsF.Y, (int) boundsF.Width, (int) boundsF.Height); width2 = (int) boundsF.Width * sizeof(Pixel); if (width2 % != 0) { width2 = * (width2 / + 1); } bitmapData2 = flag2.LockBits(bounds, ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb); pBase2 = (Byte*) bitmapData2.Scan0.ToPointer(); } public void UnlockBitmap2() { flag2.UnlockBits(bitmapData2); bitmapData2= null; pBase2= null; } public void LockBitmap3() { GraphicsUnit unit = GraphicsUnit.Pixel; RectangleF boundsF = flag3.GetBounds(ref unit); Rectangle bounds = new Rectangle((int) boundsF.X, (int) boundsF.Y, (int) boundsF.Width, (int) boundsF.Height); width3 = (int) boundsF.Width * sizeof(Pixel); if (width3 % != 0) { width3 = * (width3 / + 1); } bitmapData3 = flag3.LockBits(bounds, ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb); pBase3 = (Byte*) bitmapData3.Scan0.ToPointer(); } public void UnlockBitmap3() { flag3.UnlockBits(bitmapData3); bitmapData3= null; pBase3= null; } #endregion #region Save public void Save(string filename) { flag3.Save(filename, ImageFormat.Jpeg); } #endregion #region Dispose public void Dispose() { flag=null; flag2=null; flag3=null; } #endregion public Bitmap bitmap { get { return(this.flag3); } } #endregion #region Magic code for CompareUnsafeFaster public void CompareUnsafeFaster(out Int32 percent) { Point size = PixelSize; percent=0; LockBitmap(); LockBitmap2(); LockBitmap3(); for (int y = 0; y < size.Y; y++) { Pixel* pPixel = PixelAt(0, y); Pixel* pPixel2 = PixelAt2(0, y); Pixel* pPixel3 = PixelAt3(0, y); for (int x = 0; x < size.X; x++) { if(!(pPixel->green==pPixel2->green)) { pPixel3->red = pPixel2->red; pPixel3->green = pPixel2->green; pPixel3->blue = pPixel2->blue; percent++; } pPixel++; pPixel2++; pPixel3++; } } UnlockBitmap3(); UnlockBitmap2(); UnlockBitmap(); } #endregion #region Magic code for ComplementUnsafeFaster public void ComplementUnsafeFaster() { Point size = PixelSize; LockBitmap(); LockBitmap2(); for (int y = 0; y < size.Y; y++) { Pixel* pPixel = PixelAt(0, y); Pixel* pPixel2 = PixelAt2(0, y); for (int x = 0; x < size.X; x++) { pPixel2->red =(byte)(255-(int)pPixel->red); pPixel2->green = (byte)(255-(int)pPixe>green); pPixel2->blue = (byte)(255-(int)pPixel->blue); pPixel++; pPixel2++; } } UnlockBitmap2(); UnlockBitmap(); flag3=new Bitmap(flag2); } #endregion #region Magic code for ColorBallUnsafeFaster public void ColorBallUnsafeFaster(double red,double green, double blue) { Point size = PixelSize; double fr, fg, fb; if(redred = (byte)((int)pPixel->red + (255 - (int)pPixel->red) * fr); } if( green < ) { pPixel2->green = (byte)((int)pPixel->green * fg); } else { pPixel2->green = (byte)((int)pPixel->green + (255 - (int)pPixel->green) * fg); } if( blue < ) { pPixel2->blue = (byte)((int) pPixel->blue * fb); } else { pPixel2->blue= (byte)((int)pPixel->blue + (255 - (int)pPixel->blue) * fb); } pPixel++; pPixel2++; } } UnlockBitmap2(); UnlockBitmap(); flag3=new Bitmap(flag2); } #endregion #region Magic code for Brightness public void Brightness(double brightness) { Point size = PixelSize; double f; if(brightnessred = (byte)( (int)pPixel->red * f); pPixel2->green = (byte)( (int)pPixel->green * f); pPixel2->blue = (byte)( (int)pPixel->blue * f); } else { pPixel2->green = (byte)((int)pPixel->red + (255 - (int)pPixel->red) * f); pPixel2->green = (byte)((int)pPixel->green + (255 - (int)pPixel->green) * f); pPixel2->blue= (byte)((int)pPixel->blue + (255 - (int)pPixel->blue) * f); } pPixel++; pPixel2++; } } UnlockBitmap2(); UnlockBitmap(); flag3=new Bitmap(flag2); } #endregion #region MakeGreyUnsafeFaster public void MakeGreyUnsafeFaster() { Point size = PixelSize; LockBitmap(); LockBitmap2(); for (int y = 0; y < size.Y; y++) { Pixel* pPixel = PixelAt(0, y); Pixel* pPixel2 = PixelAt2(0, y); for (int x = 0; x < size.X; x++) { byte value = (byte) ((pPixel->red + pPixel->green + pPixel->blue) / 3); pPixel2->red = value; pPixel2->green = value; pPixel2->blue = value; pPixel++; pPixel2++; } } UnlockBitmap2(); UnlockBitmap(); flag3=new Bitmap(flag2); } #endregion } #region Pixel struct public struct Pixel { public byte blue; public byte green; public byte red; } #endregion } Mã nguồn lớp Counter.cs using System; namespace Timing { public class Counter { long elapsedCount = 0; long startCount = 0; public void Start() { startCount = 0; QueryPerformanceCounter(ref startCount); } public void Stop() { long stopCount = 0; QueryPerformanceCounter(ref stopCount); elapsedCount += (stopCount - startCount); } public void Clear() { elapsedCount = 0; } public float Seconds { get { long freq = 0; QueryPerformanceFrequency(ref freq); return((float) elapsedCount / (float) freq); } } public override string ToString() { return String.Format("{0} Giõy.", Seconds); } static long Frequency { get { long freq = 0; QueryPerformanceFrequency(ref freq); return freq; } } static long Value { get { long count = 0; QueryPerformanceCounter(ref count); return count; } } [System.Runtime.InteropServices.DllImport("KERNEL32")] private static extern bool QueryPerformanceCounter ( ref long lpPerformanceCount); [System.Runtime.InteropServices.DllImport("KERNEL32")] private static extern bool QueryPerformanceFrequency ( ref long lpFrequency); } } LỜI CẢM ƠN Đầu tiên em xin bày tỏ lòng biết ơn chân thành đến thầy giáo PGS TS Đỗ Năng Toàn người trực tiếp hướng dẫn tạo điều kiện cho em thực tập Viện công nghệ thông tin Viện khoa học công nghệ Việt Nam để hồn thành khóa luận Đồng thời em xin chân thàn suốt thời gian em kiến thức cần thiết bổ ích giúp em hồn thành khóa luận kỹ nghề nghiệp sau Cuối em xin cảm ơn gia đình bạn bè ln cổ vũ động viên em suốt thời gian vừa qua Do trình độ có hạn nên nội dung khóa luận cịn sơ sài mong nhận góp ý thầy giáo bạn Hải Phịng , ngày ,tháng ,năm 2010 Sinh viên Bùi Cao Phát MỤC LỤC PHẦN MỞ ĐẦU Chƣơng 1: KHÁI QUÁT VỀ XỬ LÝ ẢNH VÀ PHÁT HIỆN ĐỐI TƢỢNG 1.1 KHÁI QUÁT VỀ XỬ LÝ ẢNH 1.1.1 Xử lý ảnh gì? 1.1.2 Các vấn đề xử lý ảnh 1.1.2.1 Một số khái niệm 1.1.2.3 Biểu diễn ảnh 1.1.2.4 Khử nhiễu 1.1.2.5 Nắn chỉnh biến dạng 1.1.2.6 Chỉnh mức xám 1.1.2.7 Phân tích ảnh 1.1.2.8 Nhận dạng 1.1.2.9 Nén ảnh 1.2.VIDEO VÀ BÀI TOÁN PHÁT HIỆN ĐỐI TƢỢNG CHUYỂN ĐỘNG 1.2.1 Một số khái niệm 1.2.2 Một số thuộc tính đặc trưng video 1.2.3 Chuyển động (Motion) 1.2.4 Bài toán phát đối tượng chuyển động 10 Chƣơng 2: PHÁT HIỆN ĐỐI TƢỢNG CHUYỂN ĐỘNG DỰA VÀO KỸ THUẬT TRỪ ẢNH 11 2.1 K Ỹ THUẬT TRỪ ẢNH DỰA VÀO ĐIỂM ẢNH 11 2.2 TRỪ ẢNH PHÂN KHỐI 12 2.3 PHƢƠNG PHÁP BIỂU ĐỒ 14 2.3.1 Biểu đồ toàn cục 14 2.3.2 Biểu đồ cục 17 2.4 PHƢƠNG PHÁP THỐNG KÊ 18 2.4.1 Đặc trưng vector chuyển động 18 2.4.2 Đặc trưng cạnh 19 2.5 KỸ THUẬT TRỪ NỀN (Background subtraction) 19 2.5.1 Không gian màu (Color space) 19 2.5.2 Mô hình (Background modeling) 20 2.5.3 Lựa chọn ngưỡng (Threshold selection) 21 2.5.4 Thao tác trừ (Subtraction operation) 22 Chƣơng 3: CHƢƠNG TRÌNH THỬ NGHIỆM 25 3.1 KỸ THUẬT BẮT GIỮ HÌNH ẢNH QUA CAMERA 25 3.2 PHÂN TÍCH U CẦU BÀI TỐN VÀ THUẬT GIẢI ĐỀ XUẤT 27 3.3 CÁC HÀM VÀ LỚP CHÍNH TRONG CHƢƠNG TRÌNH 28 3.4 Chức cách sử dụng chƣơng trình 31 KẾT LUẬN 34 TÀI LIỆU THAM KHẢO 35 PHỤ LỤC ... phát triển phần mềm Trong số phải kể đến lĩnh vực giám sát tự động Một toán quan trọng then chốt lĩnh vực giám sát tự động toán phát đối tượng chuyển động Đối với toán phát đối tượng chuyển động. .. PHÂN TÍCH YÊU CẦU BÀI TOÁN VÀ THUẬT GIẢI ĐỀ XUẤT Như ta biết, toán phát đối tượng chuyển động toán quan trọng then chốt lĩnh vực giám sát tự động Yêu cầu toán phát đối tượng chuyển động nơi đặt camera... Bùi Cao Phát CTL201 Tỡm hiu toán phát đối tƣợng chuyển động 1.2.4 Bài toán phát đối tƣợng chuyển động Sự phát triển công nghệ thông tin đẩy nhanh phát triển lĩnh vực xã hội khác Với phát triển

Ngày đăng: 06/04/2021, 18:32

TỪ KHÓA LIÊN QUAN