เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ฮิสโตแกรม

ฮิสโตแกรม แสดงการกระจายตัวของค่าในภาพ โดยจัดกลุ่มแต่ละพิกเซลตามระดับความเข้มแสง แล้ววัดขนาดของแต่ละช่วง

พื้นที่ใต้ฮิสโตแกรมเรียกว่า ฟังก์ชันการแจกแจงสะสม (cumulative distribution function) ซึ่งวัดความถี่ที่ระดับความเข้มแสงของพิกเซลในช่วงต่าง ๆ ปรากฏขึ้น

ในแบบฝึกหัดนี้ ให้วิเคราะห์การกระจายตัวของความเข้มแสงใน im โดยคำนวณฮิสโตแกรมและฟังก์ชันการแจกแจงสะสม จากนั้นแสดงผลทั้งสองพร้อมกัน

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การวิเคราะห์ภาพทางชีวการแพทย์ด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • นำเข้า scipy.ndimage ในชื่อ ndi
  • สร้างฮิสโตแกรม 256 ช่วงของ im ให้ครอบคลุมช่วงค่าทั้งหมดของ np.uint8
  • คำนวณฟังก์ชันการแจกแจงสะสมของ im โดยหาผลรวมสะสมของ hist ก่อน แล้วหารด้วยจำนวนพิกเซลทั้งหมดใน hist
  • พล็อต hist และ cdf บน subplot แยกกัน ซึ่งได้เตรียมโค้ดส่วนนี้ไว้ให้แล้ว

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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()
แก้ไขและรันโค้ด