Tổng quan về ngơn ngữ lập trình Python và thư viện OpenCV

Một phần của tài liệu Thiết kế và chế tạo hệ thống nhận diện mối hàn cho robot tự động (Trang 45 - 48)

Chương 2 : THÔNG SỐ KỸ THUẬT CỦA THIẾT BỊ

2.5. Tổng quan về ngơn ngữ lập trình Python và thư viện OpenCV

2.5.1. Ngơn ngữ lập trình Python

Python là một ngơn ngữ lập trình bậc cao được sử dụng phổ biến ngày nay từ trong môi trường học đường cho tới các dự án lớn. Ngôn ngữ phát triển nhiều loại ứng dụng, phần mềm khác nhau như các chương trình chạy trên máy tính cá nhân, máy tính nhúng, ứng dụng web,… Ngồi ra Python cũng là ngơn ngữ ưa thích trong xây dựng các chương trình trí tuệ nhân tạo trong đó bao gồm “machine learning”. Ban đầu, Python được phát triển để chạy trên nền Unix, nhưng sau này, nó đã chạy trên mọi hệ điều hành từ MS-DOS đến Mac OS, OS/2, Windows, Linux và các hệ điều hành khác thuộc họ Unix. Python do Guido van Rossum tạo ra năm 1990. Python được phát triển trong một dự án mã nguồn mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý. Mặc dù sự phát triển của Python có sự đóng góp của rất nhiều cá nhân, nhưng Guido van Rossum hiện nay vẫn là tác giả chủ yếu của Python. Ơng giữ vai trị chủ chốt trong việc quyết định hướng phát triển của Python. Python là ngơn ngữ có hình thức đơn giản, cú pháp ngắn gọn, sử dụng một số lượng ít các từ khố, do đó Python là một ngôn ngữ dễ học đối với người mới bắt đầu tìm hiểu. Cú pháp (syntax) của Python tương đối đơn giản. Cả trường hợp bạn chưa biết gì về Python bạn cũng có thể suy đốn được ý nghĩa của từng dịng lệnh thơng qua tên gọi của chúng [11].

37 Python là một ngôn ngữ lập trình dạng thơng dịch, do đó có ưu điểm tiết kiệm thời gian phát triển ứng dụng vì khơng cần phải thực hiện biên dịch và liên kết. Trình thơng dịch có thể được sử dụng để chạy file script, hoặc cũng có thể được sử dụng theo cách tương tác. Ở chế độ tương tác, trình thơng dịch Python tương tự shell của các hệ điều hành họ Unix, tại đó, ta có thể nhập vào từng biểu thức rồi gõ Enter, và kết quả thực thi sẽ được hiển thị ngay lập tức. Đặc điểm này rất hữu ích cho người mới học, giúp họ nghiên cứu tính năng của ngơn ngữ hoặc để các lập trình viên chạy thử mã lệnh trong suốt q trình phát triển phần mềm. Ngồi ra, cũng có thể tận dụng đặc điểm này để thực hiện các phép tính như với máy tính bỏ túi [11].

Là một ngơn ngữ thơng dịch, Python có tốc độ thực hiện chậm hơn nhiều lần so với các ngôn ngữ biên dịch như Fortran, C,... Trong số các ngôn ngữ thông dịch, Python được đánh giá nhanh hơn Ruby và Tcl, nhưng chậm hơn Lua. Đây cũng là một điểm cần lưu ý nếu muốn phát triển một ứng dụng thời gian thực bằng ngôn ngữ Python [11].

2.5.2. Thư viện OpenCV

OpenCV (Open Source Computer Vision) là một thư viện mã nguồn mở, hồn tồn miễn phí về các thuật tốn lập trình trong lĩnh vực xử lý ảnh. OpenCV được tạo ra với hy vọng thúc đẩy lĩnh vực thị giác máy và trí thơng minh nhân tạo bằng cách cung cấp một nền tảng chung để tất cả mọi người có thể cùng làm việc trên nó.

Thư viện OpenCV có hơn 2500 thuật tốn đã được tối ưu hóa – gần như tồn diện các thuật tốn về thị giác máy và học máy (machine learning) từ cổ điển đến hiện đại. Những thuật tốn này có thể được sử dụng để nhận diện và xác định khuôn mặt con người, nhận diện vật thể, phân loại hành động của con người trong video, theo dõi chuyển động của camera, trích xuất mơ hình 3D của vật thể, tái tạo lại ảnh nổi 3D bằng hệ nhiều thiết bị camera, ghép các hình ảnh lại để tạo ra ảnh có độ phân giải cao hơn, tìm hình ảnh tương tự trong kho dữ liệu ảnh.

38

Hình 2.30: Nhận diện đối tượng bằng cách sử dụng OpenCV

Thư viện OpenCV hiện được viết trên nhiều ngôn ngữ như C/C++, Python, Java, MATLAB và hỗ trợ các hệ điều hành Windows, Linux, Android và MacOS X. Với hơn 18 triệu lượt tải xuống, thư viện này hiện đang được sử dụng rộng rãi trong các công ty, các nhóm nghiên cứu và các cơ quan chính phủ.

39

Một phần của tài liệu Thiết kế và chế tạo hệ thống nhận diện mối hàn cho robot tự động (Trang 45 - 48)

Tải bản đầy đủ (PDF)

(120 trang)