Biểu đồ tần suất (Histograms)
Biểu đồ tần suất (histogram) cho thấy phân bố giá trị trong ảnh của bạn bằng cách gom mỗi phần tử theo mức cường độ và đo kích thước của từng thùng (bin).
Diện tích dưới biểu đồ tần suất được gọi là hàm phân phối tích lũy. Nó đo tần suất xuất hiện của một khoảng cường độ điểm ảnh nhất định.
Trong bài này, hãy mô tả phân bố cường độ trong im bằng cách tính biểu đồ tần suất và hàm phân phối tích lũy, rồi hiển thị chúng cùng nhau.
Bài tập này là một phần của khóa học
Phân tích ảnh Y sinh học bằng Python
Hướng dẫn bài tập
- Import
scipy.ndimagevới bí danhndi. - Tạo biểu đồ 256 bin cho
imbao phủ toàn bộ dải giá trị củanp.uint8. - Tính hàm phân phối tích lũy cho
im. Trước tiên, lấy tổng tích lũy củahist, sau đó chia cho tổng số điểm ảnh tronghist. - Vẽ
histvàcdftrên các subplot riêng. Phần này đã được chuẩn bị sẵn cho bạn.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Import SciPy's "ndimage" module
import ____ as ____
# Create a histogram, binned at each possible value
hist = ____
# Create a cumulative distribution function
cdf = hist.cumsum() / ____
# Plot the histogram and CDF
fig, axes = plt.subplots(2, 1, sharex=True)
axes[0].plot(hist, label='Histogram')
axes[1].plot(cdf, label='CDF')
format_and_render_plot()