Đồ án phân loại sản phẩm theo màu sắc và kích thước sử dụng MATLAB

36 2.3K 87
Đồ án phân loại sản phẩm theo màu sắc và kích thước sử dụng MATLAB

Đ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

Đồ án phân loại sản phẩm theo màu sắc và kích thước sử dụng MATLAB thông qua camera. Có file đính kèm code thử nghiệm và code trên Guide. Khi thực hiện yêu cầu kết nối với camera (có thể là usb cam hoặc webcam)

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 MÁY CHÍNH XÁC Chương XỬ LÝ ẢNH 4.1 LÝ THUYẾT XỬ LÝ ẢNH 4.1.1 Giới thiệu Trong năm gần đây, xử lý hình ảnh (image processing) đạt nhiều thành tựu tiến vượt bậc Trong đó, nhận dạng phân loại hình ảnh lĩnh vực theo đuổi cách tích cực Ý tưởng cốt lõi việc nhận dạng phân loại hình ảnh phân tích ảnh từ liệu thu cảm biến hình ảnh camera, Webcam… Nhờ hệ thống xử lý ảnh, người giảm khối lượng công việc tăng xác việc đưa định liên quan đến xử lý hình ảnh nhiều lĩnh vực: quân quốc phòng, robotics, hệ thống an ninh, dây chuyền sản xuất tự động… Nhận dạng phân tích ảnh lĩnh vực liên ngành Để thực tốt công việc nhận dạng phân tích này, đòi hỏi người nghiên cứu phải am hiểu nhiều lĩnh vực đặc biệt lĩnh vực liên quan tới cảm biến, hệ thống xử lý ảnh, giải thuật xử lý hình ảnh/tín hiệu, phần cứng phần mềm, hệ thống tích hợp… Mục đích báo cáo trình bày phương pháp nhận dạng phân loại sản phẩm theo màu sắc kích thước Theo đó, em trình bày sở lý thuyết việc xử lý ảnh, nhận dạng vật thể,chương trình MATLAB với hộp công cụ khảo sát xử lý ảnh Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 MÁY CHÍNH XÁC Quy trình xử lý ảnh bao gồm bước sau: Thu nhận ảnh Tiền xử lý ảnh Phân đoạn ảnh Xử lý ảnh Nhận dạng nội suy Cơ sở tri thức Hình 3.1: Các bước quy trình xử lý ảnh - Thu nhận ảnh (Image Acquisition): Có thể thu nhận ảnh màu ảnh đen trắng qua camera Chất lượng ảnh thu phụ thuộc vào thiết bị thu, ánh sáng … - Tiền xử lý ảnh (Image Processing): Có chức lọc nhiễu, nâng độ tương phản nhằm làm cho ảnh rõ hơn, nét hơn, sáng - Phân đoạn ảnh (Segmentation): Có chức chia ảnh thành vùng thành phần để phân tích nhận dạng ảnh - Xử lý ảnh (Image Process): Có chức loại bỏ nhiễu xung quanh đối tượng cần xử lý, giúp biểu diễn đặc tính ảnh chi tiết - Nhận dạng nội suy ảnh (Image Recognition and Interpretation): Nhận dạng ảnh cách so sánh với mẫu chuẩn lưu từ trước Nội suy dựa sở nhận dạng để phán đoán - Cơ sở tri thức (Knowledge Base): Xây dựng mở rộng phương pháp tiếp nhận xử lý ảnh theo trí tuệ người 4.1.2 Các vấn đề hệ thống xử lý ảnh • Điểm ảnh (Picture Element) Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 MÁY CHÍNH XÁC Gốc ảnh (ảnh tự nhiên) ảnh liên tục không gian độ sáng Để xử lý máy tính (số), ảnh cần phải số hoá Số hoá ảnh biến đổi gần ảnh liên tục thành tập điểm phù hợp với ảnh thật vị trí (khơng gian) độ sáng (mức xám) Khoảng cách điểm ảnh thiết lập cho mắt người không phân biệt ranh giới chúng Mỗi điểm gọi điểm ảnh (PEL: Picture Element) hay gọi tắt Pixel Trong khuôn khổ ảnh hai chiều, Pixel ứng với cặp tọa độ (x,y) Như vậy, điểm ảnh (Pixel) phần tử ảnh số toạ độ (x,y) với độ xám màu định Kích thước khoảng cách điểm ảnh chọn thích hợp cho mắt người cảm nhận liên tục không gian mức xám (hoặc màu) ảnh số gần ảnh thật Mỗi phần tử ma trận gọi phần tử ảnh • Độ phân giải ảnh Theo định nghĩa thi Pixel gồm cặp toạ độ (x,y) màu Độ phân giải ảnh tích số giá trị lớn x với giá trị lớn y Ví dụ: Màn hình máy tính có nhiều loại với độ phân giải khác nhau: hình CGA (Color Graphic Adaptor) có độ phân giải 320 x 200; hình VGA (Video Graphic Array) độ phân giải 1280 x 800 Rõ ràng hình có độ phân giải cao ta có cảm giác ‘mịn’ so với loại có độ phân giải thấp • Mức xám (Gray level) Mức xám kết mã hoá tương ứng cường độ sáng điểm ảnh với giá trị số – kết trình lượng tử hố Các thang giá trị mức xám thơng thường: 16,32,64,128,256 Trong mức 256 dùng phổ biến máy tính dùng byte (8 bit) để biểu Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 MÁY CHÍNH XÁC diễn mức xám, mà mức xám lại dùng byte để biểu diễn: 8=256 mức, tức từ mức đến mức 255 Ảnh đen trắng: ảnh có hai màu đen, trắng (khơng chứa màu khác ) với mức xám điểm ảnh khác Ảnh nhị phân: ảnh có mức đen trắng phân biệt tức dùng bit mô tả 21 mức khác hay điểm ảnh nhị phân chi có giá trị là Ảnh màu: với điểm ảnh người ta dùng byte để mơ tả mức màu (do giới màu tạo nên từ màu bản: đỏ (red), lục (blue) lam (green) Do có 28*3 =224=16,7 triệu màu • Biểu diễn ảnh Trong biểu diễn ảnh, người ta thường dùng phần tử đặc trưng ảnh pixel Do ta biểu diễn ảnh hàm biến chứa thơng tin Các mơ hình biểu diễn ảnh cho ta mô tả logic hay định lượng tính chất hàm Chất lượng ảnh tính hiệu kỹ thuật xử lý phụ thuộc vào nhiều yếu tố như: độ phân giải, nhiễu, Để xử lý ảnh, ảnh phải lấy mẫu (sample) lượng tử hoá (quantization) Tức chuyển từ ảnh tương tự sang ảnh số sau lưu giá trị điểm ảnh với số hữu hạn mức xám • Tăng cường khôi phục ảnh - Tăng cường ảnh (image enhancement): Khi ảnh chuyển từ dạng sang dạng khác trình như: truyền ảnh, quét ảnh,… ảnh nhận thường có chất lượng thấp so với ảnh ban đầu Để giúp người ta quan sát ảnh cách xác đòi hỏi phải có biện pháp để nâng cao chất lượng ảnh Quá trình gọi tăng cường ảnh (image enhancement) Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 MÁY CHÍNH XÁC Tăng cường ảnh giúp loại bỏ suy giảm (degradation) gây hệ thống xử lý kênh xử lý ảnh Ngày nay, nhu cầu phát triển hệ thống tự động cho việc xử lý hình ảnh ngày phát triển, kéo theo cần thiết việc loại bỏ sai số yếu tố nhiễu trình xử lý Do đó, tăng cường ảnh coi tập hợp kỹ thuật để nâng cao chất lượng hình ảnh đồng thời tập hợp ding để nâng cao độ xác trình tìm kiếm tự động chuyển đổi dạng ảnh • Khơi phục ảnh (image restoration): Khơi phục ảnh trình loại bỏ suy giảm (degradation) ảnh Có nhiều nguyên nhân dẫn đến suy giảm Khi camera không tập trung tiêu cự cách hợp lý dẫn đến ảnh bị ‘nhòe’ Khi chụp ảnh điều kiên thời tiết khơng thuận lợi: sương mù, qúa nắng nóng,… làm cho ảnh bị ‘nhòe’ Chụp ảnh vật chuyển động gây ‘nhòe’ cho ảnh Do có nhiều nguyên nhân gây nên suy giảm ảnh vậy, loại nguyên nhân phải có cách phục hồi khác Khơi phục ảnh phần lớn thực cách tìm giải thuật nhằm phục hồi lại thông tin bị thất lạc trình xử lý ảnh Chúng ta cần phân biệt tăng cường ảnh với khôi phục ảnh: tăng cường ảnh nhằm tăng chất lượng ảnh khơi phục ảnh nhằm đưa lại hình ảnh gốc ảnh bị suy giảm Các kỹ thuật tăng cường ảnh không áp dụng với khơi phục ảnh • Biến đổi ảnh (image transformation) Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 MÁY CHÍNH XÁC Thuật ngữ biến đổi ảnh thường dùng để nói tới kỹ thuật dùng để biến đổi ảnh Ở ảnh coi chuỗi tín hiệu chiều biểu diễn hàm sở Có nhiều biến đổi dùng như: biến đổi Fourier, cosin, sin, karhumen loeve,… • Phân tích ảnh (image analysis) Sau bước tiền xử lý ảnh, ảnh tăng cường hay khôi phục để làm đặc trưng chủ yếu Lúc bắt đầu đưa vào q trình phân tích Q trình phân tích ảnh gồm cơng đoạn: trích chọn đặc tính (feature extraction), phân đoạn ảnh (segmentation) thành phần tử Tuỳ theo mục đích việc xử lý, giai đoạn q trình phân tích ảnh nhận dạng ảnh (phân thành lớp có miêu tả) giải thích, miêu tả ảnh phân loại ảnh Ảnh vào Trích chọn Hình vẽ trang 115 đặc tính Phân đoạn Phân loại Giải thích Q trình tiền XL Hình Các bước phân tích ảnh Phân tích ảnh thường dựa việc phân tích đặc trưng ảnh: mật độ xám, phân bố xác suất, phân bố không gian, biên ảnh… • Nhận dạng ảnh (recognition of image partterns): Khi ảnh phân đoạn, nhiệm vụ nhận dạng vật thể vùng phân đoạn Mỗi vật thể thành phần ảnh giá trị đo đặc tính thành phần Một tập Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 MÁY CHÍNH XÁC vật thể có đặc tính giống gọi ‘lớp vật thể’ (pattern class) Theo định nghĩa, nhận dạng q trình phân loại đối tượng biểu diễn theo mơ hình gán cho chúng vào lớp (gán cho đối tượng tên gọi) dựa theo quy luật mẫu chuẩn Sự nhận dạng ảnh thường dựa nhiều tính chất vật với tính chất có kỹ thuật nhận dạng khác Ví dụ: Hình tròn hình chữ nhật Một số tính chất vật thể chiều diện tích, thể tích, chu vi, bề mặt,… đo thơng qua việc tính tốn số ‘pixel’ Tương tự vậy, hình dạng vật đặc trưng đường biên Mầu vật đặc điểm quan trọng dùng nhận dạng Kỹ thuật dùng để phát đặc tính vật thể gọi kỹ thuật trích chọn đặc tính (feature extraction) Khi vật thể miêu tả tập đặc tính Sự lựa chọn tách lấy tính chất thích hợp coi vấn đề nhận dạng ảnh • Phân loại thành phần ảnh (classification of image patterns) Phân loại cơng đoạn quan trọng q trình nhận dạng vật Đã có nhiều kỹ thuật phân loại sử dụng việc nhận dạng thành phần Một số kỹ thuật phân loại biết kỹ thuật lý thuyết xác Với kỹ thuật lý thuyết xác này, phân loại thành phần chưa biết định dựa số nguyên tắc xác định có ý nghĩa thống kê chí đơi chưa xác định rõ Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 MÁY CHÍNH XÁC 4.2 XỬ LÝ ẢNH VỚI MATLAB 4.2.1 Giới thiệu MATLAB MATLAB ngơn ngữ lập trình bậc cao dùng cho kỹ thuật Đồng thời mơi trường tương tác thực nhiều nhiệm vụ: phát triển giải thuật, phân tích liệu, tính tốn phép tính số học hình ảnh hóa liệu So với ngơn ngữ lập trình truyền thống C, C++ hay Fortran MATLAB có nhiều ưu điểm tích hợp hỗ trợ mạnh MATLAB sử dụng nhiều lĩnh vực ứng dụng bao gồm: sử lý tín hiệu hình ảnh, truyền thông, thiết kế điều khiển, kiểm tra đo lường, phân tích mơ hình hóa thơng tin tài chính, tính tốn hóa sinh… Ngồi ra, MATLAB tích hợp hộp cơng cụ (mỗi hộp gồm hệ thống hàm có chức đặc biệt MATLAB) nhằm giải lớp vấn đề cụ thể lĩnh vực ứng dụng khác MATLAB cung cấp nhiều đặc tính tiện lợi việc xử lý chia sẻ cơng việc Trong q trình làm việc với MATLAB, đoạn mã tích hợp với ngơn ngữ ứng dụng khác Hình 4.3 Giao diện MATLAB Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 • Các đặc điểm MATLAB - Là ngôn ngữ bậc cao dùng cho tính tốn kỹ thuật MÁY CHÍNH XÁC - Là môi trường phát triển để quản lý liệu - Gồm nhiều công cụ tương tác cho việc khai thác xử lý liệu, thiết kế giải vấn đề - Các hàm đồ thị ảnh chiều cho phép hình ảnh hóa liệu - Chứa công cụ để xây dựng giao diện đồ thị người sử dụng - Gồm nhiều hàm chức dựa giải thuật sở nhằm tích hợp MATAB với ứng dụng ngơn ngữ lập trình khác như: C,C++, Fortran, Java, Microsoft Excel… • Phát triển giải thuật ứng dụng MATLAB ngơn ngữ bậc cao tích hợp công cụ phát triển giúp người sử dụng phát triển phân tích giải thuật ứng dụng cách nhanh chóng Ngơn ngữ lập trình MATLAB Ngơn ngữ lập trình MATLAB hỗ trợ phép tốn ma trận vec-tơ sở cho vấn đề kỹ thuật khoa học Việc lập trình phát triển giải thuật MATLAB có tốc độ nhanh so với ngơn ngữ lập trình truyền thống MATLAB bỏ qua công việc điều khiển bậc thấp khai báo biến, khai báo mẫu liệu xác định vùng nhớ Trong nhiều trường hợp, MATLAB bỏ qua cần thiếp vòng lặp ‘for’ Kết là, dòng lệnh viết MATLAB tương đương với nhiều dòng lệnh C hay C++ Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 MÁY CHÍNH XÁC Phân tích tiếp cận liệu Trong q trình phân tích liệu, MATLAB hỗ trợ hầu hết công đoạn như: thu nhận liệu từ thiết bị ngoại vi, phân tích số học, tiền xử lý, hình ảnh hóa… Chương trình MATLAB cung cấp công cụ tương tác hàm điều khiển theo dòng cho việc tính tốn phân tích liệu bao gồm: - Các phép nội suy - Trích chọn tính chất - Chọn ngưỡng lọc nhiễu - Tương quan, phân tích Fourier lọc - Phát điểm đỉnh, đáy điểm khơng - Thống kê chuẩn hóa đường cong - Phân tích ma trận Việc tiếp cận liệu từ thư mục, ứng dụng, sở liệu thiết bị ngoại vi MATLAB dễ dàng MATLAB hỗ trợ nhiều loại định dạng file: ASCII, nhị phân, file hình ảnh âm hay chí file định dạng HDF Trong MATLAB có nhiều hộp cơng cụ (toolbox) hỗ trợ cho việc tiếp cận liệu như: hộp công cụ sở liệu (Database Toolbox), hộp công cụ thu nhận liệu (Data Acquisition Toolbox) hay hộp công cụ điều khiển thiết bị (Instrument Control Toolbox) Hình ảnh hóa liệu Tất đặc tính hình ảnh cần thiết cho hình ảnh hóa liệu khoa học kỹ thuật tích hợp MATLAB Những đặc tính Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 MÁY CHÍNH XÁC Góc quay tính theo độ Nếu ta giá trị dương, hàm imrotate quay ảnh theo chiều ngược chiều kim đồng hồ Nếu giá trị âm, hàm quay ảnh theo chiều kim đồng hồ Ví dụ sau quay ảnh 35 độ theo chiều ngược chiều kim đồng hồ: J=imrotate(I,35 ) ; Ví dụ sau quay ảnh 35 độ ngược chiều kim đồng hồ: I = imread(‘1.jpg'); J = imrotate(I,35); imshow(I) Hình 4.7 Ảnh trước sau imrotate Xén ảnh (image cropping) - Để trích vùng chữ nhật ảnh, sử dụng hàm imcrop Hàm imcrop chấp nhận hai tham số chính: + Ảnh cần xén Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 MÁY CHÍNH XÁC + Các góc hình chữ nhật xác định vùng xén - Nếu ta gọi hàm imcrop mà không hình chữ nhật, ta xén ảnh theo tương tác Trong trường hợp này, ta sử dụng trỏ chuột để chọn vùng chữ nhật cần xén cách nhấn giữ phím chuột trái di chuyển để chọn vùng xén Khi chọn xong nhả chuột Trong ví dụ sau, ta hiển thị ảnh gọi hàm imcrop Hàm imcrop hiển thị ảnh hình đợi ta vẽ vùng chữ nhật cần xén ảnh Dán nhãn cho đối tượng ảnh Ảnh dãn nhán ảnh nhị phân Các nhãn dán gắn vào thành phần ảnh nhị phân Câu lệnh bwlabel trả ma trận L, có kích thước với ảnh, chứa nhãn cho đối tượng kết nối ảnh Các đối tượng dán nhãn chọn câu lệnh Nếu bỏ qua số đối tượng dán nhãn, đối số mặc định Các phần tử L giá trị số nguyên lớn Các pixel có nhãn Các pixel có nhãn tạo thành đối tượng; pixel có nhãn tạo thành đối tượng thứ hai;… Ví dụ: bw=bwlabel(I,2); %dán nhãn cho đối tượng ảnh I Các đối tượng dán nhãn tính chọn đặc tính đối tượng câu lệnh regionprops Các đối tượng tùy chọn đặc tính để show lên ảnh để xử lý bước Các đặc tính câu lệnh gồm có: Chu vi, đường tâm, định hướng, đường bao, số Euler,… Ví dụ ta chọn đặc tính Chu vi Đường tâm cho ảnh I: stats=regionprops(bw,’Area’,’Centroid’); Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 MÁY CHÍNH XÁC Nếu thuộc tính ‘all’, regionprops tính tốn tất phép đo hình dạng, kích thước liệt kê Các giá trị đo đạc tính theo than pixel Nếu thuộc tính ‘basic’, regionprops tính tốn phép đo ‘Area’, ‘Centroid’ ‘BoundingBox’ Ví dụ: stats=regionprops(bw,’all’);%chọn tất thuộc tính ảnh 4.2.3.4 Hộp cơng cụ thu nhận ảnh (image acquisition toolbox) Hộp công cụ thu nhân ảnh dùng để thực chức thu nhận ảnh qua thiết bị kết nối với máy tính Sử dụng hàm chức hộp cơng cụ tạo đối tượng thể kết nối Matlab thiết bị thu hình ảnh cụ thể Sử dụng tính chất đối tượng giúp kiểm sốt nhiều bước trình thu nhận ảnh dung lượng liệu video muốn ghi lại Hộp công cụ sử dụng thành phần gọi thích ứng dùng để liên kết với thiết bị thông qua trình điều khiển Với hộp cơng cụ thu nhận hình ảnh, ta nối trực tiếp phần cứng cơng cụ thiết lập tham số thu nhận đồng thời xem yêu cầu liệu ảnh Ngồi ra, ta tiếp cận liệu Matlab vài định dạng đồng thời tạo file AVI Matlab thông qua hộp cơng cụ thu nhận hình ảnh (Support Packages Installer) hỗ trợ kết nối với nhiều loại thiết bị thu nhận ảnh bao gồm: thiết bị camera kỹ thuật số chuyên biệt dựa kết nối 1394 (DCAM), thiết bị hỗ trợ kết nối USB (WEB camera, máy quay kỹ thuật số, cạc chuyển đổi TV…) Tùy vào loại camera mà ta sử dụng để tìm kiếm cài đặt loại phần mềm hỗ trợ thiết bị phù hợp cho MATLAB Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 MÁY CHÍNH XÁC Hình 4.8 Thư mục Support Packages Installer XÂY DỰNG CHƯƠNG TRÌNH XỬ LÝ ẢNH VỚI MATLAB 4.3 4.3.1 Bài toán xử lý ảnh Phát biểu toán: Sử dụng cam để phân loại Cam qua camera sau xử lý MATLAB để phân loại theo màu sắc kích thước Yêu cầu cam sau xử lý nhận dạng loại sau: - Quả to, chín Quả to, xanh Quả nhỏ, chín Quả nhỏ, xanh Cách giải toán: Em sử dụng hàm thuật toán MATLAB để xử lý tách chọn sau phân loại theo diện tích màu sắc Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 - MÁY CHÍNH XÁC Dựa vào cách nhận biết em chia toán phân loại sản phẩm theo màu sắc kích thước sử dụng hộp cơng cụ image acquisition toolbox image processing toolbox gồm bước chính: + Bước 1: Chụp ảnh từ camera thu nhận ảnh MATLAB + Bước 2: Sử dụng bước xử lý ảnh để tính tốn kích thước cho đối tượng ảnh + Bước 3: Tính chọn màu cho ảnh + Bước 4: Phân tích để đưa kết cuối Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 MÁY CHÍNH XÁC Sơ đồ thuật tốn xử lý ảnh Hình 4.9 Sơ đồ thuật tốn xử lý ảnh phân loại sản phẩm Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 4.3.2 MÁY CHÍNH XÁC Chương trình xử lý ảnh Tạo GUI: Sử dụng câu lệnh guide cửa sổ Command Window để tạo GUI - Tạo push button, axes, Static Text, Button group, panel hình Hình 4.10 Thiết lập giao diện GUI Nhận camera chụp ảnh: Camera sử dụng cho đề tài USB Camera Vì ta cần tiến hành cài đặt phần mềm hỗ trợ winvideo cho camera hoạt động Để xác nhận camera hoạt động, ta sử dụng câu lệnh cửa sổ command window: vid=maqhwinfo(‘winvideo’,1); preview(vid) - Sử dụng dòng lệnh để đọc camera hiển thị camera Axes1: handles.output = hObject; Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 MÁY CHÍNH XÁC axes(handles.axes1); x=videoinput('winvideo',1,'MJPG_640x480'); handles.x=x; set(x,'ReturnedColorSpace','rgb'); himage=image(zeros(640,640,3),'parent',handles.axes1); preview(handles.x,himage); - Sử dụng câu lệnh getsnapshot để chụp ảnh từ camera hiển thị Axes2: x=handles.x; X=getsnapshot(x); axes(handles.axes2); imshow(X); Xử lý ảnh: Việc xử lý ảnh thực cho nút Start (Push Button 1): Ảnh sau chụp chuyển từ ảnh màu sang ảnh xám ( ảnh gray): dùng lệnh rgb2gray J=rgb2gray(X); % chuyển tất ảnh RGB thư mục thành ảnh xám J=imadjust(J); a) Ảnh màu Hệ thống phân loại theo kích thước khối lượng b) Ảnh xám TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 MÁY CHÍNH XÁC Hình 4.11 Ảnh đối tượng - Ảnh tiếp tục chuyển thành ảnh đen trắng câu lệnh im2bw xử lý thông qua câu lệnh bwareopen imagen=im2bw(J,.3);%chuyển thành ảnh đen trắng với ngưỡng 0.3 imagen=bwareopen(bw,2000);%loại bỏ đối tượng có số pixel nhỏ 2000 a) Ảnh đen trắng b) Ảnh đen trắng lọc Hình 4.12 Ảnh đối tượng chuyển sang ảnh đen trắng - Dán nhãn cho đối tượng: Đối tượng sau xử lý dán nhãn label câu lệnh bwlabel label=bwlabel(imagen,8); - Tính tốn thuộc tính đối tượng câu lệnh regionprops Ở ta tính chu vi đối tượng stats=regionprops(label, ‘Area’); area=stats.Area; Đơn vị chu vi đối tượng pixel - Đối tượng sau tính chu vi tiếp tục xác định màu sắc Ở em chọn màu chủ đạo cam mà MATLAB dễ nhận diện nhất: Màu cam màu xanh Màu cam (tức màu red MATLAB) nhận chín, màu xanh (green) nhận xanh Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 MÁY CHÍNH XÁC Dùng câu lệnh imresize để thu nhỏ ảnh số lượng pixel giảm màu sắc dễ nhận hơn: y1=imresize(X,1/200);%thu nhỏ ảnh mức 1/200; r1=y1(:,:,1); g1=y1(:,:,2); b1=y1(:,:,3); l1=r1(1,2,1); m1=g1(1,2,1); n1=b1(1,2,1); r=l1; g=m1; b=n1; A=[r g b]; M=max(A); R=(r==M); G=(g==M); if (R==1) x=1; elseif (G==1) x=2; end Ở câu lệnh trên, ta sử dụng giá trị màu để phân biệt màu cho đối tượng Màu đối tượng thể biểu đồ histogram kênh xanh lá, xanh dương, đỏ Ở ta sử dụng lệnh max để tìm giá trị lớn kênh màu đối tượng Đối tượng có giá trị kênh màu xanh hay kênh màu đỏ lớn chọn tương ứng với giá trị xanh chín Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 a) Biểu đồ histogram kênh xanh MÁY CHÍNH XÁC b) Biểu đồ histogram kênh đỏ Hình 4.13 Biểu đồ histogram ảnh Như hình bên ta thấy kênh đỏ có giá trị mức đỏ cao dày đặc kênh xanh cây, nên giá trị max giá trị kênh đỏ, tức chín Khi MATLAB trả biến x=1 Nếu kênh xanh có giá trị cao MATLAB trả biến x=2, tức xanh - Tách chọn đặc tính sau phân loại: Sau tính chu vi đối tượng màu đối tượng, ta sử dụng hàm if để tách chọn đặc tính đối tượng Sau lần thử nghiệm ta chọn chu vi mặc định cho loại cam thông thường 140000 pixel Nếu loại có chu vi > 140000 pixel to ngược lại Biến x sau khai báo sử dụng để phân loại màu câu lệnh dưới: if(area>140000) if(x==1) set(handles.thongtin,'string','Qua to, chin'); fwrite(t,1); elseif(x==2) set(handles.thongtin,'string','Qua to, xanh'); Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 MÁY CHÍNH XÁC fwrite(t,2); end else if(x==1) set(handles.thongtin,'string','Qua nho, chin'); fwrite(t,4); elseif(x==2) set(handles.thongtin,'string','Qua nho, xanh'); fwrite(t,8); end end Màu kích thước hiển thị hộp Static Text GUI Kết thúc chương trình: Để kết thúc chương trình ta sử dụng lệnh close cho nút Push Button GUI clear all; close; Chương trình kết nối với PLC: Kết nối với PLC thông qua cổng TCP/IP sử dụng câu lệnh cho nút Push Button GUI t=tcpip('192.168.0.1',2000, 'NetworkRole', 'server'); fopen(t); Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 4.3.3 MÁY CHÍNH XÁC Kết thu - Trường hợp 1: Quả đưa vào to, chín a) Hình ảnh đưa vào b) Kết Hình 4.14 Kết thu cho đối tượng - Trường hợp 2: Quả đưa vào to, xanh Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 a) Hình ảnh đưa vào MÁY CHÍNH XÁC b) Kết Hình 4.15 Kết thu cho đối tượng KẾT LUẬN 4.4 Trong q trình thực thí nghiệm chạy chương trình, em thử xử lý ảnh phân loại nhiều mẫu thử khác Tuy nhiên, nhiều yếu tố khách quan chủ quan tác động nên kết thu chưa phải lý tưởng Các yếu tố bao gồm: - Chất lượng camera dùng để tiến hành thí nghiệm khơng phải cao Do ta thực bắt ảnh thường bị nhiễu chất lượng hình ảnh khơng tốt Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 MÁY CHÍNH XÁC - Điều kiện tiến hành thí nghiệm khơng lý tưởng: điều kiện độ sáng, - độ chói, góc quay… Các bước tiền xử lý đơn giản chưa hỗ trợ tốt cho - trình xử lý ảnh Thuật tốn giải vấn đề chưa phải lý tưởng dẫn đến việc xử lý chưa đạt tối ưu Các biện pháp khắc phục: - Dùng camera có chất lượng tốt Thực kỹ thuật tiền xử lý: tách đường bao, tăng độ sắc nét, - lọc nhiễu loại lọc có hiệu cao… Tối ưu hóa giải thuật chương trình Sử dụng nguồn sáng tốt có biện pháp che chắn cho camera tránh bị ảnh hưởng nguồn sáng khác Hệ thống phân loại theo kích thước khối lượng ... ẢNH VỚI MATLAB 4.3 4.3.1 Bài toán xử lý ảnh Phát biểu toán: Sử dụng cam để phân loại Cam qua camera sau xử lý MATLAB để phân loại theo màu sắc kích thước Yêu cầu cam sau xử lý nhận dạng loại sau:... đổi kích thước ảnh, sử dụng hàm imresize Sử dụng hàm ta có thể: + Chỉ kích thước ảnh kết + Chỉ phương pháp nội suy sử dụng + Chỉ lọc sử dụng để ngăn ngừa tượng cưa Chỉ kích thước cho ảnh kết - Sử. .. Em sử dụng hàm thuật toán MATLAB để xử lý tách chọn sau phân loại theo diện tích màu sắc Hệ thống phân loại theo kích thước khối lượng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI K58 - MÁY CHÍNH XÁC Dựa vào

Ngày đăng: 26/12/2018, 09:26

Từ khóa liên quan

Mục lục

  • 4.1 LÝ THUYẾT XỬ LÝ ẢNH

    • 4.1.1 Giới thiệu

    • 4.1.2 Các vấn đề cơ bản trong hệ thống xử lý ảnh

    • 4.2 XỬ LÝ ẢNH VỚI MATLAB

      • Các đặc điểm cơ bản của MATLAB

      • Phát triển giải thuật và ứng dụng

      • Ngôn ngữ lập trình MATLAB

      • Phân tích và tiếp cận dữ liệu

      • Hình ảnh hóa dữ liệu

      • Xuất kết quả và triển khai ứng dụng

      • 4.2.3.1 Ảnh trong MATLAB

      • 4.2.3.2 Hộp công cụ xử lý ảnh (image processing toolbox)

      • 4.2.3.3 Các hàm xử lý ảnh cơ bản trong Matlab

        • Các hàm chuyển đổi kiểu ảnh

        • Xén ảnh (image cropping)

        • 4.2.3.4 Hộp công cụ thu nhận ảnh (image acquisition toolbox)

        • Sơ đồ thuật toán xử lý ảnh

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

Tài liệu liên quan