OpenCV cơ bản: đọc, hiển thị, ghi ảnh, video và camera
Cài OpenCV, imread/imshow/imwrite, đường dẫn tiếng Việt trên Windows, đọc ghi video, vòng lặp webcam đo FPS, waitKey và thuộc tính camera.
Bước 1 · Học
Bài học và bài viết về OpenCV trên HọcFree.
32 bài viết⭐ Mới bắt đầu? Học theo thứ tự
6 bài học sắp xếp từ dễ đến khó, có mục tiêu, bài tập và dự án cuối chặng.
Cài OpenCV, imread/imshow/imwrite, đường dẫn tiếng Việt trên Windows, đọc ghi video, vòng lặp webcam đo FPS, waitKey và thuộc tính camera.
Vì sao OpenCV dùng BGR, khi nào chuyển Gray, HSV; tách vật theo màu bằng inRange, xử lý màu đỏ hai dải Hue và chọn ngưỡng từ ảnh thật.
Cắt ROI an toàn theo biên, resize đúng thứ tự (w, h) và chọn nội suy, letterbox giữ tỉ lệ, xoay không mất góc, viền và ghép ảnh so sánh.
Vẽ khung, đường, điểm, chữ có viền, bảng trong suốt bằng addWeighted và thanh trạng thái OK/NG; lưu ý tiếng Việt với putText.
Tách pipeline thành tiền xử lý, tìm vật, đánh giá; cấu hình JSON có kiểm tra, đo thời gian từng bước và chạy hồi quy trên thư mục ảnh.
Đọc camera hoặc video, chọn ROI bằng chuột, lưu ảnh OK/NG theo ngày bằng một phím, hiển thị FPS, độ sáng, độ nét: công cụ thu dữ liệu cho mọi dự án Vision.
Phát hiện linh kiện thiếu và vật thừa bằng cách so với ảnh mẫu: absdiff, căn chỉnh bằng phaseCorrelate và dải dung sai từ dilate, erode để không báo nhầm ở cạnh.
Dùng FFT tìm đỉnh tần số của hoa văn lặp lại trên vải, lưới, kim loại, xóa bằng notch filter rồi phát hiện vết bẩn mờ. Code NumPy và OpenCV có kết quả kiểm chứng.
Lucas-Kanade và Farneback trong OpenCV: đo dịch chuyển từng khung hình, quy đổi ra vận tốc băng tải theo m/s và tìm vùng đang chuyển động, có code kiểm chứng.
Làm sạch mặt nạ nhị phân: chọn phần tử cấu trúc và kích thước kernel, xóa nhiễu, lấp lỗ, nối nét đứt, top-hat cho nền sáng không đều.
Tính diện tích, chu vi, tâm, độ tròn, độ đặc, khung xoay đúng trên mọi phiên bản OpenCV, đếm lỗ, phân loại vật và quyết định OK/NG theo dung sai.
Tìm cạnh chính xác dưới 1 pixel bằng caliper, fit đường thẳng và đường tròn bằng bình phương tối thiểu, loại ba via và đánh giá độ lặp lại phép đo.
Dùng matchTemplate đúng cách: chọn phương pháp chịu thay đổi ánh sáng, tìm nhiều vật với NMS, tăng tốc bằng kim tự tháp và dời ROI theo vị trí vật.
Định vị vật xoay bằng ORB và RANSAC, so khớp hình dạng bằng Hu moments, và tự cài đặt shape-based matching theo hướng gradient để hiểu vì sao nó bền vững.
Nhận diện nhóm bài toán, kỹ thuật và con số cần hỏi cho từng nhóm, ví dụ OpenCV chạy được và bảng chấm độ khó 0–16 cho một yêu cầu.
So sánh thư viện thương mại và mã nguồn mở, khi nào dùng smart camera, tính chi phí theo số trạm và các bẫy bản quyền.
Kiểm tra phiên bản, đọc tài liệu API đúng cách, tra cứu ngay trong Python và quy trình xử lý lỗi khi code không chạy.
Dùng OpenCV trong C# và .NET để viết phần mềm trạm kiểm tra: cài đặt, đếm vật thể, đọc camera và quy tắc quản lý bộ nhớ Mat.
Trang tra cứu nhanh đọc ghi ảnh, màu sắc, lọc, phân ngưỡng, contour, đo đạc, so khớp mẫu, vẽ kết quả và 5 lỗi hay gặp.
Ngưỡng cố định, Otsu, adaptive; tìm và lọc contour, đếm đồng xu và đo kích thước theo pixel, kiểm chứng bằng ảnh có đáp án.
Tính homography từ điểm mốc, đổi pixel sang mm, RANSAC, nắn ảnh nhìn thẳng và tính bằng số sai số khi vật có chiều cao.
Cắt dán lỗi thật lên ảnh OK bằng alpha và seamlessClone, sinh nhãn YOLO tự động, lỗi thủ tục, domain gap và đánh giá trung thực trên ảnh thật.
Tạo video băng tải có đáp án, tách sản phẩm, theo dõi tâm để đếm mỗi vật đúng một lần qua vạch, thống kê theo phút, log CSV và ảnh minh chứng.
Đọc QR bằng OpenCV, DataMatrix bằng pylibdmtx, kiểm tra chuỗi GS1 với lệnh sản xuất, đo giới hạn mờ, nghiêng và tăng tỉ lệ đọc bằng chiến lược bậc thang.
Cài Tesseract, xây pipeline tiền xử lý đo được hiệu quả, chọn PSM, whitelist và dùng độ tin cậy từng từ để quyết định OK hay không đọc được.
Số f, ánh sáng, DOF và nhiễu xạ bằng con số; lấy nét bằng phương sai Laplacian, Tenengrad; khóa và giám sát ống kính trong sản xuất.
Mô hình pinhole và hệ số méo, hiệu chuẩn bàn cờ với OpenCV trên bộ ảnh có đáp án, đánh giá reprojection từng ảnh, khử méo, lưu YAML và cách chụp ảnh hiệu chuẩn đúng.
Xây giao diện vận hành: vòng lặp camera trên luồng nền, cập nhật giao diện an toàn, giải phóng Bitmap tránh rò rỉ bộ nhớ.
Căn thẳng vật theo góc minAreaRect, nắn tờ A4 chụp nghiêng về đúng 210×297 mm bằng homography và đổi tọa độ điểm thay vì cả ảnh.
Tìm tâm vật bằng distance transform, tách viên thuốc chạm nhau bằng watershed và kiểm tra kết quả đếm trước khi gửi PLC.
Đọc histogram để tự chẩn đoán ảnh tối, cháy sáng, tương phản thấp; kéo giãn, gamma, cân bằng toàn cục và CLAHE cho ánh sáng không đều.
Kernel và tích chập, chọn Gaussian hay median cho nhiễu muối tiêu, gradient Sobel, Canny và cách chọn ngưỡng có căn cứ, kèm trackbar.