1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tổng quan về open CV trong python để xây dựng ứng dụng xử lí ảnh

30 69 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 6,52 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

- 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 1

Trần Thành Công

Trang 3

1 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 4

2 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 6

4 Cài đặt Python, OpenCV và OpenCV cho Python

Trang 7

4 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 8

4 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 10

PHẦ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 12

PHẦ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 13

II 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 14

PHẦ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 15

PHẦ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 16

PHẦ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 18

II 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 20

PHẦ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 23

PHẦ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 24

PHẦ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 25

PHẦ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 26

rows, 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 27

PHẦ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 28

PHẦ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

Ngày đăng: 07/06/2021, 11:25

TỪ KHÓA LIÊN QUAN

w