Giáo trình xử lý ảnh opencv

Skip to content

  • Tuesday, November 8, 2022

Chuyên về xử lý và nhận dạng hình ảnh

  • Bài viết theo chủ đề
    • Lập trình OpenCV
    • Nhận diện khuôn mặt
    • Phát hiện vật thể
    • Nhận diện vật thể trong ảnh
    • IPSS – Phần mềm đọc biển số xe máy
    • Machine Learning
    • OCR – đọc văn bản
    • Ứng dụng thị giác máy tính
  • Deep Learning
    • Nhận diện vật thể bằng YOLO
    • Ứng dụng Deep Learning
  • Tài nguyên xử lý ảnh
    • Tổng hợp data
    • Ebook tiếng Anh
    • Ebook tiếng Việt
    • Danh sách stream link các camera IP phổ biến
  • Tool online
    • Phát hiện khuôn mặt trên trình duyệt Chrome
    • Đọc QR code online
    • Tự động tô màu cho ảnh trắng đen
    • Tách background tự động trên web

  • Home
  • Lập trình OpenCV

Lập trình OpenCV

Leave a Reply

You must be logged in to post a comment.

--------

Trường Đại Học Công Nghiệp Hà Nội
Khoa Công Nghệ Thông Tin
--------

Báo cáo thực tập tốt nghiệp
Đề tài:Xử lý ảnh với OpenCV và Python
Sinh viên thực hiện : Đỗ Xuân Sơn
Lớp: KHMT2-K10
Giáo viên hướng dẫn :TS.Ngô Đức Vĩnh

Mở Đầu
I.Lý Do Chọn Đề Tài

Xã hội ngày càng phát triển thì công nghệ cũng càng ngày càng phát
triển theo từ các cuộc cách mạng công nghiệp đầu tiên đến bây giờ là cuộc
cách mạng công ngiệp 4.0 . Là cuộc cách mạng mà cốt lõi là công nghệ
thông tin với các thiết bị thông minh như robot hay xe tự lái để tăng năng
suất lao động và phục vụ cho các nhu cầu đời sống con người nhưng vấn
đề gặp phải chung ở đây đối với các thiết bị này là chúng vẫn còn rất ngây
ngô so để chúng có trở nên thực sự thông minh thì con người phải dạy cho
chúng hiểu và phân được các sự vật trong thực tế nhằm đưa ra các bài toán
xử lý chính xác nhằm đạt được mục đích công việc từ đó đã phát triển nên
khái niệm Image Processing . Qua quá trình phát triển thì các lập trình viên
đã phát triển các thư viện hỗ trợ hay còn gọi là OpenCV cho quá trình xử lý
ảnh. Nhờ đó mà khi xử lý ảnh chúng ta không cần phải xây dựng lại các
hàm xử lý ảnh mà chỉ cần phát triển dựa trên những gì sẵn có . Do vậy
nhiều người chỉ biết đến xử lý ảnh với OpenCV . Nhưng hiện tại Python
cũng đã phát triển các thư viện dành riêng cho xử lý ảnh . Thế nên trong đề

tài này em muốn đưa ra sự được ưu điểm nhược điểm khi xử lý ảnh với
Python so với thư viện OpenCV vốn đã rất quen thuộc với hầu hết các lập
trình viên trong lĩnh vực xử lý ảnh

2

II.Mục Tiêu Nghiên Cứu
Tìm ra được các ưu điểm và nhược khi xử lý ảnh với python và
OpenCV để từ đó giúp người sử dụng khi nào nên xử dụng các thư viện
của python để xử lý ảnh khi nào nên xử dụng OpenCV để xử lý ảnh nhằm
đem lại hiệu quả tối đa cũng như sự khoa học trong công việc xử lý ảnh

III.Phương Pháp Nghiên Cứu
Tìm hiểu về một số kĩ thuật trong xử lý ảnh và một số modul thường
được sử dụng để hiểu về các thuật toán và mô hình cho xử lý ảnh một cách
tổng quát nhất
Tìm hiểu về OpenCV để trả lời cho những câu hỏi OpenCV là gì tại
sao phải dùng OpenCV ,Ai dùng OpenCV, Các Cấu Trúc Tập Lệnh trong
OpenCV , OpenCV
Hỗ trợ người dùng như thế nào trong xử lý ảnh
Tương tư với Python
Sau đó rút ra nhận xét về ưu nhược điểm khi xử lý ảnh với OpenCV và
PyThon

IV. Đối tượng nghiên cứu
Open CV và python

3

