강의

멘토링

커뮤니티

Programming

/

etc. (Programming)

Bài giảng Python miễn phí (Sử dụng 6) - Xử lý hình ảnh (OpenCV)

Khi sử dụng Python, bạn sẽ học cách sử dụng thư viện OpenCV, sức mạnh của thị giác máy tính và xử lý hình ảnh, đồng thời tìm hiểu cách áp dụng xử lý hình ảnh trong cuộc sống thực thông qua các dự án thú vị khác nhau.

(4.9) 73 đánh giá

4,010 học viên

Độ khó Cơ bản

Thời gian Không giới hạn

  • nadocoding
OpenCV
OpenCV
OpenCV
OpenCV
Thumbnail

Đánh giá từ những học viên đầu tiên

Đánh giá từ những học viên đầu tiên

4.9

5.0

jjoony

60% đã tham gia

Cảm ơn bạn vì khóa học tuyệt vời.

5.0

박준수

33% đã tham gia

Chương trình này giải thích opencv một cách dễ hiểu.

5.0

lovesome99

60% đã tham gia

Bài giảng tốt giúp tôi có thêm động lực.. Cảm ơn bài giảng bổ ích.

Bạn sẽ nhận được điều này sau khi học.

  • Cách sử dụng OpenCV cần thiết cho xử lý ảnh

  • Phát triển máy quét tài liệu bán tự động (Dự án nhỏ số 1)

  • Xây dựng chương trình phát hiện và phân loại thẻ trong ảnh (mini project #2)

  • Tạo nhân vật thông qua nhận dạng khuôn mặt (dự án thực tế)

Học tập thông qua các dự án đa dạng và thú vị
Bài giảng xử lý hình ảnh bằng Python !

📢 Vui lòng kiểm tra trước khi tham dự buổi thuyết trình.

  • Môi trường phát triển được sử dụng trong bài giảng là Jupyter Notebook và Python 3.x.

Chúng ta gặp nhau mỗi ngày trong cuộc sống hàng ngày của chúng ta
Xử lý hình ảnh

Cho đến gần đây, bạn phải quét mã QR để vào nhà hàng, quán cà phê hoặc địa điểm khác. Nếu bạn đã từng thử làm thủ tục nhận phòng bằng mã QR , bạn hẳn đã trải nghiệm công nghệ xử lý hình ảnh. Nếu bạn đưa mã QR hiển thị trên màn hình điện thoại thông minh của mình đến gần thiết bị được lắp đặt ở lối vào cửa hàng ở khoảng cách thích hợp, thiết bị sẽ tự động tìm khu vực đó và nhận dạng mã QR.

(Nguồn: https://www.emkat.com/products/emkat-temperature-screening-kiosk/)

Có lẽ bạn đã từng thử đo nhiệt độ cơ thể ít nhất một lần. Bằng cách đặt máy tính bảng ngang tầm với một người và áp mặt bạn vào đó, máy sẽ tự động phát hiện vùng mặt, đo nhiệt độ cơ thể và báo cáo xem nhiệt độ có bình thường hay không.

Do đó, xử lý hình ảnh (thị giác máy tính) đề cập đến quá trình xử lý và phân tích hình ảnh để trích xuất thông tin hữu ích từ chúng . Nó được sử dụng trong nhiều lĩnh vực, không chỉ dừng lại ở việc tự động phát hiện mã QR hoặc khuôn mặt người trong hình ảnh chụp bằng camera.

Bộ lọc khuôn mặt , mọi người đều đã thử thứ gì đó như thế này ít nhất một lần, phải không?

(Nguồn: https://play.google.com/store/apps/details?id=com.campmobile.snow&hl=ko)

Để tôi nghĩ thêm một vài điều nữa:
Ví dụ, trong một video phỏng vấn sẽ được phát trên bản tin , bạn có thể tìm khuôn mặt của mọi người và chỉ ghép phần đó lại .
Khi tôi thử tải video từ hộp đen ô tô lên , nó sẽ tự động tìm biển số xe của một chiếc xe khác và ghép lại.
Ồ, nếu đó là biển số xe, nó sẽ tự động được nhận dạng khi vào và ra khỏi bãi đỗ xe trả phí, đúng không?

Đề xuất trang phục phù hợp với người dùng ,
Tự động mặc quần áo vào các bộ phận cơ thể một cách ảo ,
Ngoài ra còn có nội dung thú vị để kiểm tra xem ai đó đẹp trai hay xấu xí... chẳng hạn như những người nổi tiếng trông giống họ,
Nhận dạng cử chỉ tay để tạo ra thứ gì đó giống như tiếng vù vù trong Minority Report,
Tự động nhận dạng các vật phẩm bị cấm khi đi qua các trạm kiểm soát an ninh, v.v.

OpenCV

Xử lý hình ảnh được thực hiện với sự trợ giúp của OpenCV .
OpenCV là một thư viện mã nguồn mở để xử lý hình ảnh thời gian thực và nó thực sự là tốt nhất 😊😊


Trong bài giảng này, chúng ta sẽ tìm hiểu từng cách sử dụng OpenCV thông qua nhiều ví dụ khác nhau .

Ví dụ #1

Chúng tôi sẽ biến đổi hình ảnh gốc theo nhiều cách khác nhau.

Hình ảnh gốc

xích đu

vết mổ

Giảm kích thước

Hiệu ứng đen trắng

Làm mờ

Có vẻ dễ quá phải không? 😀
Chúng ta hãy đi sâu hơn một chút.

Ví dụ #2

Tôi đang cố gắng đưa tất cả các phần văn bản vào cuốn sách.

Hình ảnh gốc

Có một bức ảnh tôi đang đọc sách.

chuyển đổi thang độ xám

Đầu tiên, để đơn giản hóa hình ảnh, chúng ta chuyển đổi nó sang thang độ xám. Đen trắng đơn giản hơn nhiều so với màu, đúng không?

hàm ngưỡng

Để lấy văn bản trong vùng màu đỏ, bạn có thể sử dụng hàm ngưỡng của OpenCV. Tuy nhiên, vùng mong muốn không hiển thị rõ ràng. Điều này là do sự tồn tại đồng thời của các vùng sáng và tối do bóng đổ của ánh sáng mặt trời. Nguyên nhân là do toàn bộ hình ảnh đang được áp dụng làm tham chiếu.

Áp dụng ngưỡng thích ứng

Trong những trường hợp như vậy, tại sao không áp dụng một thứ gọi là ngưỡng thích ứng? Chẳng phải tốt hơn nhiều sao? Bằng cách chia hình ảnh thành các vùng nhỏ hơn và xử lý chúng, bạn có thể nhận dạng rõ ràng văn bản trong sách ngay cả khi có sự khác biệt về độ bóng do ánh sáng mặt trời (hoặc các loại ánh sáng khác)!

Ví dụ #3

Xử lý ảnh bao gồm xói mòn và giãn nở, và chúng ta cũng sẽ tìm hiểu các thao tác mở và đóng, kết hợp hai kỹ thuật này, với các ví dụ dễ hiểu. Bạn sẽ được giải thích chi tiết về cách thức hoạt động của từng thao tác, cũng như thời điểm sử dụng chúng.

Hoạt động mở

Hoạt động đóng cửa

Hmm... Có thể bạn sẽ không biết nếu chỉ nhìn vào bức ảnh này😊
Bạn cũng có thể thử cách này!

Ví dụ #4

Nếu bạn tìm thấy một khu vực nhất định trong hình ảnh và biến đổi nó, bạn có thể mở rộng hình ảnh từ hình thang thành hình chữ nhật.

Ví dụ #5

Bạn cũng có thể tạo một máy quét tài liệu bán tự động có thể trích xuất vùng mong muốn bằng cách chọn vùng đó.
Trong ví dụ này, tôi sẽ sử dụng hình ảnh thẻ.

Đi xa hơn một chút, bạn cũng có thể sử dụng tính năng gọi là phát hiện đường viền để tự động phát hiện và trích xuất các khu vực trong hình ảnh có chứa thẻ hoặc tài liệu.

Mặc dù không được đề cập trong bài giảng, việc phát hiện và đọc các vùng văn bản có thể dễ dàng xác định loại thẻ bạn sở hữu. Nếu được áp dụng vào chương trình quản lý danh thiếp, nó có thể đọc văn bản, phân loại và lưu trữ thông tin như tên, số điện thoại và địa chỉ email. Ví dụ: nếu bạn cung cấp dịch vụ mở tài khoản từ xa, bạn có thể tự động điền vào các trường bắt buộc bằng cách đọc văn bản từ thẻ căn cước và tự động làm mờ hoặc che số đăng ký thường trú.

Ví dụ #6

Bằng cách sử dụng các kỹ thuật xử lý hình ảnh này, chúng ta không thể không tìm thấy khuôn mặt người và làm điều gì đó thú vị với chúng, phải không?
Trong dự án này, chúng ta sẽ sử dụng một gói có tên là mediapipe (https://google.github.io/mediapipe/) .

Như đã giới thiệu trên trang chủ, bạn có thể thực hiện nhiều tác vụ thú vị như phát hiện khuôn mặt, nhận dạng vật thể và nhận dạng chuyển động .

Chúng ta sẽ áp dụng mã ví dụ phát hiện khuôn mặt, được giới thiệu trước, để tìm khuôn mặt người trong ảnh. Chỉ với vài dòng mã, chúng ta có thể xác định vị trí mắt, mũi, miệng và tai, thậm chí vẽ hình lên chúng.

Thay vì hình khối, hãy thử vẽ hình động vật lên đó. Đây là một vài chiếc tai và mũi được vẽ bằng đôi tay vụng về của tôi.

Tôi đã thử đặt cái này vào

Thì ra là thế này 🤣

Bây giờ mọi việc đã xong, chúng ta hãy tìm một hình ảnh nhân vật thực sự chân thực và che nó lại.

Ta-da!! Tôi đã đặt một hình ảnh nhân vật dễ thương lên khuôn mặt của ông già này.
Trên thực tế, có một chút công việc cần thực hiện để đảm bảo tính minh bạch trong quá trình này, nhưng tôi sẽ giải thích chi tiết ở phần sau của bài giảng, nên bạn đừng lo lắng.

Sau khi học đến đây, chắc hẳn bạn sẽ có vô số ý tưởng sáng tạo bay bổng trong đầu, háo hức muốn áp dụng ngay lập tức. Tất nhiên, bạn cũng sẽ dễ dàng thực hiện chúng. Thậm chí bạn còn có thể tạo ra những chương trình vui nhộn như một đứa trẻ tinh nghịch nữa chứ ✨

Tất cả những việc này sẽ mất khoảng 5 giờ 40 phút .

Vậy thì chúng ta bắt đầu ngay bây giờ nhé?

Được thiết kế bởi Freepik
 https://www.freepik.com

Hình ảnh, Video của Pixabay, Pexels
https://www.pixabay.com
https://www.pexels.com

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Bất cứ ai đã học Python cơ bản

  • Bất cứ ai muốn sử dụng Python trong cuộc sống thực

  • Bất kỳ ai muốn hoàn thành dự án của riêng mình bằng các kỹ thuật xử lý hình ảnh khác nhau

Xin chào
Đây là

104,383

Học viên

3,474

Đánh giá

919

Trả lời

4.9

Xếp hạng

11

Các khóa học

Tôi là Nadocoding, hiện đang vận hành kênh giáo dục lập trình trên YouTube.
Tôi giảng dạy với những lời giải thích tận tình và ví dụ dễ hiểu để bất kỳ ai cũng có thể học lập trình một cách dễ dàng và thú vị.
Bạn có muốn cùng tôi học lập trình không? 😊

🧡 YouTube Nadocoding
🎁 Tự học lập trình: Nhập môn Python cùng Nadocoding
📚 Tự học lập trình: Nhập môn ngôn ngữ C cùng Nadocoding

Chương trình giảng dạy

Tất cả

48 bài giảng ∙ (5giờ 40phút)

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

73 đánh giá

4.9

73 đánh giá

  • kandori님의 프로필 이미지
    kandori

    Đánh giá 3

    Đánh giá trung bình 4.0

    4

    31% đã tham gia

    • skdbstjd0115610님의 프로필 이미지
      skdbstjd0115610

      Đánh giá 6

      Đánh giá trung bình 5.0

      5

      31% đã tham gia

      • sukchanmin8385님의 프로필 이미지
        sukchanmin8385

        Đánh giá 1

        Đánh giá trung bình 5.0

        5

        100% đã tham gia

        • 5q2qrcghjc1056님의 프로필 이미지
          5q2qrcghjc1056

          Đánh giá 3

          Đánh giá trung bình 4.7

          4

          31% đã tham gia

          • jjoony6483님의 프로필 이미지
            jjoony6483

            Đánh giá 13

            Đánh giá trung bình 4.9

            5

            60% đã tham gia

            Cảm ơn bạn vì khóa học tuyệt vời.

            Miễn phí

            Khóa học khác của nadocoding

            Hãy khám phá các khóa học khác của giảng viên!