Find Contours với opencv

1.Cách dùng findContours.

findContours(InputOutputArray image, OutputArrayOfArrays contours, OutputArray hierarchy, int mode, int method, Point offset=Point())

Parameters:
image : hình ảnh cần tìm biên, là ảnh nhị phân.
contours : lưu trữ các đường biên tìm được, mỗi đường biên được lưu trữ dưới dạng một vector của các điểm.
hierarchy :  chứa thông tin về hình ảnh như số đường viền, xếp hạng các đường viền theo kích thước, trong ngoài, ..
mode :
CV_RETR_EXTERNAL : khi sử dựng cờ này nó chỉ lấy ra những đường biên bên ngoài, nhưng biên bên trong của vật thể bị loại bỏ.
CV_RETR_LIST : Khi sử dụng cờ này nó lấy ra tất cả các đường viền tìm được.
CV_RETR_CCOMP : khi sử dụng cờ này nó lấy tất cả những đường biên và chia nó làm 2 level, những đường biên bên ngoài đối tượng, và những đường biên bên trong đối tượng.
CV_RETR_TREE : khi sử dụng cờ này nó lấy tất cả các đường biên và tạo ra một hệ thống phân cấp đầy đủ của những đường lồng nhau.
method :
CV_CHAIN_APPROX_NONE : sử dụng cờ này sẽ lưu trữ tất cả các điểm của đường viền .
CV_CHAIN_APPROX_SIMPLE : nó sẽ nén đường viền trước khi lưu trữ, nén phân đoạn theo chiều ngang, chiều dọc và chéo . Ví dụ : một hình chữ nhật sẽ được mã hoá bằng toạ độ của 4 đỉnh.
CV_CHAIN_APPROX_TC89_L1 or CV_CHAIN_APPROX_TC89_KCOS :  Áp dụng thuật toán xấp xỉ Teh-Chin.

 2.Cách dùng drawContours.

drawContours(InputOutputArray image, InputArrayOfArrays contours, int contourIdx, const Scalar& color, int thickness=1, int lineType=8, InputArray hierarchy, int maxLevel=INT_MAX, Point offset=Point() )
Parameters:
Image : hình ảnh đích.
contours : tất cả những đường biên đầu vào.
contourIdx:
color : màu của đường biên.
thickness : độ dày của các đường được vẽ.
hierarchy : thông tin về phân cấp các đường biên, như trên hàm findContour.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *