ảnh Input: cụm Phát hiện các điểm ảnh màu trắng trong một hình ảnh sử dụng OpenCV
Dự kiến Output:
tôi dự định để phù hợp với ba (hoặc một số số) đa giác (đối với trường hợp này, hình chữ nhật) để biểu thị các đốm trắng "lớn" trong hình ảnh này. Các hình chữ nhật được vẽ trong hình ảnh đầu ra theo nhận thức của tôi về các vùng trắng. Tôi không mong đợi thuật toán để đưa ra các khu vực cùng một bó hoa. Những gì tôi muốn là để phù hợp với một số đa giác chặt chẽ xung quanh các cụm điểm ảnh màu trắng.
Giải pháp ban đầu của tôi bao gồm việc tìm đường viền cho hình ảnh này và lắp một đa giác lồi khép kín quanh mỗi đường bao bằng cách tìm thân lồi của các điểm trong mỗi đường bao. Tuy nhiên, vì các vùng màu trắng bị phân mảnh cao với các vùng màu đen bên trong và lẩn tránh xung quanh các cạnh, số lượng các đường bao trả về bởi cv2.findContours rất cao (khoảng 500 hoặc hơn). Do đó, việc lắp một thân lồi không cải thiện hình dạng của các vùng trắng. Các vùng trắng chủ yếu giữ lại hình dạng trừu tượng ban đầu của chúng. Mục tiêu của tôi là kết hợp nhiều đường nét nhỏ của một vùng trắng thành một đường bao quanh có chứa đường viền mà sau đó tôi có thể vừa vặn với một lồi lồi.
Làm cách nào để giải quyết vấn đề này? Tôi có nên sử dụng thuật toán phân cụm trên các điểm đường viền ban đầu để tìm các đường bao gần nhau không?
http://en.wikipedia.org/wiki/DBSCAN có thể trợ giúp. dưới python scikit. demo tại đây http://scikit-learn.org/stable/auto_examples/cluster/plot_dbscan.html – baci