Как объединить контуры в OpenCV или настроить?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как объединить контуры в OpenCV или настроить?

Сообщение Anonymous »


Я использую OpenCV в Kotlin для обнаружения черных линий, но он всегда дает мне контуры черных линий, и поскольку они вообще не соединяются, это было бы необходимо, потому что мне придется преобразовать это в графики а затем используйте поиск пути!

Так как мне сделать так, чтобы объединить/сделать между ними только один контур?

Другим решением было бы, если бы он мог обнаруживать перекрестки/перекрестки, а затем иметь возможность создавать соединения типа X в кубе, как показано ниже:


Изображение


Вот код: личное развлечение ConvertSnapshotImageOpenCV (контекст: Контекст) { OpenCVLoader.initDebug()

val imagePath = File(context.getExternalFilesDir(null), "gps_app/map_snapshot.png") // Betöltés Mat objektumba val image = Imgcodecs.imread(imagePath.absolutePath, Imgcodecs.IMREAD_GRAYSCALE) // Получение ответа на запрос // Также есть выход val CropHeight = image.rows() / 9 // Также 9% — при сохранении логотипа Google val CropedImage = image.submat(0, image.rows() -cropHeight, 0, image.cols()) // Csak a fekete vonalak tartása meg val результат = Mat() Core.inRange(croppedImage, Scalar(0.0), Scalar(25.0), result) // От 0.0 до 100.0 можно получить результат, модифицируя его val контуры = ArrayList() Imgproc.adaptiveThreshold(croppedImage, result, 255.0, Imgproc.ADAPTIVE_THRESH_MEAN_C, Imgproc.THRESH_BINARY, 25, 12.0) Imgproc.findContours(результат, контуры, Mat(), Imgproc.RETR_EXTERNAL, Imgproc.CHAIN_APPROX_SIMPLE) val растровое изображение = Bitmap.createBitmap( обрезанноеИзображение.cols(), обрезанноеИзображение.строки(), Bitmap.Config.ARGB_8888 ) val холст = Холст (растровое изображение) Canvas.drawColor(Color.WHITE) // Создание и изменение цвета for (контур в контурах) { val Points = ArrayList(contour.toList()) вал путь = Путь() val svgPathData = StringBuilder("M") // "M" az "перейти в" параметры SVG если (points.isNotEmpty()) { svgPathData.append("${points[0].x},${points[0].y}") // Доступ к исходному состоянию } for (i в 1 до Points.size) { path.lineTo(points.x.toFloat(),points.y.toFloat()) svgPathData.append(" L ${points.x},${points.y}") // "L" az "line to" SVG parancs } путь.закрыть() svgPathData.append(" Z") // "Z" az "закрыть путь" Параметр SVG DataHolder.pathData.add(svgPathData.toString()) // Путь SVG, заданный для osztályszintű változóhoz Log.d("MyApp: - pathData main: ", DataHolder.pathData.toString()) вал краска = Краска() краска.цвет = Цвет.ЧЕРНЫЙ краска.стиль = Краска.Стиль.ЗАПОЛНЕНИЕ Canvas.drawPath(путь, краска) } val svgString = createSVGFromPathData(DataHolder.pathData) Каталог val = File(context.getExternalFilesDir(null), "gps_app") если (!directory.exists()) { каталог.mkdirs() } val svgFile = Файл(каталог, "convertedSVG_Map.svg") svgFile.writeText(svgString) } Я пробовал другие способы, но они не сработали :(
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Cv2.error: OpenCV(4.8.1) D:\a\opencv-python\opencv-python\opencv\modules\src\.cpp:660: ошибка: (-215: утверждение не вып
    Anonymous » » в форуме Python
    0 Ответы
    129 Просмотры
    Последнее сообщение Anonymous
  • Нарисуйте контуры элементов внутри изображения в OpenCV
    Гость » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Гость
  • Как рисовать контуры на каждом уровне иерархии OpenCV
    Anonymous » » в форуме C++
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Контуры OpenCV, сортирующие оси X и Y
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Как удалить контуры, расположенные слишком близко друг к другу по осям X OPENCV — PYTHON
    Anonymous » » в форуме Python
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous

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