¿Hay una función para conectar dos (o más) contornos cercanos? Echar un vistazo a mi entrada/salida y verá lo que quiero decir ...OpenCV C++/Obj-C: Conectar contornos cercanos
Mi código:
[... some processing ...]
// getting contours
std::vector<std::vector<cv::Point> > contours;
findContours(input, contours, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE);
// approximate contours
std::vector<std::vector<cv::Point> > contours_poly(contours.size());
for(int i = 0; i < contours.size(); i++) {
approxPolyDP(cv::Mat(contours[i]), contours_poly[i], 5, true);
}
// debugging
cv::Scalar colors[3];
colors[0] = cv::Scalar(255, 0, 0);
colors[1] = cv::Scalar(0, 255, 0);
colors[2] = cv::Scalar(0, 0, 255);
for (int idx = 0; idx < contours_poly.size(); idx++) {
cv::drawContours(output, contours_poly, idx, colors[idx % 3]);
}
Usted podría dilatar el imagen para hacer las curvas conectadas si están lo suficientemente cerca. – Adrian
¿Cómo lo hiciste con iOS? –
Está trabajando en iOS. Simplemente tome una copia de esta versión de OpenCV para iOS aquí: https://github.com/aptogo/OpenCVForiPhone y concéntrese en ello ... – dom