Show
Nhận diện hình ảnh_Thuật toán Phát hiện cạnh Canny
No Comments 1 Thuật toán Phát hiện cạnh Canny Bước 1: Giảm nhiễu Thông thường để giảm nhiễu sử dụng các bộ lọc làm mờ. Có thể sử dụng bộ lọc Gaussian để tích chập với ảnh: Bước 2: Tính độ lớn và góc của Gradient Roberts, Prewitt, Sobel.Tính đạo hàm ( ) và ( ) theo chiều x và y của ảnh. Một số bộ lọc như: Bộ lọc Sobel 3×3: Bước 3: chặn không cực đại (Non-Maximum Surpression) Bước này chỉ giữ lại những pixel thuộc cạnh mà có độ lớn gradient lớn nhất Xem xét 3 pixel trong vùng 3 x 3 xung quanh pixel (x,y): Nếu θ(x, y) = 00 thì (x+1, y), (x, y) và (x-1, y) được xem xét. Nếu θ(x, y) = 900 thì (x, y+1), (x, y) và (x, y-1). Nếu θ(x, y) = 450 thì (x+1, y+1), (x, y) và (x-1, y-1). Nếu θ(x, y) = 1350 thì (x-1, y+1), (x, y) và (x+1, y-1). Nếu pixel (x, y) có gradient lớn nhất của 3 pixel xem xét thì pixel đó là cạnh. Bước 4: Ngưỡng Hysteresis (Hysteresis Thresholding) Hysteresis sử dụng 2 ngưỡng, ngưỡng thigh và tlow. Pixel mà có độ lớn gradient D < tlow thì được loại ngay lập tức. Những pixel tlow < D < thigh được giữ lại nếu là một cạnh liên tục với những pixel có độ lớn gradient D > thigh. 2 Cài đặt thuật toán phát hiện cạnh bằng OpenCV Xây dựng class Canny như sau: class Canny public: int CannyEdgeDetection(char *path); Hàm CannyEdgedetection: int Canny::CannyEdgeDetection(char *path) IplImage *grayImg, *blurImg; blurImg = cvCreateImage(cvGetSize(_srcImg), IPL_DEPTH_8U, 1); cvSmooth(grayImg, blurImg, CV_GAUSSIAN, 5, 5); cvNamedWindow(Blur Image); _destImg = cvCreateImage(cvGetSize(_srcImg), IPL_DEPTH_8U, 1); cvNamedWindow(Canny Edge Detection); cvShowImage(Canny Edge Detection,_destImg); return 1; 3 Bài tập Viết chương trình phát hiện biên cạnh dựa vào thuật toán Canny như trong mục 1. Tài liệu tham khảo [1] Canny, J., A Computational Approach To Edge Detection, IEEE Trans. Pattern Analysis and Machine Intelligence, 8(6):679698, 1986.
Sản phẩm được quan tâm Giới thiệu về chúng tôi Nhận bài viết mớiCác bài viết chia sẻ đến cộng đồng rất chât lượng, mang lại rất nhiều kiến thức mới. Đừng bỏ lỡ bất kỳ bài viết nào của chung tối, hãy đăng ký để nhận bài viết mới qua Mail của bạn Liên hệ ngay bây giờ Đăng ký để không bỏ lỡ bài viết nào!
If you are a human and are seeing this field, please leave it blank. Fields marked with an * are required
Bài mới
Danh mụcDanh mụcMore from our blogSee all postsGiáo trình RoboconRobocon đã được tổ chức từ năm 2002.Cuộc thi này đã cuốn Continue reading Giới thiệu các loại board Esp8266 dành cho IoT và thiết lập cơ bản cho người mới họcPhần này là chúng ta sẽ thiết lập chip ESP8266. Ta sẽ Continue reading Hướng dẫn sử dụng LoraEasyV1LoRa sử dụng kỹ thuật điều chế gọi là Chirp Spread Spectrum. Continue reading Tài liệu tự học Python tiếng Việt cho người mới bắt đầuHiện nay, Python là một trong những ngôn ngữ lập trìnhđang được Continue reading Tương lai của kết nối IoT (Internet of Things) tiềm năng và sự đa dạngVới công nghệ kết nối mọi thành phần đã mở ra các Continue reading HƯỚNG DẪN LẤP RÁP XE MÔ HÌNH 4 BÁNH1.Các bộ phận của trò chơi: 2.Các bước lắp ráp: Bước 1: Continue reading HƯỚNG DẪN LẮP RÁP XE CHẠY BẰNG NĂNG LƯỢNG MẶT TRỜI1.Các bộ phận của trò chơi: 2.Các bước lắp ráp: Bước 1: Continue reading HƯỚNG DẪN LẮP RÁP MÔ HÌNH XE CHẠY BẰNG SỨC GIÓ1.Các bộ phận của trò chơi: 2.Các bước lắp ráp: Bước 1: Continue reading Prev. Post All Posts Next Post No Comments Leave a Comment cancelSave my name, email, and website in this browser for the next time I comment.
|