THỰC HIỆN GIẢI THUẬT TÁCH BIÊN ẢNH BẰNG NGÔN NGỮ VERILOG hoặc VHDL THỰC HIỆN GIẢI THUẬT TÁCH BIÊN ẢNH BẰNG NGÔN NGỮ VERILOG hoặc VHDL THỰC HIỆN GIẢI THUẬT TÁCH BIÊN ẢNH BẰNG NGÔN NGỮ VERILOG hoặc VHDL THỰC HIỆN GIẢI THUẬT TÁCH BIÊN ẢNH BẰNG NGÔN NGỮ VERILOG hoặc VHDL
THỰC HIỆN GIẢI THUẬT TÁCH BIÊN ẢNH BẰNG NGÔN NGỮ VERILOG/VHDL MỤC LỤC DANH MỤC CÁC HÌNH VẼ DANH MỤC CÁC TỪ VIẾT TẮT VHDL VHSIC Hardware Description Language VHD Virtual Hard Disk VGA Video Graphics Array FPGA Field-Programmable Gate Array RAM Random Access Memory IEEE Electrical and Electronics Engineers ĐỒ ÁN Trang 4/18 CHƯƠNG GIỚI THIỆU VỀ ĐỀ TÀI 1.1 Tổng quang tách biên ảnh 1.1.1 Khái niệm tách biên ảnh - Giải thuật tách biên ảnh giải thuật sử dụng thông dụng vấn đề xử lý hình ảnh Tách biên ảnh ứng dụng nhiều xử lý ảnh nhận dạng hình ảnh quan tâm, cắt phân vùng hình ảnh chọn, tính tốn cạch biên tính chất ảnh 1.1.2 Cơ sở lý thuyế tách biên - Nhận thấy đạo hàm theo x hàm khơng phụ thuộc x Tách biên phương pháp tách ảnh theo gián đoạn cường độ Sự gián đoạn nhận biết cách sử dụng đạo hàm Ý tưởng giải thuật tách biên ảnh tìm điểm ảnh có cưởng độ thay đổi nhanh cách lấy điểm ảnh có đạo hàm cường độ sáng có biên độ ngưỡng Trong xử lý ảnh đạo hàm bâc sử dụng Gradient đạo hàm bậc hai sử dụng toán tử Laplace - Gradient định nghĩa với dạng vectơ: ∂f G x ∂x ∇f = = ∂f G y ∂y Biên độ vectơ Gradient: [ ∇f = mag(∇f ) = G x2 + G y2 ] 1/ [ = ( ∂f / ∂x ) + ( ∂f / ∂y ) ] 1/ ∇f ≈ G x + G y Ý nghĩa giá trị chúng vùng có cường độ không đổi, giá trị chúng tỷ lệ với bậc biến thiên cường độ vùng có giá trị cường độ điểm ảnh biến thiên Giải thuật tách biên ngôn ngữ Verilong/vhdl SVTH: Nguyễn Trường Giang ĐỒ ÁN Trang 5/18 Do phép tính Gradient phức tạp ta đưa ước đốn đạo hàm G x Gy theo phương pháp số sau: - Bộ tách biên Sobel: Bộ tách biên Sobel sử dụng mặt nạ Sobel để tạo xấp xỉ đạo hàm Gx Gy z1 z2 z3 z4 z5 z6 z7 z8 z9 Image neighborhood -1 -1 -1 0 -2 1 -1 Sobel Hình 1-1: Bộ lọc Sobel Ta có: G x = ( z + z8 + z9 ) − ( z1 + z + z3 ) G y = ( z3 + z + z9 ) − ( z1 + z + z ) Ta tính biên độ: [ g = G x2 + G y2 ] 1/ = {[( z + z + z ) − ( z1 + z + z )] + [( z + z + z ) − ( z1 + z + z )] }1 / Sau tính biên độ G, ta tiến hành so sánh G với ngưỡng T G ≥ T G xem pixel biên Giải thuật tách biên ngôn ngữ Verilong/vhdl SVTH: Nguyễn Trường Giang ĐỒ ÁN Trang 6/18 Bộ lọc Sobel lọc ảnh dùng để tách biên thơng dụng dễ sử dụng, có độ xác cao - Bộ tách biên Prewitt: Nguyên lý giống với phương pháp sử dụng tách biên Sobel, khác sử dụng mặc nạ Prewitt z1 z2 z3 z4 z5 z6 z7 z8 z9 Image neighborhood -1 -1 -1 -1 0 -1 1 1 -1 Prewitt Hình 1-2: Bộ lọc Prewitt Ta có: Gx = ( z + z8 + z9 ) − ( z1 + z + z3 ) G y = ( z3 + z + z9 ) − ( z1 + z + z ) Bộ tách biên Prewitt đơn giản Sobel - Bộ tách biên Roberts Phương pháp giống với phương pháp Sobel Prewitt, khác sử dụng mặc nạ Roberts Giải thuật tách biên ngôn ngữ Verilong/vhdl SVTH: Nguyễn Trường Giang ĐỒ ÁN Trang 7/18 z1 z2 z3 z4 z5 z6 z7 z8 z9 Image neighborhood -1 0 -1 1 Roberts Hình 1-3: Bộ lọc Roberts Ta có: G x = z9 − z5 G y = z8 − z Giải thuật tách biên ngôn ngữ Verilong/vhdl SVTH: Nguyễn Trường Giang ĐỒ ÁN Trang 8/18 Bộ tách biên Roberts tách biên xử lý ảnh số Bộ tách biên sử dụng có độ xác thấp cấu trúc 2x2 khơng đối xứng khơng có tâm 1.2 Giới thiệu ngơn ngữ Verilog DE2 1.2.1 Khái niệm - Verilog ngôn ngữ mô tả phần cứng (Hardware Description Language) sử dụng việc thiết kế các hệ thống số, mạch tích hợp Cùng với ngơn ngữ VHDL, Verilog hai ngôn ngữ mô tả phần cứng phổ biến - Verilog có đặc điểm tính độc lập cơng nghệ, dễ dàng thiết kế debug, tính đơn giản so với thiết kế sơ đồ khối (schematics), đặc biệt việc thiết kế hệ thống phức tạp - Verilog lần đầu giới thiệu vào năm 1984 công ty Gateway Design Automatic Verilog khơng chuẩn hóa chỉnh sửa hầu hết phiên sau từ năm 1984 đến năm 1990 Năm 1995 Verilog thức chuẩn hóa tổ chức IEEE - Nhiều người cho Verilog dễ học sử dụng VHDL nhờ cú pháp giống với ngôn ngữ C (ngôn ngữ dạy hầu hết trường đại học, cao đẳng) Tuy hai ngôn ngữ Verilog VHDL sinh Mỹ Verilog lại dùng phổ biến - Verilog dùng để xây dựng ứng dụng công nghệ FPGA, CPLDs…Code Verilog dùng để mô tả hệ thống số xây dựng thiết bị lập trình hãng Xilinx, Altera, hay Amtel… 1.2.2 Cấu trúc BehaviorModeling: - Trong Behavior Modeling, bạn mô tả chức mạch cấu trúc mạch Hành vi output mô tả theo mối quan hệ với input Phía ví dụ HDL code hướng hành vi Ở đây, mô tả thao tác dịch bit Kiểu mơ hình dựa vào synthesis engine để tạo mạch thực hành vi mô tả if (en_shf) begin data_out