Обнаружение выпущенных дефектов [закрыто]C++

Программы на C++. Форум разработчиков
Anonymous
Обнаружение выпущенных дефектов [закрыто]

Сообщение Anonymous »

Я пытаюсь обнаружить выпуклость дефектов на изображении, используя OpenCV. Тем не менее, результат кажется недостаточно хорошим. Несколько вогнутых моментов не обнаруживаются, даже они очень ясны. Вот мой код < /p>

Код: Выделить всё

void test_convexityDefects(
const cv::Mat& binary_,
std::vector concave_points_) {

concave_points_.clear();
std::vector contours;
cv::findContours(binary_, contours, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_SIMPLE);
for (auto& cnt : contours) {
std::vector hullIndices;
cv::convexHull(cnt, hullIndices, false, false);
std::vector defects;
if (cnt.size() >= 3 && hullIndices.size() >= 3) {
cv::convexityDefects(cnt, hullIndices, defects);
std::vector farPoints;
for (const auto& d : defects) {
int farIdx = d[2];
float depth = d[3] / 256.0f;
if (depth > 1) {
concave_points_.push_back(cnt[farIdx]);
}
}
}
}
}
Есть какой -либо метод для обнаружения всех вогнутых точек на изображении?>

Подробнее здесь: https://stackoverflow.com/questions/796 ... ty-defects

Вернуться в «C++»