Hướng dẫn object counting using opencv-python - đếm đối tượng bằng opencv-python

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc

    Bàn luận

    • Trong bài viết này, chúng tôi sẽ sử dụng xử lý hình ảnh để đếm số lượng đối tượng sử dụng OpenCV trong Python.: OpenCv is an open-source library that is useful for computer vision applications such as image processing, video processing, facial recognition, and detection, etc.
    • Mô -đun cần thiết: Numpy is a python package for scientific computing. It is a popular math library for Machine Learning. The main Object of Numpy is a multidimensional array.
    • OpenCV: OpenCV là một thư viện nguồn mở hữu ích cho các ứng dụng tầm nhìn máy tính như xử lý hình ảnh, xử lý video, nhận dạng khuôn mặt và phát hiện, v.v.: Matplotlib is a Python library used for data visualization and graphical plotting of the data.

    Numpy: Numpy là một gói Python cho điện toán khoa học. Nó là một thư viện toán học phổ biến cho học máy. Đối tượng chính của Numpy là một mảng đa chiều.

    Matplotlib: Matplotlib là một thư viện Python được sử dụng để trực quan hóa dữ liệu và vẽ đồ họa của dữ liệu.

    Hình ảnh được sử dụng:.Import required libraries. 

    Python3

    Thực hiện từng bước

    Bước 1: Nhập thư viện yêu cầu. & NBSP;

    import cv2

    import numpy as np We will read the image by using “cv2.imread[image-name]” command & then convert this image into grayscale image using “cv2.cvtColor[image-name, cv2.COLOR_BGR2GRAY]” command.

    Python3

    import matplotlib.pyplot as plt

    Bước 2: Chúng tôi sẽ đọc hình ảnh bằng cách sử dụng lệnh cv2.imread [tên hình ảnh] và sau đó chuyển đổi hình ảnh này thành hình ảnh thang độ xám bằng lệnh CV2.cvtcolor [tên hình ảnh, cv2.color_bgr2gray].

    coins in the image :  5
    6=
    coins in the image :  5
    8
    coins in the image :  5
    2

    Output:

    image =

    coins in the image :  5
    0
    coins in the image :  5
    1
    coins in the image :  5
    2
    For counting, we have to detect the edges but before detecting the edges we have to make the image blur to avoid the noises. Use “cv2.GaussianBlur[image-name, Kernal size, std. deviation]”

    Python3

    coins in the image :  5
    3=
    coins in the image :  5
    5

    import9=

    coins in the image :  5
    8
    coins in the image :  5
    2

    Output:

    Bước 3: Để đếm, chúng ta phải phát hiện các cạnh nhưng trước khi phát hiện các cạnh, chúng ta phải làm cho hình ảnh mờ để tránh tiếng ồn. Sử dụng CV2.gaussianblur [tên hình ảnh, kích thước kernal, std. Độ lệch]. & NBSP; Now we will detect edges using a canny algorithm, 2nd & 3rd parameters in cv2.canny[] function are threshold values. a value between 30 & 150 are consider as an edge for this image.

    Python3

    import0____9 import2import3import4import3import6import7

    coins in the image :  5
    2

    import2=

    coins in the image :  5
    8
    coins in the image :  5
    2

    Output:

    Bước 4: & NBSP; Bây giờ chúng tôi sẽ phát hiện các cạnh bằng thuật toán Canny, tham số 2 & 3 trong hàm cv2.canny [] là các giá trị ngưỡng. Một giá trị giữa 30 & 150 được coi là một cạnh cho hình ảnh này.We can see that edges are not connected. We need to connect the edges, have to make more thiker & visible. 

    Python3

    cv23= cv25cv26import4cv28import4import0

    coins in the image :  5
    2

    numpy as np6=

    coins in the image :  5
    8
    coins in the image :  5
    2

    Output:

    Bước 5: Chúng ta có thể thấy rằng các cạnh không được kết nối. Chúng ta cần kết nối các cạnh, phải làm cho Thiker & Hise có thể nhìn thấy nhiều hơn. & NBSP;Now we have to calculate the contour in the image & convert the image into RGB from BGR & then draw the contours.

    Python3

    import6= import8import9import4import9__522

    import3import4

    Bước 6: Bây giờ chúng ta phải tính toán đường viền trong hình ảnh và chuyển đổi hình ảnh thành RGB từ BGR và sau đó vẽ các đường viền.

    import8import9import9matplotlib.pyplot as plt1import7import4matplotlib.pyplot as plt4import4import7import6matplotlib.pyplot as plt8

    coins in the image :  5
    2

    image 0

    Output:

    import0____9 import2Printing the result

    Python3

    image 1image 2image 3import4image 5image 6

    Output:

    coins in the image:  5

    import5= import7

    Python3

    Thực hiện từng bước

    Bước 1: Nhập thư viện yêu cầu. & NBSP;

    import cv2

    import matplotlib.pyplot as plt

    Bước 2: Chúng tôi sẽ đọc hình ảnh bằng cách sử dụng lệnh cv2.imread [tên hình ảnh] và sau đó chuyển đổi hình ảnh này thành hình ảnh thang độ xám bằng lệnh CV2.cvtcolor [tên hình ảnh, cv2.color_bgr2gray].

    coins in the image :  5
    3=
    coins in the image :  5
    5

    import0____9 import2import3import4import3import6import7

    coins in the image :  5
    2

    cv23= cv25cv26import4cv28import4import0

    coins in the image :  5
    2

    import6= import8import9import4import9__522

    import3import4

    Bước 6: Bây giờ chúng ta phải tính toán đường viền trong hình ảnh và chuyển đổi hình ảnh thành RGB từ BGR và sau đó vẽ các đường viền.

    import8import9import9matplotlib.pyplot as plt1import7import4matplotlib.pyplot as plt4import4import7import6matplotlib.pyplot as plt8

    coins in the image :  5
    2

    image 1image 2image 3import4image 5image 6

    Output: 

    coins in the image :  5

    Bài Viết Liên Quan

    Chủ Đề