Это 8-й день моего участия в Gengwen Challenge.Подробности о мероприятии, пожалуйста, проверьте:Обновить вызов
Расскажите, что такое компьютерное зрение, какое удобство OpenCV предоставляет нам для обработки изображений и его основных приложений, и, наконец, познакомьтесь с представлением изображений и тем, как его установить.
что такое компьютерное зрение
Во-первых, компьютерное зрение — это дисциплина, изучающая, как заставить машины «видеть», так что же такое «видение»? То есть наблюдение за окружающей средой для задач машинного зрения, таких как классификация изображений, распознавание объектов, отслеживание и измерение.
Как научная дисциплина компьютерное зрение изучает связанные теории и технологии, пытаясь построить системы искусственного интеллекта, которые могут получать «информацию» из изображений или многомерных данных.
Что такое OpenCV
OpenCVПолное название библиотеки компьютерного зрения с открытым исходным кодом — это кроссплатформенная библиотека компьютерного зрения. OpenCV был инициирован и разработан корпорацией Intel и находится в свободном доступе для коммерческого и исследовательского использования.
- Кроссплатформенность
- Поддерживает такие языки, как C, C++ и Python.
- проект с открытым исходным кодом
- легко установить
OpenCV можно использовать для разработки обработки изображений в реальном времени, компьютерного зрения и распознавания образов.
Как компьютеры представляют изображения
Сегодняшние компьютеры обычно используют 32 бита для представления цветов, а 32 бита одинаково разделены на четыре компонента, то есть 8 бит на компонент. Затем красный красный, зеленый зеленый и синий синий, каждый из которых имеет 8-битное пространство для представления, уровень, который можно представить, составляет 2 к 8-й мощности, который возможен 256. Мы видим, что изображение представляет собой плоскость с шириной и высотой. Положение пикселей может быть представлено положением ширины и высоты. Этот пиксель имеет RGB и каналы, а также можно понять как глубину. На самом деле, изображение состоит из 3-мерная матрица, поэтому представляющие изображения, на самом деле относительно простые и грубые, и фактически не содержит никакой семантической информации, поэтому она практически увеличивает сложность компьютерных задач.
Установить OpenCV
Во-первых, вам нужно установить среду python, рекомендуется установить python 3.6 или выше, а затем выполнить следующую команду
pip install opencv-python
Рекомендуемая установка
Рекомендуется сначала установить среду conda, а затем установить версию openCV для Python в среде conda.
Opencv чтение изображения
В OpenCV мы используем больше матриц (Matrix) для изменения изображения. Фактически мы видим, что картинка представляет собой двумерную матрицу, составленную из пикселей по строкам и столбцам, и каждый пиксель содержит каналы R, G и B для сохранения информации о картинке.
Когда дело доходит до матриц, мы должны упомянуть Numpy, полезную библиотеку Python для работы с массивами. Все данные структуры массива OpenCV можно преобразовать в структуру массива, предоставленную в Numpy.
читать изображение
МожетОфициально предоставить ресурсы для загрузкиСкачать картинки.
На самом деле за этим изображением Лены как отраслевым стандартом обработки изображений стоит определенная история.Сегодня это не в центре внимания.Причина выбора этого изображения заключается в том, что изображение умеренно смешивает детали, сглаженные области, тени и текстуры, так что оно может быть очень хорошим.Протестируйте различные алгоритмы обработки изображений.
cv2.imread('lena.jpg',0)
Первый параметр передает изображение для чтения, а второй параметр управляет режимом загрузки изображения.
- cv2.IMREAD_COLOR (1) Указывает, что загруженное изображение сохраняет цвет
- cv2.IMREAD_GRAYSCALE (0) означает, что загруженное изображение сохраняет только оттенки серого
- cv2.IMREAD_UNCHANGED (-1) Загрузить изображение, чтобы сохранить такие каналы, как прозрачность
img = cv2.imread('lena.jpg',0)
print(img)
[[163 162 161 ... 170 154 130]
[162 162 162 ... 173 155 126]
[162 162 163 ... 170 155 128]
...
[ 43 42 51 ... 103 101 99]
[ 41 42 55 ... 103 105 106]
[ 42 44 57 ... 102 106 109]]
Когда метод imread не находит файл изображения, он возвращает None вместо массива
openCV прочитать изображение
cv2.imshow('image',img)
cv2.waitKey(1)
cv2.destroyWindows()
Я просто вывожу изображение в виде массива.Вы также можете использовать метод imshow для вывода изображения на экран.Однако изображение будет мигать только с помощью imshow.Вы можете использовать waitKey, чтобы добавить для отображения изображения до тех пор, пока не пользователь нажимает кнопку Метод Параметр 5000 означает, что окно изображения будет закрыто через 5 секунд, если пользователь не выполнит никаких действий.
написать изображение
cv2.imwrite('lena_copy.png',img)