Принцип реализации масляной живописи
Простое понимание масляной живописи - это изображение с художественным смыслом.Цвет более яркий, чем исходное изображение, но он искажен.
А для читателей, которые любят ценить искусство, они, должно быть, уделяли более или менее внимание масляной живописи.Масляная живопись не является деликатной, и небольшая часть очень размыта из-за скопления цветовых блоков. Поэтому принцип нашей реализации масляной живописи состоит в том, чтобы обрабатывать изображение построчно, так, чтобы окружающие пиксели соседних расстояний были зашифрованы.
Что касается зашифрованного алгоритма, вы можете разработать его случайным образом. Однако следует отметить, что при обработке к краю изображения, такого как последний пиксель в левом нижнем углу, если пиксели будут нарушены, это, очевидно, не рекомендуется принимать правильную, потому что нет пикселей на Право, что приведет к тому, что массив выйдет из границ. Поэтому при работе с картинами нефти вы можете искусственно отрезать некоторые краевые пиксели для путаницы.
Кроме того, поскольку в картинах маслом используются яркие цвета, нам необходимо улучшить цветовое пространство изображения. А в библиотеке Python PIL есть готовый класс ImageEnhance. Этот класс специально используется для обработки улучшения изображения.Он может не только повысить яркость, контрастность и цветность изображения, но также повысить резкость изображения.Поэтому мы понимаем, что масляная живопись может быстро реализовать операцию улучшения изображения. через это.
Далее давайте посмотрим, как реализовано его улучшение изображения. код показывает, как показано ниже:
enh_col=ImageEnhance.Color(img)
color = 2.0
new_img = enh_col.enhance(color)
img здесь - это изображение, прочитанное PIL, Если вы хотите прочитать изображение с помощью PIL и перейти к формату изображения, прочитанному OpenCV, вы можете выполнить следующий код:
new_img = cv2.cvtColor(np.asarray(new_img), cv2.COLOR_RGB2BGR)
Среди них new_img — это формат изображения, читаемый PIL.
Цвет параметра функции улучшения представляет богатство и насыщенность цвета изображения.Когда значение равно 1, цветность остается неизменной, а увеличение значения указывает на увеличение коэффициента цветности, чтобы достичь эффекта улучшение изображения.
Реализовать эффект масляной живописи
Теперь, когда вы поняли принцип реализации эффекта масляной живописи. Ниже мы переходим непосредственно к коду, чтобы завершить операцию масляной живописи. Конкретный код выглядит следующим образом:
# 油画效果
def oil_effect(img):
h, w, n = img.shape
new_img = np.zeros((h - 2, w, n), dtype=np.uint8)
for i in range(h - 2):
for j in range(w):
if random.randint(1, 10) % 3 == 0:
new_img[i, j] = img[i - 1, j]
elif random.randint(1, 10) % 2 == 0:
new_img[i, j] = img[i + 1, j]
else:
new_img[i, j] = img[i + 2, j]
return new_img
# 图像增强
def img_add():
img = Image.open("oil.jpg")
enh_col = ImageEnhance.Color(img)
color = 2.0
new_img = enh_col.enhance(color)
new_img = cv2.cvtColor(np.asarray(new_img), cv2.COLOR_RGB2BGR)
return new_img
if __name__ == "__main__":
img = cv2.imread("49.jpg")
oil_img = oil_effect(img)
cv2.imwrite("oil.jpg", oil_img)
cv2.imshow("0", img)
cv2.imshow("1", img_add())
cv2.waitKey()
cv2.destroyAllWindows()
После запуска эффект следующий: