以下是使用Python代码实现的方法:

import cv2
import numpy as np

# 读取Lenna图像
img = cv2.imread('lenna.png')

# 创建一个空白图像,大小与Lenna图像相同
output = np.zeros_like(img)

# 定义六种颜色
colors = [(255, 0, 0), (255, 255, 0), (0, 255, 0), (0, 255, 255), (0, 0, 255), (255, 255, 255)]

# 遍历Lenna图像的每个像素
for i in range(img.shape[0]):
    for j in range(img.shape[1]):
        # 计算Lenna图像当前像素的灰度值
        gray = sum(img[i, j]) / 3
        # 根据灰度值选择对应的颜色
        if gray < 51:
            color = colors[0]
        elif gray < 102:
            color = colors[1]
        elif gray < 153:
            color = colors[2]
        elif gray < 204:
            color = colors[3]
        elif gray < 255:
            color = colors[4]
        else:
            color = colors[5]
        # 将当前像素设置为对应的颜色
        output[i, j] = color

# 显示输出图像
cv2.imshow('output', output)
cv2.waitKey(0)
cv2.destroyAllWindows()

运行以上代码,即可得到使用六种颜色逼近Lenna原图像的效果。

在opencv中利用六种颜色来逼近lenna原图像达到以下效果:六种颜色分别为:25500255255002550025525500255255255255

原文地址: https://www.cveoy.top/t/topic/bLKg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录