- B1: Bạn tải opencv trên trang opencv.org trên đó có tất cả các phiên bản phù hợp với hệ điều hành của bạn.. - B2: Sau khi tải xong, click vào file vừa tải và tiến hành cài đặt, ví dụ
Trang 1Trần Thành Công
Trang 31 Lịch Sử phát triển của OpenCV
- Chính thức ra mắt vào năm 1999
- Năm 2006, phiên bản đầu tiên - OpenCV 1.0 được phát hành
- Vào tháng 10/2009, phiên bản thứ hai - OpenCV 2 được phát hành
- Vào tháng 08/2012, OpenCV được vận hành bởi tổ chức phi lợi nhuận trên OpenCV.org
Trang 42 OpenCV là gì?
- OpenCV viết tắt cho Open Source Computer Vision Library OpenCV là thư viện nguồn
mở hàng đầu cho Computer Vision và Machine Learning, và hiện có thêm tính năng tăng
tốc GPU cho các hoạt động theo real-time
- OpenCV được viết bằng ngôn ngữ lập trình C++
Trang 64 Cài đặt Python, OpenCV và OpenCV cho Python
Trang 74 Cài đặt Python, OpenCV và OpenCV cho Python
2 Cài đặt OpenCV
- B1: Bạn tải opencv trên trang opencv.org trên đó có tất cả các phiên bản phù hợp với hệ điều hành của bạn
- B2: Sau khi tải xong, click vào file vừa tải và tiến hành cài đặt,
ví dụ chúng ta sẽ cài đặt OpenCV tại ổ E
- B3: Sau khi cài đặt xong, thư mục OpenCV sẽ xuất hiện tại ổ E
Trang 84 Cài đặt Python, OpenCV và OpenCV cho Python
3 Cài đặt OpenCV cho Python
- B1: Bạn tải opencv trên trang opencv.org trên đó có tất cả các phiên bản phù hợp với hệ điều hành của bạn
- B2: Sau khi tải xong, click vào file vừa tải và tiến hành cài đặt,ví dụ chúng ta sẽ cài đặt OpenCV tại ổ E
- B3: Sau khi cài đặt xong, thư mục OpenCV sẽ xuất hiện tại ổ E
Trang 10PHẦN 2 : ỨNG DỤNG CỦA OPENCV
I Ứng dụng và tính năng của OpenCV
2 Tương tác giữa con người và máy tính (HCI)
- Tương tác giữa con người với máy tính ( HCI ) nghiên cứu thiết kế và sử dụng công nghệ máy tính , tập trung vào các giao diện giữa con người ( người
dùng ) và máy tính Các nhà nghiên cứu trong lĩnh vực HCI quan sát cách con
người tương tác với máy tính và thiết kế các công nghệ cho phép con người
tương tác với máy tính theo những cách mới
Trang 12PHẦN 2 : ỨNG DỤNG CỦA OPENCV
I Ứng dụng và tính năng của OpenCV
4 Phát hiện đối tượng
- Phát hiện đối tượng là một công nghệ máy tính liên quan đến thị giác máy tính và xử lý hình ảnh nhằm phát hiện các trường hợp của các đối tượng ngữ nghĩa
của con người
Trang 13II Các bước xử lý ảnh cơ bản với OpenCV trong Pyhon?
Bước 1: Cài đặt thư viện opencv vào máy tính
- Sử dụng đoạn lênh sau để cài đặt gói từ kho thư viện pip:
pip install opencv-python
- Để kiểm tra cài đặt thành công hay không ta thực hiện đoạn lệnh sau để kiểm tra phiên bản của opencv-python:
import cv2 print(cv2._version_)
Trang 14PHẦN 2 : ỨNG DỤNG CỦA OPENCV
II Các bước xử lý ảnh cơ bản với OpenCV trong Pyhon?
Bước 2: Hiện thị hình ảnh
- Đầu tiên ta tạo một đối tượng chứa thông tin ảnh được tải lên từ file
Sau đó hiện thị hình ảnh lên cửa sổ giao diện
Trang 15PHẦN 2 : ỨNG DỤNG CỦA OPENCV
II Các bước xử lý ảnh cơ bản với OpenCV trong Pyhon?
Bước 3: Lấy kích thước ảnh
- Ở đây biến img là một đối tượng của Numpy array chứa giá trị màu của từng điểm ảnh trên các không gian màu khác nhau Lệnh img.shape để lấy ra kích thước của mảng này với h, w, d lần lượt là chiều cao,
Trang 16PHẦN 2 : ỨNG DỤNG CỦA OPENCV
II Các bước xử lý ảnh cơ bản với OpenCV trong Pyhon?
Bước 4: Lấy giá trị màu ở một điểm ảnh
- Đoạn lệnh sau lấy ra giá trị màu ở điểm ảnh tại vi trí 50, 50 với
Trang 18II Các bước xử lý ảnh cơ bản với OpenCV trong Pyhon?
Bước 6: Thay đổi kích thước ảnh
- Để thay đổi kích thước của ảnh trong opencv thì chúng ta sẽ dùng hàm resize
Hàm này cần xác định rõ chiều cao, chiều rộng ảnh sau khi biến đổi
Tuy nhiên ảnh sau khi thay đổi thường cùng tỷ lệ chiều cao, chiều rộng với ảnh gốc Đoạn lệnh sau biến đối ảnh gốc có chiều rộng 580 pixel sang ảnh có chiều rộng là 300 pixel
Trang 20PHẦN 2 : ỨNG DỤNG CỦA OPENCV
III Thực nghiệm xử lý ảnh.
- Đây là ảnh gốc trước khi chưa chỉnh sửa.
Trang 23PHẦN 2 : ỨNG DỤNG CỦA OPENCV
III Thực nghiệm xử lý ảnh.
3 Thay đổi độ tương phản (Contrast) Code:
from PIL import Image, ImageEnhance
# PIL accesses images in Cartesian co-ordinates, so it is Image[columns, rows]
img = Image.open("rick-morty.png")
# Enhance constrast enhancer = ImageEnhance.Contrast(img) for i in range(1, 8): factor = i / 4.0 new_img = enhancer.enhance(factor)
Trang 24PHẦN 2 : ỨNG DỤNG CỦA OPENCV
III Thực nghiệm xử lý ảnh.
4 Thay đổi độ sáng (Brightness) Code:
from PIL import Image, ImageEnhance
# PIL accesses images in Cartesian co-ordinates, so it is Image[columns, rows]
img = Image.open("rick-morty.png") enhancer = ImageEnhance.Brightness(img) new_img = enhancer.enhance(1.8)
# Darker
Trang 25PHẦN 2 : ỨNG DỤNG CỦA OPENCV
III Thực nghiệm xử lý ảnh.
5 Làm mờ (Gaussian blur) Code:
from PIL import Image, ImageFilter
# PIL accesses images in Cartesian co-ordinates, so it is Image[columns, rows]
img = Image.open("rick-morty.png") new_img = img.filter(ImageFilter.GaussianBlur(radius=20)) new_img.save("rick-morty-gaussian-blur.png")
Trang 26rows, cols = img.shape[:2]
# generating vignette mask using Gaussian kernels
kernel_x = cv2.getGaussianKernel(cols, 200)
kernel = kernel_y * kernel_x.T mask = 255 * kernel /
np.linalg.norm(kernel) output = np.copy(img)
# applying the mask to each channel in the input image
for i in range(3):
Trang 27PHẦN 2 : ỨNG DỤNG CỦA OPENCV
III Thực nghiệm xử lý ảnh.
7 Tìm các cạnh bằng phương pháp Canny Code:
import cv2 img = cv2.imread('rick-morty.png', 0) edges = cv2.Canny(img, 100, 200) cv2.imwrite('rick-morty-edges.png', edges)
Trang 28PHẦN 2 : ỨNG DỤNG CỦA OPENCV
III Thực nghiệm xử lý ảnh.
8 Vẽ Countour của ảnh Code:
import numpy as np import cv2
img = cv2.imread('rick-morty.png') gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) ret, thresh = cv2.threshold(gray, 120, 255, cv2.THRESH_BINARY) contours = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)[-2]
Trang 29- Hiểu được OpenCV được lập trình qua nhiều ngôn ngữ và biết được
cách cài đặt OpenCv cho python
- Tìm hiểu được ứng dụng và tính năng của OpenCV rất thiết thực trong
công việc
- Cuối cùng chúng ta có thể thấy OpenCV rất tiềm năng trong tương lai