如何在python脚本中的unix变量中属性化图像

brgchamk  于 2023-05-17  发布在  Unix
关注(0)|答案(1)|浏览(172)

我有这个代码:

os.system('convert xc:red xc:black xc:white +append swatch.png')
os.system('convert red_1.jpg +dither -remap swatch.png start.png')

在第一行中,我创建了一个保存的彩色图像,如下所示:
但是我想把这个图像属性为一个变量,不用再打开这个图像,直接这样做。就像这样,用一种简单的方式:

os.system('convert xc:red xc:black xc:white +append my_image')

在第二行中,我需要读取图像,我想直接将变量赋值,像这样:

os.system('convert input_image_1 +dither -remap input_image_2 output_image')

我正在对一个图像进行几个过程,我不想需要保存一个图像然后再打开它,我想直接进行过程,可以吗?

tjrkku2a

tjrkku2a1#

我使用了建议的Python代码:

import numpy as np
import cv2

# Load image
img = cv2.imread('marmoreio_red_1.jpg')

# Define standard colors
colors = [(0, 0, 0), (255, 255, 255), (0, 0, 255)]  # black, white, red

# Define color mapping function as a lambda function
map_colors = lambda pixel: colors[np.argmin([np.linalg.norm(np.array(pixel) - np.array(color)) for color in colors])]

# Map the colors in the image using the color mapping function
for i in range(img.shape[0]):
    for j in range(img.shape[1]):
        img[i, j] = map_colors(img[i, j])

# Display and save the resulting image
cv2.imshow("Standardized Image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

cv2.imwrite("standardized_image.png", img)

相关问题