(Đồ án hcmute) ứng dụng kit raspberry pi vào xử lý ảnh

79 11 0
(Đồ án hcmute) ứng dụng kit raspberry pi vào xử lý ảnh

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐIỆN - ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN - ĐIỆN TỬ ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH GVHD: ThS NGUYỄN DUY THẢ O SVTH: LÊ ĐỨC THUẬN MSSV: 10101134 SVTH: VÕ VĂN HOÀNG MSSV: 10101045 SKL 0 Tp Hồ Chí Minh, tháng 2/2016 an BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬTTP HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP ĐỒ ÁN TỐT NGHIỆP HCMUTE Đề tài:ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN - ĐIỆN TỬ SVTH: LÊ ĐỨC THUẬN MSSV: 10101134 SVTH: VÕ VĂN HOÀNG MSSV: 10101045 GVHD: ThS NGUYỄN DUY THẢO Tp Hồ Chí Minh, 2/2016 an TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC TP HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ Tp HCM, ngày 15 tháng năm 2016 PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Võ Văn Hoàng MSSV: 10101045 Lê Đức Thuận MSSV: 10101134 Chuyên ngành: Kỹ thuật Điện - Điện tử Mã ngành: 01 Hệ đào tạo: Đại học quy Mã hệ: Khóa: 2010 Lớp: 101011 Họ tên sinh viên: Thông tin đề tài Tên đề tài: ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH Mục đích đề tài: Đồ án tốt nghiệp thực tại: Bộ môn Điện Tử Công Nghiệp, Khoa Điện - Điện Tử, Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh Thời gian thực hiện: Từ ngày 10/10/2015 đến 15/01 /2016 Các nhiệm vụ cụ thể đề tài - Tìm hiểu tổng quan kit raspberry pi - Tìm hiểu tổng quan xử lý ảnh - Xử lý ảnh kit Raspberry Pi - Kết thực Lời cam đoan sinh viên Chúng – Lê Đức Thuận Võ Văn Hồng cam đoan ĐATN cơng trình nghiên cứu thân hướng dẫn thạc sỹ Nguyễn Duy Thảo Các kết công bố ĐATN trung thực không chép từ cơng trình khác Tp.HCM, ngày 15 tháng 01 năm 2016 SV thực đồ án Lê Đức Thuận Võ Văn Hoàng Tp.HCM, ngày 15 tháng 01 năm 2016 Giáo viên hướng dẫn Xác nhận Bộ Môn (Ký ghi rõ họ tên học hàm học vị) xi an TRƯỜNG ĐẠI HỌC SPKT TPHCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Khoa Điện - Điện Tử Độc lập - Tự - Hạnh phúc Bộ Mơn Điện Tử Cơng Nghiệp Tp Hồ Chí Minh, ngày 15 tháng 01 năm 2016 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Lê Đức Thuận Lớp: 101011A MSSV: 10101134 Họ tên sinh viên 2: Võ Văn Hoàng Lớp: 101011A MSSV: 10101045 Tên đề tài: ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH Tuần/ngày Xác nhận GVHD Nội dung Chuẩn bị kit Raspberry 10/10-30/10 Tìm hiểu kit Raspbery Pi 30/10 – 10/11 Tìm hiểu ngôn ngữ lập trình Python 10/11 – 5/12 Tìm hiểu lý thuyết xử lý ảnh 5/12 – 25/12 Xử lý ảnh kit Raspberry Pi 25/12 – 15/01 Hoàn Thiện Đồ Án GV HƯỚNG DẪN (Ký ghi rõ họ tên) xii an LỜI CẢM ƠN Trong thời gian làm đồ án tốt nghiệp, nhận nhiều giúp đỡ, đóng góp ý kiến bảo nhiệt tình thầy cơ, gia đình bạn bè Chúng xin gửi lời cảm ơn chân thành đến Thạc sỹ Nguyễn Duy Thảo, giảng viên Bộ môn Điện Tử Công Nghiệp trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh người tận tình hướng dẫn, bảo chúng tơi suốt q trình làm khố luận Chúng tơi xin chân thành cảm ơn thầy cô giáo trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh nói chung, thầy cô Bộ môn Điện Tử Công Nghiệp nói riêng dạy dỗ cho chúng tơi kiến thức môn đại cương môn chun ngành, giúp chúng tơi có sở lý thuyết vững vàng tạo điều kiện cho q trình học tập Cuối cùng, chúng tơi xin chân thành cảm ơn gia đình bạn bè, tạo điều kiện, quan tâm, giúp đỡ, động viên chúng tơi suốt q trình học tập hồn thành khoá luận tốt nghiệp Tp.HCM, ngày 15 tháng 01 năm 2016 Sinh Viên Thực Hiện Lê Đức Thuận Võ Văn Hoàng i an MỤC LỤC PHẦN A: GIỚI THIỆU Danh mục hình vi Các từ viết tắt ix PHẦN B: NỘI DUNG CHƯƠNG 1:GIỚI THIỆU YÊU CẦU – GIỚI HẠN CỦA ĐỀ TÀI 1.1 Giới thiệu 1.2 Mục tiêu .1 CHƯƠNG KIT RASPBERRY PI 2.1 Kit Raspberry Pi .2 2.1.1 Giới thiệu tổng quan 2.1.2 Các phiên kit Raspberry Pi 2.1.3 Các kết nối với Raspberry Pi .4 2.1.4 Hệ điều hành – phần mềm 2.1.5 Cài đặt phần mềm cho kit Raspberry Pi 2.2 Ngơn ngữ lập trình Python 2.2.1 Giới thiệu Python .7 2.2.2 Đặc điểm ngôn ngữ Python .7 CHƯƠNG TỔNG QUAN VỀ XỬ LÝ ẢNH 3.1 Giới thiệu 3.1.1 Hệ thống xử lý ảnh 3.1.2 Các thành phần hệ thống xử lý ảnh 10 3.2 Các khái niệm 10 3.2.1 Ảnh điểm ảnh 10 3.2.2 Phân loại ảnh 11 3.2.3 Độ phân giải 11 3.2.4 Điểm ảnh lân cận 11 3.3 Không gian màu 12 3.3.1 Không gian màu RGB 12 3.3.2 Không gian màu CMYK 13 ii an 3.3.3 Không gian màu HSV 13 3.4 Phóng to, thu nhỏ xoay ảnh 14 3.4.1 Biến đổi Affine 14 3.5 Xử lý hình thái học ảnh 15 3.5.1 Phần tử cấu trúc 15 3.5.2 Phép toán co (Erosion) 17 3.5.3 Phép toán giãn nở (Dialtion) 18 3.5.4 Phép tốn mở (opening) đóng (closing) 18 3.6 Tách biên ảnh 19 3.6.1 Tách biên theo đạo hàm bậc 21 3.6.2 Phát biên theo đạo hàm bậc 21 3.6.3 Bộ tách biên Canny 23 3.7 Chuyển đổi Hough cho đường thẳng, đường tròn 23 3.7.1 Chuyển đồi Hough cho đường thẳng 23 3.7.2 Chuyển đồi hough cho đường tròn 24 3.8 Xử lý điểm 24 3.8.1 Xử lý lược đồ (Histogram) 25 3.8.2 Cân Histogram 25 CHƯƠNG ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH 29 4.1 Chuyển đổi không gian màu 29 4.1.1 Chuyển đổi RGB sang CMYK ngược lại 29 4.1.2 Chuyển đổi RGB sang HSV ngược lại 29 4.1.3 Lưu đồ giải thuật 30 4.1.4 Code lập trình kit Raspberry Pi 32 4.1.5 Kết 33 4.2 Phóng to, thu nhỏ xoay ảnh 34 4.2.1 Lưu đồ giải thuật 34 4.2.2 Code lập trình kit Raspberry Pi 35 4.2.3 Kết 35 4.3 Pha trộn hình ảnh 35 4.3.1 Lưu đồ giải thuật 36 4.3.2 Code lập trình kit Raspberry Pi 37 iii an 4.3.3 Kết 37 4.4 Xử lý hình thái học ảnh 38 4.4.1 Các bước thực phép co ảnh ảnh nhị phân 38 4.4.2 Các bước thực phép giãn nở ảnh ảnh nhị phân 38 4.4.3 Các bước thực phép mở ảnh đóng ảnh 38 4.4.4 Lưu đồ giải thuật 39 4.4.5 Code lập trình kit Raspberry Pi 41 4.4.6 Kết thực ảnh nhị phân 42 4.5 Bộ tách biên Canny 43 4.5.1 Các bước tìm biên dùng phương pháp Canny 43 4.5.2 Lưu đồ giải thuật 46 4.5.3 Code lập trình kit Raspberry Pi 47 4.5.4 Kết 47 4.6 Chuyển đồi Hough, phát đường thẳng, đường tròn ảnh 48 4.6.1 Chuyển đổi Hough cho đường thẳng 48 4.6.2 Chuyển đổi Hough cho đường tròn 48 4.6.3 Lưu đồ giải thuật 49 4.6.4 Code lập trình kit Raspberry Pi 50 4.6.5 Kết 52 4.7 So khớp mẫu 53 4.7.1 Lưu đồ giải thuật 55 4.7.2 Code lập trình kit Raspberry Pi 56 4.7.3 Kết 57 4.8 Xử lý lược đồ 58 4.8.1 Vẽ Histogram ảnh 58 4.8.2 Cân histogram 58 4.8.3 Lưu đồ giải thuật 59 4.8.4 Code lập trình kit Raspberry Pi 61 4.8.5 Kết 62 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 63 5.1 Kết luận 63 5.2 Hướng phát triển 63 iv an TÀI LIỆU THAM KHẢO 64 PHỤ LỤC x v an DANH MỤC HÌNH Hình 2.1 Kit Raspberry Pi Hình 2.2 Sơ đồ GPIO Hình 2.3 Các cổng giao tiếp ngoại vi Hình 2.4 Ghi phần mềm vào thẻ nhớ Hình 3.1 Các lĩnh vực nghiên cứu xử lý ảnh số Hình 3.2 Các thành phần hệ thống xử lý ảnh đa dụng 10 Hình 3.3 Ảnh với độ phân giải khác 11 Hình 3.4 Các dạng lân cận 12 Hình 3.5 Mơ hình hệ màu RGB 12 Hình 3.6 Mơ hình hệ màu CMYK 13 Hình 3.7 Khơng gian màu HSV 14 Hình 3.8 Hình trịn biểu diễn màu sắc (Hue) 14 Hình 3.9 Mơ tả phép biến đổi phóng to ảnh lần 15 Hình 3.10 Mơ tả phép quay ảnh với góc 𝜃 15 Hình 3.11 Một số hình dáng phần tử cấu trúc phẳng 16 Hình 3.12 Một mặt nạ xác định hàng xóm phần tử cấu trúc khơng phẳng 16 Hình 3.13 Ma trận giá trị thực tương ứng với hàng xóm phần tử cấu trúc không phẳng 16 Hình 3.14 Một số cấu trúc phần tử ảnh 17 Hình 3.15 Ví dụ phép co ảnh 17 Hình 3.16 Ví dụ phép giãn ảnh 18 Hình 3.17 Các mơ hình biên 19 Hình 3.18 Biên xét theo hai chiều 20 Hình 3.19 Mơ hình biên bước biên dốc 20 Hình 3.20 Thực chuyển vị phẳng với cửa sổ trung bình 2x2 20 Hình 3.21 Gradient theo hàng cột ảnh 21 Hình 3.22 biểu diễn đường thẳng tọa độ cực 24 Hình 3.23 Histogram ảnh cho thiếu sáng 25 Hình 3.24 Hàm biến đổi tăng đơn điệu với tượng nhiều giá trị mức xám 26 Hình 3.25 Hàm PDF kết chuyển đổi biểu thức (3.22) 27 vi an ĐỒ ÁN TỐT NGHIỆP #tach bien Canny edges = cv2.Canny(gray,50,150,apertureSize = 3) #tim duong thang lines = cv2.HoughLines(edges,1,np.pi/180,200) for rho,theta in lines[0]: a = np.cos(theta) b = np.sin(theta) x0 = a*rho y0 = b*rho x1 = int(x0 + 1000*(-b)) y1 = int(y0 + 1000*(a)) x2 = int(x0 - 1000*(-b)) y2 = int(y0 - 1000*(a)) #ve duong thang cv2.line(img,(x1,y1),(x2,y2),(1,1,255),1) cv2.imwrite('dupngthang.jpg',img) cv2.imshow('duongthang',img) cv2.imshow('anhgoc',img1) #xuat ket qua cv2.waitKey(0) cv2.destroyAllWindows() Code chuyển đổi Hough tìm đường tròn ảnh import cv2 import numpy as np #khai bao thu vien img = cv2.imread('logoopencv.png',0) imggoc = cv2.imread('logoopencv.png') #load anh img = cv2.medianBlur(img,5) cimg = cv2.cvtColor(img,cv2.COLOR_GRAY2RGB) #tim duong tron circles=cv2.HoughCircles(img,cv2.cv.CV_HOUGH_GRADIENT,1,60, param1=50,param2=30,minRadius=0,maxRadius=0) circles = np.uint16(np.around(circles)) for i in circles[0,:]: # draw the outer circle cv2.circle(cimg,(i[0],i[1]),i[2],(0,255,0),2) # draw the center of the circle CHƯƠNG 4:ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH an 51 ĐỒ ÁN TỐT NGHIỆP cv2.circle(cimg,(i[0],i[1]),2,(0,0,255),3) cv2.imshow('ket qua',cimg) cv2.imwrite('duongtron.jpg',cimg) cv2.imshow('anh goc',imggoc) cv2.waitKey(0) cv2.destroyAllWindows() 4.6.5 Kết quả Hình 4.31 Ảnh ban đầu Hình 4.32 Kết sau tìm đường thẳng Hình 4.32 kết thu sau tìm đường thẳng dùng biến đổi Hough từ ảnh ban đầu 4.31 Đường thẳng tìm đường màu đỏ Hình 4.33 Ảnh ban đầu Hình 4.34 Ảnh sau tìm đường trịn Hình 4.33 ảnh ban đầu trước ta dùng biến đổi Hough để tìm đường trịn ảnh Các đường trịn tìm có viền màu xanh Tâm đường trịn điểm ảnh màu đỏ CHƯƠNG 4:ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH an 52 ĐỒ ÁN TỐT NGHIỆP 4.7 So khớp mẫu [8] So khớp mẫu (Template Matching) nhóm kỹ thuật nhằm phân loại đối tượng dựa vào mức độ tương tự đối tượng xem xét với mẫu (template hay sample) cho trước Trong phần đề cập tới hướng đơn giản Template Matching, ứng dụng để giải yêu cầu cụ thể sau: cho trước mẫu (sample) hình (source image) đa mức xám (grayscale) lớn mẫu Xác định xem đối tượng mẫu có xuất hình hay khơng, có khoanh vùng khu vực tương ứng Bài tốn toán sử dụng mẫu để nhận dạng đối tượng cho Hình 4.35 Sử dụng mẫu để nhận dạng đối tượng Quá trình Matching tiến hành cách quét hình mẫu từ trái sang phải, từ xuống cho tâm di chuyển qua tất vị trị hình xem xét tính giá trị tham số phân loại vị trí đó, tham số nói lên mức độ khớp mẫu với đối tượng xuất vị trí tương ứng tính tốn hình cho Đảm bảo hình mẫu ln nằm lọt hình xem xét Như q trình Matching hồn tất dựa sơ xem xét với điểm ảnh Hình 4.36 So sánh hình với mẫu CHƯƠNG 4:ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH an 53 ĐỒ ÁN TỐT NGHIỆP Vấn đề lớn biết đối tượng hình khớp với mẫu Việc dựa vào giá trị mà gọi tham số phân loại Từ tham số phân loại vị trí (pixel) thực so sánh với giá trị ngưỡng K (threshold) (chọn dựa vào kinh nghiệm yêu cầu) để định vị trí có tồn đối tượng với mức độ tương tự chấp nhận với mẫu hay không Một số phương pháp để tính tham số phân loại: Thứ dựa vào khoảng cách Euclidean (Euclidean distance) ( ) 𝑑 (𝐼, 𝑔, 𝑟, 𝑐 ) = √∑𝑛𝑖=1 ∑𝑚 𝑗=1(𝐼 𝑟 + 𝑖, 𝑐 + 𝑗 − 𝑔(𝑖, 𝑗)) (3.9) Trong đó: I hình cho G mẫu có kích thước n×m (r, c) tọa độ vị trí góc cao bên trái mẫu G hình I Thứ hai dựa vào độ tương tự (Correlation) (3.10) ) Trong : x hình mẫu 𝑥̅ giá trị mức xám trung bình hình mẫu y vùng tính tốn tương ứng với hình mẫu hình cho 𝑦̅ trung bình mức xám y N số điểm ảnh vùng tính tốn (N = kích thước mẫu = n x m) CHƯƠNG 4:ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH an 54 ĐỒ ÁN TỐT NGHIỆP 4.7.1 Lưu đồ giải thuật Hình 4.37 Lưu đồ giải thuật so khớp mẫu Ở lưu đồ hình 4.37, sau có ảnh gốc ảnh mẫu ta xét điểm ảnh Tại điểm ta tính tốn tham số phân loại dựa vào số phương pháp đề cập Giá trị so sánh với giá trị cho trước để định xem có mẫu ảnh hay không CHƯƠNG 4:ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH an 55 ĐỒ ÁN TỐT NGHIỆP 4.7.2 Code lập trình kit Raspberry Pi [4] import cv2 import numpy as np #khai bao img_rgb = cv2.imread('mario.png') anhgoc = cv2.imread('mario.png') #load anh goc img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)#chuyen qua anh xam template = cv2.imread('mario_coin.png',0) anhmau = cv2.imread('mario_coin.png',1) #load anh mau w, h = template.shape[::-1] #tim anh mau anh goc res=cv2.matchTemplate(img_gray,template,cv2.TM_CCOEFF_NORME D) threshold = 0.8 loc = np.where( res >= threshold) #ve duong bao anh tim duoc for pt in zip(*loc[::-1]): cv2.rectangle(img_rgb, pt, (pt[0] + w, pt[1] + h), (255,255,255),1) cv2.imwrite('nhandang.jpg',img_rgb) #save image cv2.imshow('anhgoc',anhgoc) cv2.imshow('anhmau',anhmau) cv2.imshow('ketqua',img_rgb) #xuat anh cv2.waitKey(0) #load key cv2.destroyAllWindows() #close all windowns CHƯƠNG 4:ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH an 56 ĐỒ ÁN TỐT NGHIỆP 4.7.3 Kết quả Hình 4.38 Hình ảnh ban đầu Hình 4.39 Ảnh mẫu Hình 4.40 Kết sau tìm kiếm Hình 4.40 kết sau tìm ảnh mẫu đồng xu vàng (hình 4.39) ảnh ban đầu (hình 4.38) Các đồng xu tìm vẽ hình bao màu trắng CHƯƠNG 4:ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH an 57 ĐỒ ÁN TỐT NGHIỆP 4.8 Xử lý lược đồ Histogram ảnh biểu đồ nói lên mối quan hệ giá trị pixel ảnh (điểm ảnh) tần suất xuất chúng Nhìn vào biểu đồ histogram ta đoán ảnh sáng tối 4.8.1 Vẽ Histogram ảnh Để vẽ vẽ biểu đồ Histogram ảnh, ta phải tạo biểu đồ có trục tung hồnh Ox biểu diễn giá trị mức xám ảnh, trục tung Oy biểu diễn số điểm ảnh tương ứng với giá trị mức xám Ứng với giá trị mức xám trục Ox, ta xét điểm ảnh Nếu giá trị mức xám điểm ảnh xét giá trị mức xám trục Ox ta vẽ cột cao lên đơn vị Như ta xét giá trị mức xám đem giá trị so sánh với giá trị điểm ảnh Đó nội dung ý tưởng thuật tốn vẽ lược đồ Histogram ảnh 4.8.2 Cân Histogram Cân histogram (histogram equalization) phương pháp làm cho biểu đồ histogram ảnh phân bố cách đồng Để cân histogram ảnh ta làm sau: Đầu tiên ta vẽ biểu đồ histogram ảnh, ta tìm mảng số mức xám ảnh (rk) số pixel (nk) Gọi L số mức xám (thường 256), n tổng số pixel ảnh Ứng với giá trị mức xám mảng rk ta có số pixel có giá trị tương ứng mảng nk Ta tìm giá trị mức xám theo công thức: 𝑠𝑘 = ∑𝑘𝑗=0 𝑛𝑗 𝑛 (𝐿 − 1) (3.11) Giá trị sk làm trịn Sau ta thay giá trị mức xám ban đầu (rk) thành mức xám sk tương ứng vẽ lại biểu đồ CHƯƠNG 4:ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH an 58 ĐỒ ÁN TỐT NGHIỆP 4.8.3 Lưu đồ giải thuật BEGIN Nhập ảnh Khởi tạo bins Tạo kích thước biểu đồ Ảnh xám S Chuyển qua ảnh xám Đ Bins cuối Đ S Điểm ảnh cuối Đ S intensity bins S Đ Hight bins ++ Điểm ảnh Bins Vẽ biểu đồ END Hình 4.41 Lưu đồ giải thuật vẽ histogram Ở lưu đồ hình 4.41 ta tạo bins để tạo kích thước biểu đồ cần vẽ Ảnh gốc chuyển qua ảnh xám sau ta xét điểm ảnh Ở điểm ảnh ta đem so sánh xem giá trị mức xám điểm ảnh có nằm bins mak ta quy định hay k, thuộc bins ta tăng chiều cao bins lên Chúng ta xét hết tất điểm ảnh sau vẽ biểu đồ CHƯƠNG 4:ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH an 59 ĐỒ ÁN TỐT NGHIỆP BEGIN Nhập ảnh Đọc ảnh (f) L=256 i=0,j=0,k=0 i L S Đ 1 S (i )  ( L  1)   h  i j  Số hàng S Đ S k  Số cột Đ g( j, k)  S( f ( j, k) 1) END Hình 4.42 Lưu đồ giải thuật cân histogram Để xây dựng luu đồ giải thuật cân histogram sau có ảnh nhập vào ta vẽ biểu đồ histogram ảnh Sau tính tốn l ại giá trị mức xám điểm ảnh cho tất điểm ảnh có mức xám đồng CHƯƠNG 4:ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH an 60 ĐỒ ÁN TỐT NGHIỆP 4.8.4 Code lập trình kit Raspberry Pi [4] import cv2 import numpy as np import cv bins = np.arange(256).reshape(256,1) im = cv2.imread('thieusang.jpg') gray = cv2.cvtColor(im, cv2.COLOR_RGB2GRAY) #chuong trinh ve thi histogram def hist_lines(im): h = np.zeros((300,256,3)) hist_item = #tao anh moi de ve bieu cv2.calcHist([im],[0],None,[256],[0,256]) #tinh toan histogram cv2.normalize(hist_item,hist_item,0,255,cv2.NORM_MINMAX) #chuan hoa du lieu hist=np.int32(np.around(hist_item)) #lam tron du lieu for x,y in enumerate(hist): cv2.line(h,(x,0),(x,y),(255,255,255))#ve duong len anh 'h' y = np.flipud(h) #dao nguoc anh 'h' return y cv2.imshow('image',im) lines = hist_lines(gray) #ve luoc histogram anh xam cv2.imshow('histogram',lines) cv2.imshow('gay',gray) cv2.imwrite('img_gray_histogram.jpg',gray) cv2.imwrite('bieudo_histogram.jpg',lines) equ = cv2.equalizeHist(gray) #Can bang histogram lines_equ = hist_lines(equ) #ve luoc histogram anh sau can bang cv2.imshow('histogram_equ',lines_equ) cv2.imshow('equ',equ) cv2.imwrite('Img_qk_histogram.jpg',lines_equ) cv2.imwrite('QK_luocdo_histogram.jpg',equ) cv2.waitKey(0) cv2.destroyAllWindows() CHƯƠNG 4:ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH an 61 ĐỒ ÁN TỐT NGHIỆP 4.8.5 Kết quả Hình 4.43 Ảnh ban đầu Hình 4.44 Ảnh sau cân histogram Hình 4.45 Biểu đồ histogram ảnh xám Hình 4.46 Biểu đồ histogram sau cân Như hình 4.43 ban đ ầu, hình 4.45 biểu đồ histogram ảnh ban đầu Hình 4.44 ảnh sau thực cân histogram hình 4.46 biểu đồ histogram ảnh 4.44 CHƯƠNG 4:ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH an 62 ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 Kết luận - Với mục tiêu thực toán phổ biến đơn giản xử lý ảnh kit raspberry pi hoàn thành mục tiêu đề theo thời gian quy định - Số lượng toán thực đề tài - Các phương pháp mà nhóm sử dụng tham khảo giáo trình “Xử Lý Ảnh” TS.Nguyễn Thanh Hải 5.2 Hướng phát triển đề tài Sau hoàn thành đề tài, nhóm thực muốn xem phần kiến thức để bạn đam mê cơng nghệ lập trình nhúng, sinh viên khóa sau phát triển đề tài theo hướng rộng hơn, sâu hơn:  Mở rộng ứng dụng kit Raspberry Pi nhiều lĩnh vực khác xử lý tín hiệu số (DSP), xử lý video, âm thanh…  Từ toán so khớp mẫu phát triển thành ứng dụng nhận dạng khuôn mặt, biển số xe, chấm công … TÀI LIỆU THAM KHẢO 63 an ĐỒ ÁN TỐT NGHIỆP TÀI LIỆU THAM KHẢO Sách tham khảo [1] Nguyễn Thanh Hải, “Giáo trình xử lý ảnh” Trường ĐH Sư Phạm Kỹ Thuật TP.HCM, NXB ĐH Quốc gia TP.HCM, năm 2014 [2] Nguyễn Văn Long, “Ứng dụng xử lý ảnh thực tế với thư viện OpenCV”, năm 2010 [3] Huiyu Zhou, Jiahua Wu & Jianguo Zhang, “Digital Image Processing”, 2010 Website tham khảo [4] http://opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/py_imgproc/ py_table_of_contents_imgproc/py_table_of_contents_imgproc.html#py-table-ofcontent-imgproc [5] http://codientu.org/threads/7691/ [6] http://raspberrypi.vn/ [7] http://www.slideshare.net/lienkbn/cng-mn-x-l-an [8 ] http://www.ieev.org/2009/06/template-matching.html [9 ] https://en.wikipedia.org/wiki/Python_(programming_language) TÀI LIỆU THAM KHẢO 64 an S an K L 0 ... kit raspberry pi, c ấu hình kit Raspberry Pi môi trường làm việc Python Chương 3: Giới thiệu xử lý ảnh, kiến thức ảnh toán tử liên quan cho xử lý ảnh trình bày phần Chương 4: Cuối giải số toán... chúng tơi tập trung xử lý toán xử lý ảnh đơn giản phố biến kit Raspberry Pi Kết đề tài giới hạn phạm vi tài liệu hướng dẫn thực hành kit raspberry pi chưa áp dụng thực tiễn vào đời sống CHƯƠNG... học Raspberry Pi phát triển vào năm 2012 Hình 2.1 Kit Raspberry Pi CHƯƠNG 2: KIT RASPBERRY PI an ĐỒ ÁN TỐT NGHIỆP 2.1.2 Các phiên bản kit raspberry pi Version Model A Loại thẻ nhớ SD-Card GPIO

Ngày đăng: 02/02/2023, 09:37

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

Tài liệu liên quan