Рубрики
Без рубрики

Часть 2 серии обработки изображений: настройка пикселей в Python

Мы вернулись с другой статьей о работе с изображениями и в этом, вы узнаете шаги для настройки пикселей с модулем OpenCV в Python. Если

Автор оригинала: Pankaj Kumar.

Мы вернулись с другой статьей о работе с изображениями и в этом, вы узнаете шаги для настройки пикселей с модулем OpenCV в Python. Если вы просто начинаете, убедитесь, что вы узнаете, как загружать изображения в Python, который покрыт частью 1 этой серии.

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

Это статья, которая простирается от предыдущей вступительной статьи и, следовательно, будет пропущена процесс установки модуля OpenCV.

Получение и настройки пикселей на изображении

Большая часть обработки изображений имеет отношение к обработка Отказ

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

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

Простые слова, изменяя их.

Реализация курса с Opencv

Работа на OpenCV – намного больше рук, чем вы можете подумать, мы будем манипулировать изображениями.

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

Это поможет в решении проблемы попыток найти изображения для работы.

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

  • Caltech 101 – Caltech предоставляет нам отличный набор данных для работы с обработкой изображений, мы также будем использовать его в будущих реализациях OpenCV.
  • Мнист – Известно предоставление данных, используемых для обучения моделей на выявлении цифр численной системы.
  • Unsplash – Курорт, который обеспечивает изображения высокого разрешения без авторских прав. Не забудьте задать должное автору и обсудить с ними, если вы планируете коммерциализировать его.
  • Google Images , Последний курорт. Эй, иногда, это неизбежно. Используйте Creative Commons, если вам нужно.

Получение изображений и настройки пикселей в Python Opencv

Мы будем использовать модуль argparse для этого сценария, что позволяет нам предоставить путь к файлу изображения в командной строке.

1. Импортируйте необходимые модули

Давайте импортируем как модули,

# importing argument parsers
import argparse

# importing the OpenCV module
import cv2

2. Чтение изображения

Далее мы создадим объект, который принимает в параметре аргумента, а затем назначает путь к args Отказ

Выходя вперед, мы позволяем переменную изображения прочитать изображение от args используя cv2.imread () функция.

# initializing an argument parser object
ap = argparse.ArgumentParser()

# adding the argument, providing the user an option
# to input the path of the image
ap.add_argument("-i", "--image", required=True, help="Path to the image")

# parsing the argument
args = vars(ap.parse_args())

# reading the image location through args
# and reading the image using cv2.imread
image = cv2.imread(args["image"])

3. Назначение размеров в переменных

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

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

# assigns the image dimensions to two different variables
(h, w) = image.shape[:2]

# Displays the image using cv2.imshow
cv2.imshow("Original", image)

# Displays the image until the user presses a key closing the display
cv2.waitKey(0)

4. Окрашивая отдельные пиксели

Давайте теперь присваиваем цвет на определенный пиксель. Мы будем присвоить красным цветом пикселем в месте (0, 0).

# Values of the pixel before assigning a color to it
(b, g, r) = image[0, 0]
print("Pixel at (0,0) - Red: {r}, Green: {g}, Blue: {b}".format(r=r, g=g, b=b))

# Values of the pixel after assigning a color to it
image[0, 0] = (0, 0, 255)
(b, g, r) = image[0, 0]
print("Pixel at (0,0) - Red: {r}, Green: {g}, Blue: {b}".format(r=r, g=g, b=b))

# Displaying the altered image
cv2.imshow("Original-RedDot@0,0", image)
cv2.waitKey(0)

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

Итак, давайте вместо этого сделаем намного более видимым для глаз!

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

# Providing values to display a quarter of the image
(cX, cY) = (w / 2, h / 2)

# Displaying a quarter of the image
tl = image[0 : int(cY), 0 : int(cX)]
cv2.imshow("Top Left Corner", tl)
cv2.waitKey(0)

Три других квартала также были предоставлены, если вы хотите проверить его на любом из них 😉

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

# Top Right, Bottom Right, Bottom Left
tr = image[0 : int(cY), int(cX) : w]
br = image[int(cY) : h, int(cX) : w]
bl = image[int(cY) : h, 0 : int(cX)]

print("Top Right Corner", tr)
print("Bottom Right Corner", br)
print("Bottom Left Corner", bl)

# Altering the first quarter of the image to turn into green color
image[0: int(cY), 0: int(cX)] = (0, 255, 0)

# Displaying the updated image
cv2.imshow("Updated", image)
cv2.waitKey(0)

Наконец, вы будете встречаться с обновленным изображением с окрашенным первым кварталом!

Вы можете поэкспериментировать с этим так же, как вы хотели бы, так как мы не изменяем изначально существующим образом.

Заключение

Теперь вы знаете, как работать с данными, присутствующими в изображениях.

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

Хотите подкрадываться на работу с концепциями в будущем? Вот несколько статей о работе с обработкой изображений!

Работа с OpenCV и распознаванием лица и реализация Java Android и Camerax Opencv!

Рекомендации