Computer >> Máy Tính >  >> Lập trình >> Python

Ngưỡng trễ là gì? Làm thế nào nó có thể đạt được bằng cách sử dụng scikit-learning trong Python?

Độ trễ đề cập đến hiệu ứng trễ của một kết quả. Đối với ngưỡng, độ trễ đề cập đến khu vực nằm trên giá trị ngưỡng thấp cụ thể hoặc trên giá trị ngưỡng cao. Nó đề cập đến các khu vực rất tự tin vào bản chất.

Với sự trợ giúp của độ trễ, nhiễu bên ngoài các cạnh của đối tượng trong ảnh có thể được bỏ qua.

Hãy để chúng tôi xem cách có thể đạt được ngưỡng trễ bằng cách sử dụng thư viện scikit-learning:

Ví dụ

import matplotlib.pyplot as plt
from skimage import data, filters
fig, ax = plt.subplots(nrows=2, ncols=2)
orig_img = data.coins()
edges = filters.sobel(orig_img)
low = 0.1
high = 0.4
lowt = (edges > low).astype(int)
hight = (edges > high).astype(int)
hyst = filters.apply_hysteresis_threshold(edges, low, high)
ax[0, 0].imshow(orig_img, cmap='gray')
ax[0, 0].set_title('Original image')
ax[0, 1].imshow(edges, cmap='magma')
ax[0, 1].set_title('Sobel edges')
ax[1, 0].imshow(lowt, cmap='magma')
ax[1, 0].set_title('Low threshold')
ax[1, 1].imshow(hight + hyst, cmap='magma')
ax[1, 1].set_title('Hysteresis threshold')
for a in ax.ravel():
a.axis('off')
plt.tight_layout()
plt.show()

Đầu ra

Ngưỡng trễ là gì? Làm thế nào nó có thể đạt được bằng cách sử dụng scikit-learning trong Python?

Giải thích

  • Các thư viện bắt buộc được nhập.

  • Hàm subplot được sử dụng để thiết lập khu vực cốt truyện trước khi vẽ các hình ảnh trên bảng điều khiển.

  • Dữ liệu 'coin' đã có trong gói scikit-learning được sử dụng làm dữ liệu đầu vào.

  • Bộ lọc ‘sobel’ được sử dụng để lấy hình ảnh ‘sobel’ của đầu vào, trong đó các cạnh được nhấn mạnh trong hình ảnh kết quả

  • Hàm ‘apply_hysteresis_threshold’ được sử dụng để nhận các giá trị trên và dưới một ngưỡng nhất định.

  • Dữ liệu này được hiển thị trên bảng điều khiển bằng cách sử dụng chức năng ‘imshow’.