Tôi đang tiếp cận một nhiệm vụ về Tin học sinh học và cần trích xuất một số tính năng từ một số hình ảnh ô.Loại bỏ các điểm khóa SIFT ngoại vi trong hình ảnh di động bằng OpenCV
Tôi đã sử dụng thuật toán SIFT để trích xuất các điểm chính bên trong hình ảnh, như bạn có thể thấy trong hình.
Như bạn cũng có thể nhìn thấy trong hình (vòng tròn màu đỏ), một số điểm chính là giá trị ngoại biên và tôi không muốn để tính toán bất kỳ tính năng trên chúng.
tôi đắc vector cv::KeyPoint
với đoạn mã sau:
const cv::Mat input = cv::imread("/tmp/image.jpg", 0); //Load as grayscale
cv::SiftFeatureDetector detector;
std::vector<cv::KeyPoint> keypoints;
detector.detect(input, keypoints);
nhưng tôi muốn hủy từ vector
tất cả những điểm quan trọng mà, nói ví dụ, còn lại ít hơn 3 điểm quan trọng bên trong của một số khu vực quan tâm (ROI) tập trung vào chúng trong hình ảnh.
Vì vậy, tôi cần phải thực hiện một hàm trả về số lượng các điểm then chốt bên trong một ROI nhất định cho là đầu vào:
int function_returning_number_of_key_points_in_ROI(cv::KeyPoint, ROI);
//I have not specified ROI on purpose...check question 3
tôi có ba câu hỏi sau:
- Có bất kỳ chức năng hiện thực một cái gì đó tương tự?
- Nếu không, bạn có thể cho tôi một số trợ giúp trong việc hiểu cách tự mình thực hiện nó không?
- Bạn có sử dụng ROI hình tròn hoặc hình chữ nhật cho tác vụ này không? Và bạn sẽ chỉ định nó như thế nào trong đầu vào?
Lưu ý:
Tôi quên để xác định rằng tôi muốn một thực hiện hiệu quả chức năng, tức là kiểm tra cho mỗi điểm mấu chốt vị trí tương đối của tất cả những người khác liên quan đến nó sẽ không phải là một giải pháp tốt (nếu có một cách khác để làm).
Bạn có thể đăng hình ảnh gốc không? Tôi muốn thử một cái gì đó, và sau đó gửi lại các kết quả nếu nó thành công :) – mevatron
@mevatron - http://s18.postimage.org/jayhj4q3d/phase1_image1.jpg ở đây bạn đi, tôi đã tải lên phiên bản RGB, chỉ cần chuyển đổi nó thành màu xám nếu bạn whish .... cho tôi biết những gì bạn đang làm;) – Matteo
Bạn có thể sử dụng RANSAC, nếu bạn có thể xác định một mô hình. RANSAC sẽ quyết định điểm nào là các ngoại lệ (phù hợp với mô hình) và các ngoại lệ (không phù hợp với mô hình). Có lẽ mô hình của bạn có thể giống như 3 điểm xác định một khu vực nhỏ hơn X (có nghĩa là chúng đủ gần). Đó là một ý tưởng. –