Giai đoạn 1 · Nền tảng lập trình & xử lý ảnh · Chặng 3/14
Chặng 3: Image Processing
Học xong chặng này, bạn có thể: Tách đối tượng khỏi nền, đếm và đo đặc trưng bằng thuật toán cổ điển.
- 8 bài học
- ~10 giờ học
- ~4 tuần
- 0/8 bài đã học
Trước khi bắt đầu
Hoàn thành chặng 2 (OpenCV): đọc ảnh, chuyển màu, cắt ROI, vẽ kết quả.
Chặng này gồm
- Lọc nhiễu (Gaussian, median), histogram và cân bằng sáng
- Phân ngưỡng, morphology, phát hiện cạnh Canny
- Contour, blob analysis: đếm, đo diện tích, tìm tâm
Bài học theo thứ tự
Học lần lượt từ trên xuống. Làm hết bài tập trong mỗi bài, đánh dấu đã học để theo dõi tiến độ.
-
1
Histogram và cân bằng sáng
Đọc histogram để chẩn đoán ảnh · Kéo giãn tương phản, cân bằng histogram · Dùng CLAHE cho ảnh sáng không đều
-
2
Lọc nhiễu và phát hiện cạnh
Hiểu kernel và phép tích chập · Lọc Gaussian, median trước khi tìm cạnh · Dùng Sobel, Canny và chọn ngưỡng
-
3
Phân ngưỡng và contour: đếm, đo vật thể
Phân ngưỡng cố định, Otsu, adaptive · Tìm contour và lọc theo diện tích · Đếm vật và đo kích thước theo pixel
-
4
Morphology: erode, dilate, opening, closing
Hiểu phần tử cấu trúc · Xóa nhiễu bằng opening, lấp lỗ bằng closing · Dùng top-hat, gradient để làm nổi chi tiết
-
5
Đặc trưng contour và blob analysis
Tính diện tích, chu vi, độ tròn, tâm · Dùng minAreaRect để lấy góc xoay · Phân loại vật theo đặc trưng hình học
-
6
Watershed: tách các vật dính nhau
Dùng distance transform tìm tâm vật · Tách vật chạm nhau bằng watershed · Kiểm tra kết quả đếm
-
7
Biến đổi hình học: affine và phối cảnh
Căn thẳng vật theo góc xoay · Nắn ảnh chụp nghiêng bằng phối cảnh · Biến đổi tọa độ điểm
-
8
Dự án chặng 3: đếm sản phẩm trên băng tải
Kết hợp phân ngưỡng, morphology, contour · Đếm vật đi qua vạch không đếm trùng · Xuất kết quả và ảnh minh chứng