OpenCV предназначен для обнаружения,онне предназначен для количественной оценки.

Данные — это хаос, и, возможно, в этом хаосе вы найдете самые замечательные закономерности.
— venali sonone

Святая Моли! Я, ленивое существо, воспользовался прекрасной возможностью пандемии, чтобы расслабиться в течение всего года профессионально, лично и в промежутках. Скажем, после 7-месячного творческого отпуска я вернулся в поле, и, ребята, следите за обновлениями для нескольких статей.

Этот блог — небольшая разминка со случайным и, тем не менее, простым машинным зрением.

Начнем с того, что знаем!

Нам нравится работать с машинным зрением. Мы, наверное, в жизни еще детьми знали следующие нормы.

Начальными шагами в анализе изображения являются извлечение из изображения примитивов, таких как линии, края, кривые или простые текстуры. Мы прекрасно знаем, что наиболее распространенным и критерием для нас является поворот в сторону OpenCV. Мои убеждения пошатнулись, когда я узнал, что не могу этого сделать, когда недавно меня попросили выполнить задачу с точностью до 0,000001 мм. Ха! OpenCV предназначен для обнаружения,онне предназначен для количественного определения.

Как специалисты по данным, мы умеем решать проблемы. Сегодня я совершил экскурсию по DIPlib, чтобы узнать, как подогнать декартову коробку, которая мне очень нужна, с ожидаемой точностью. Эта статья объясняет несколько исследований, достаточно хороших для того, чтобы вы могли начать новые задачи машинного зрения в очках.

Краткие примечания по установке PyDIP, оболочки над DIPlib.

  • pip установить diplib
  • pip установить pydip
  • python -m diplib download_bioformats

Объект изображения

Изображение — это не что иное, как первый кортеж с размером изображения (ширина, высота), а второй важный аргумент — это количество тензора, т.е. элементов на пиксель.

Как только мы это проясним, мы можем индексировать объект изображения, и он работает так же, как и для других типов массивов в Python.

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

  1. Загрузка изображений с использованием PyDIP, который идентифицирует несколько сотен типов файлов.
  2. Изучите каналы изображений и их фильтрацию.
  3. Взгляд на инструментарий измерений.

Виноват!

Если вы немного новичок в изображениях и тензорах, вы можете чувствовать себя немного потерянным. Не беспокойтесь, следующая тетрадь заложит основу для знакомства с любой задачей, которую вам придется выполнять.

Тензорные изображения

Изображение в пикселях. Эти пиксели имеют любое количество значений, связанных с каждым пикселем.

Изображение с одним значением на пиксель является скалярным изображением.

Несколько значений могут быть расположены в одном или двух измерениях, как векторное изображение или матричное изображение.

Цветное изображение является примером векторного изображения, например, в цветовом пространстве RGB вектор для каждого пикселя имеет 3 значения, это трехмерный вектор.

Обобщение векторов и матриц является тензором. Тензор ранга 0 является скаляром, тензор ранга 1 является вектором, а тензор ранга 2 является матрицей.

Давайте погрузимся в блокнот, чтобы понять:

  1. Вычисление градиентов
  2. Применение фильтров нижних частот
  3. Разложения по собственным значениям
  4. Взгляните на матрицу Гессе

Теперь, когда два вышеупомянутых были достаточно хороши для закладки фундамента.

Следующая записная книжка предназначена для некоторых личных задач «привет, мир», которые мне нужно выполнить в будущем. Надеюсь, фрагменты «hello world» помогут вам

Блокнот содержит фрагменты для основ чтения и преобразования изображений в двоичные изображения.

Обнаружение объектов в бинарном изображении, а затем измерение нескольких атрибутов, таких как площадь, диаметр, декартовы квадраты и т. д. с точностью до 0,000001 мм. Так что ныряйте :) Удачи!

об авторе

Я Венали Сононе, специалист по данным по профессии, а также специалист по финансам.

В то время как все живут среди неизвестной борьбы и поиска цели, я лично считаю нормальным украдкой улыбнуться и выразить благодарность за все правильные или неправильные жизненные решения, принятые в различных обстоятельствах, которых вы не могли бы иметь. выбрано лучше в противном случае.