Chương 5. Xử Lý ảnh Phân Loại Màu Sắc Và Phát Hiện Tọa độ Của Vật

  1. Trang chủ >
  2. Kỹ thuật >
  3. Điện - Điện tử - Viễn thông >
Chương 5. Xử lý ảnh phân loại màu sắc và phát hiện tọa độ của vật

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.97 MB, 72 trang )

OpenCV và dễ dàng tương thích với C# thay vì tương thích với C++ như làOpenCV ”5.1.OpenCVOpenCV là một thư viện mã nguồn mở phục vụ cho việc nghiên cứu hay phát triểnvề thị giác máy tính. Tối ưu hóa và xử lí các ứng dụng trong thời gian thực. Giúpcho việc xây dựng các ứng dụng xử lí ảnh, thị giác máy tính, ... một cách nhanhhơn. OpenCV có hơn 500 hàm khác nhau, được chia làm nhiều phần phục vụ cáccông việc như: xử lí hình ảnh y tế, an ninh, camera quan sát, nhận diện, robots, ...5.1.1. Phát hiện đối tượngPhát hiện đối tượng và phân loại là nhiệm vụ cơ bản quan trọng nhất và tháchthức của thị giác máy tính. Nó là một phần quan trọng trong nhiều ứng dụng nhưtìm kiếm hình ảnh, sự hiểu biết cảnh, vv. Tuy nhiên nó vẫn còn là một vấn đề mởdo sự đa dạng và phức tạp của các lớp đối tượng và hình nền.Cách đơn giản nhất để phát hiện và phân khúc một đối tượng từ một hình ảnh làphương pháp dựa trên màu sắc. Các đối tượng và nền sẽ có một sự khác biệtđáng kể màu sắc vì vậy có thể sử dụng phương pháp phân loại dựa trên màu sắcđể phân loại vật.Tuy nhiên phương pháp này vẫn có một số hạn chế do tùy vàomôi trường ,cảm biến, ánh sáng mà màu sắc thu nhận được sẽ khác nhau.5.1.1.1. Phương pháp phân loại vật dựa trên màu sắcNhư phần lý thuyết ở chương 2 đã giới thiệu, với ảnh chụp thu thập được từcamera sẽ cho không gian màu của ảnh là RBG, để thuận tiện cho việc phân loạimàu sắc ta phải chuyển sang không gian màu HSV.38 Lưu đồ giải thuật nhận dạng màuOpenCV hỗ trợ các hàm thu nhận ảnh từ file và từ camera trong thư viện“highgui.h”. Thu nhận ảnh từ webcam:CvCapture* capture = cvCreateCameraCapture(-1);rgbimage = cvQueryFrame(capture);39 Không gian màu RGB không thích hợp cho việc nhận dạng màu sắc, để phân biệtmàu sắc người ta thường dùng không gian màu HSV. Trong OpenCV, H (Hue) cógiá trị trong khoảng (0, 179) mang thông tin về màu sắc. S (Saturation) có giá trị(0, 255) cho thông tin về độ thuần khiết của màu. V (Value) có giá trị (0, 255) chobiết độ sáng của điểm ảnh. Chuyển đổi không gian màu từ RGB sang HSV:cvCvtColor(rgbimage,hsvimage,CV BGR2HSV);Ví dụ : Màu đỏ thường thành phần H có giá trị trong khoảng (0 - 7) & (174 - 179).Các thành phần S và V thường chọn trong lân cận 100 tùy theo điều kiện ánhsáng môi trường và yêu cầu về độ thuần khiết của màu.“Code nhận dạng màu sắc”#include #include #include #include using namespace cv;using namespace std;int main( int argc, char** argv ){VideoCapture cap(0); //capture the video from web camif ( !cap.isOpened() ) // if not success, exit program{cout

Từ khóa » Nhận Diện Màu Sắc Python