CHƯƠNG I: TỔNG QUAN VỀ XỬ LÝ ẢNH
1.1.Tổng Quan Về Lĩnh Vực Nghiên Cứu
Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ. Nó là một
ngành khoa học mới mẻ so với nhiều ngành khoa học khác nhưng tốc độ
phát triển của nó rất nhanh, kích thích các trung tâm nghiên cứu, ứng dụng,
đặc biệt là máy tính chuyên dụng riêng cho nó.
Xử lý ảnh được đưa vào giảng dạy ở bậc đại học ở nước ta khoảng
chục năm nay. Nó là môn học liên quan đến nhiều lĩnh vực và cần nhiều
kiến thức cơ sở khác. Đầu tiên phải kể đến Xử lý tín hiệu số là một môn
học hết sức cơ bản cho xử lý tín hiệu chung, các khái niệm về tích chập,
các biến đổi Fourier, biến đổi Laplace, các bộ lọc hữu hạn… Thứ hai, các
công cụ toán như Đại số tuyến tính, Sác xuất, thống kê. Một số kiến thứ
cần thiết như Trí tuệ nhân tao, Mạng nơ ron nhân tạo cũng được đề cập
trong quá trình phân tích và nhận dạng ảnh.
Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao
chất lượng ảnh và phân tích ảnh. Ứng dụng đầu tiên được biết đến là nâng
cao chất lượng ảnh báo được truyền qua cáp từ Luân đôn đến New York từ
những năm 1920. Vấn đề nâng cao chất lượng ảnh có liên quan tới phân bố
mức sáng và độ phân giải của ảnh. Việc nâng cao chất lượng ảnh được phát
triển vào khoảng những năm 1955. Điều này có thể giải thích được vì sau
thế chiến thứ hai, máy tính phát triển nhanh tạo điều kiện cho quá trình xử
lý ảnh sô thuận lợi. Năm 1964, máy tính đã có khả năng xử lý và nâng cao
chất lượng ảnh từ mặt trăng và vệ tinh Ranger 7 của Mỹ bao gồm: làm nổi
đường biên, lưu ảnh. Từ năm 1964 đến nay, các phương tiện xử lý, nâng
cao chất lượng, nhận dạng ảnh phát triển không ngừng. Các phương pháp
tri thức nhân tạo như mạng nơ ron nhân tạo, các thuật toán xử lý hiện đại và
cải tiến, các công cụ nén ảnh ngày càng được áp dụng rộng rãi và thu nhiều
kết quả khả quan.
Để dễ tưởng tượng, xét các bước cần thiết trong xử lý ảnh. Đầu tiên, ảnh tự

nhiên từ thế giới ngoài được thu nhận qua các thiết bị thu [như Camera,
máy chụp ảnh]. Trước đây, ảnh thu qua Camera là các ảnh tương tự [loại
Camera ống kiểu CCIR]. Gần đây, với sự phát triển của công nghệ, ảnh
màu hoặc đen trắng được lấy ra từ Camera, sau đó nó được chuyển trực
tiếp thành ảnh số tạo thuận lợi cho xử lý tiếp theo. [Máy ảnh số hiện nay là
một thí dụ gần gũi]. Mặt khác, ảnh cũng có thể tiếp nhận từ vệ tinh; có thể
quét từ ảnh chụp bằng máy quét ảnh. Hình 1.1 dưới đây mô tả các bước cơ
bản trong xử lý
4

1.2.Một số phép xử lý ảnh
1.2.1.Biến đổi ảnh xám[Grayscale convert]
Biến đổi ảnh xám là quá trình chuyển từ ảnh màu vể ảnh xám

Trong xử lý ảnh, việc chuyển đổi ảnh màu sang ảnh xám là công việc vô
cùng phổ biến.
Ảnh màu thực chất chỉ là tập hợp của những ma trận số có cùng kích
thước . Khi muốn xử lý thông tin trên ảnh, sẽ dễ dàng hơn nếu ta chỉ xử lý
dữ liệu trên một ma trận số thay vì nhiều ma trận số. Việc biến đổi ảnh màu
về ảnh số [Grayscale converting] xuất hiện vì mục đích trên - biến đổi
thông tin ảnh về một ma trận số hai chiều duy nhất.

5

Giả sử, hình ảnh của bạn được lưu trữ dưới dạng RGB [Red-Green-Blue].
Điều này có nghĩa bạn có ba ma trận xám tương ứng cho màu Red, Green,
Blue. Công việc của bạn là tìm cách tổng hợp ba ma trận này về thành một
ma trận duy nhất. Một trong số các công thức phổ biến để thực hiện việc đó


Y
=
0.2126R
+
0.7152G
+
0.0722B
Trong đó:

Y: ma trận xám cần tìm

R: ma trận xám đỏ của ảnh

G: ma trận xám lục của ảnh

B: ma trận xám lam của ảnh
Nếu bạn chưa quen về việc thực hiện phép toán trên ma trận, hãy hình dung
Y, R, G, B là giá trị mức xám trên các ô có tọa độ giống nhau.
1.2.2.Biến đổi ảnh đen trắng
Từ ảnh xám, bạn có thể biến đổi về thành ảnh chỉ có hai màu đen-trắng
[black-and-white]
Ảnh đen trắng thường được ứng dụng trong bài toán phân vùng ảnh [Image

segmentation]. Giả sử trong hình ví dụ trên, bằng cách biến đổi ảnh về nhị
phân, bạn có thể loại bỏ các thông khung cảnh xung quanh và chỉ giữ lại
hai con cá heo trên hình

6

Ảnh đen trắng, như tên gọi, chỉ có hai màu đen với giá trị là 0 và trắng với
giá trị 255. Bài toán đặt ra là làm thế nào để biến đổi ảnh xám [hay nói cách
khác là một ma trận 2 chiều với giá trị mỗi ô trong khoảng 0-255] về thành
một ma trận 2 chiều với giá trị mỗi ô là 0 hoặc 255.
Cách giải quyết là chọn một ngưỡng [threshold] để xác định đâu là điểm
ảnh đen và đâu là điểm ảnh trắng. Nếu giá trị trên ảnh xám lớn hơn ngưỡng
threshold, đấy là điểm ảnh trắng và ngược lại.
Gọi ảnh xám là Gray, ảnh đen trắng cần xác định là BW, tọa độ các pixel
trên hình là [x,y], ta có
- BW[x,y] = 255 nếu Gray[x,y] > threshold
- BW[x,y] = 0 nếu Gray[x,y]

Chủ Đề