Xử lý hình ảnh

dog_thumb

Tạo ảnh PNG bằng cách xóa phông trắng

Có thể nhiều bạn đã biết ảnh PNG có thể “trong suốt – transparent”. Ảnh transparent khi nằm chồng lên ảnh khác thì phần transparent đó sẽ hiện ra ảnh bên dưới. Ví dụ như logo VisCom solution dạng PNG khi nằm ở trên ảnh camera sẽ không che lấp các pixel bên dưới:

Tạo ảnh PNG bằng cách xóa phông trắng

text_locator_thumb

Tìm vị trí của text trong ảnh

Với các loại text có format cố định thì việc đọc rất dễ dàng. Tọa độ đã được xác định, chỉ cần chỉ định vùng text cố định là được. Còn các loại văn bản khác thì cần xác định vị trí trước sau đó mới nhận dạng ký tự.

Việc này giúp cho đọc text nhanh hơn là tìm toàn bộ ảnh. Tuy nhiên có thể bị miss (bỏ sót) vùng text nên các bạn cần cân nhắc kỹ.

thumbnail

Tạo ảnh thumbnail từ video

Bản chất của video trong Thị giác máy tính là chuỗi các hình ảnh liên tiếp nhau để tạo ra chuyển động mượt mà. Để mắt người cảm thấy hình ảnh không bị giật thì tối thiểu là 24 fps (frame per second). Do đó, từ video ta có thể tách ra các hình ảnh rồi ghép lại để tạo thành ảnh thumbnail.

Bài này mục đích giới thiệu về các hàm cơ bản của OpenCV cho các bạn mới làm quen. Sau khi làm xong bài này có thể hiểu được:
– Trích xuất frame từ video
– ROI (region of interest)
– Save ảnh

Xác định độ nhòe của ảnh

Xác định độ nhòe của ảnh

Xác định độ nhòe của ảnh ứng dụng trong lấy nét tự động (auto focus). Trong một số ứng dụng khác cũng cần tính độ nhòe của ảnh để kiểm tra chất lượng input.

Các bài toán cần xác định độ nhòe chủ yếu là nhận dạng hình ảnh. Khi ảnh nhòe sẽ làm mất đi các đặc trưng hoặc gây nhiễu. Do đó cần loại bỏ các ảnh bị nhòe trước khi xử lý.

Thí dụ nhận diện khuôn mặt, đọc biển số xe máy – xe hơi.

blur

Làm mịn ảnh – smoothing

Làm mịn ảnh (smoothing) là công việc quen thuộc trong xử lý ảnh. Nó giúp loại bỏ các dữ liệu không cần thiết như hạt nhiễu, làm mượt biên ảnh,…

Có nhiều phương thức khác nhau được OpenCV cung cấp sẵn. Bài này giới thiệu về nguyên lý hoạt động & mục đích ứng dụng ở mỗi trường hợp. Tùy theo từng bài toán khác nhau mà sử dụng phương thức khác nhau, thậm chí phải kết hợp nhiều loại.

Bài viết này dịch từ document của OpenCV kết hợp với kinh nghiệm cá nhân.

Sử dụng floodfill để tìm ký tự

Hãy tưởng tượng về 1 bản đồ địa hình, trong đó có các đỉnh núi và các thung lũng. Khi chúng ta đổ nước vào đó thì mực nước sẽ luôn bằng nhau vì nước chảy lan đến khi gặp vật cản thì dừng lại. Dựa vào ý tưởng đó chúng ta có thể tách ký tự bằng cách xem các ký tự là các thung lũng, hoặc ngược lại các ký tự là những vùng cao còn nền là thung lũng.

Sử dụng floodfill để tìm ký tự
Hình trên là bản đồ địa hình, các đường đồng mức thể hiện mực nước dâng cùng độ cao và các vùng được liên kết với với nhau

Tracking đối tượng bằng Mosse

Trong Opencv 3.2.0 có 1 ví dụ bằng Python dùng để tracking đối tượng. Example này rất dễ sử dụng và độ chính xác cũng tương đối. Mặc dù không bằng lib Tracking nhưng cũng đủ để demo cho người mới bắt đầu.

Tracking đối tượng bằng Mosse là cách dễ nhất để hình dung ứng dụng thực tế của tracking là gì.

Đếm xe máy bằng thuật toán Background Subtraction

Đếm xe máy bằng thuật toán Background Subtraction

Sử dụng thuật toán Background Subtraction để đếm lượt xe vào bãi. Hình ảnh quay từ tầng hầm bãi xe tại quận 11. Đếm xe máy bằng thuật toán Background Subtraction là phương pháp hiệu quả nhất. Bởi vì xe có rất nhiều loại mà chỉ cần biết “có xe hay không” chứ không cần xác định chính xác vị trí.

Thuật toán được implement sẵn trong opencv, sử dụng thêm 1 số hàm đơn giản để nâng độ chính xác.

5-I190_4

Phát hiện tụ máu não

Tụ máu não là 1 triệu chứng nguy hiểm tới tính mạng con người. Các mạch máu bị đứt làm não không nhận đủ Oxy, có thể làm tê liệt thần kinh hoặc mất mạng. Chụp CT não có thể phát hiện được tụ máu não nhờ vào màu sắc, độ sáng của vùng máu tụ. Bài này sẽ hướng dẫn về cách phát hiện tụ máu não dựa vào cường độ sáng của ảnh.

Ảnh CT (Computed Tomography) là ảnh cắt lớp não, mỗi lớp cắt cách nhau 1.5 đến 2cm. Chuyên dùng để chẩn đoán bệnh và các triệu chứng khác trong não.

31095

Phát hiện đèn xe

Để đọc biển số xe được chính xác thì xe cần phải tắt đèn khi chụp ảnh. Bài toán đặt ra là phát hiện đèn xe đang bật để thông báo tắt đèn. Cụ thể là phát hiện đèn xe như trong ảnh.

Dựa vào đặc trưng của đèn xe thông thường là: màu trắng, tạo thành 1 vùng sáng lớn. Dựa vào đó giải quyết bài toán đặt ra bằng hệ màu HLS (HSL). Đọc thêm tại Không gian màu – color space