在opencv中利用六种颜色来逼近lenna原图像达到以下效果:六种颜色分别为:25500255255002550025525500255255255255
以下是使用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原图像的效果。
原文地址: https://www.cveoy.top/t/topic/bLKg 著作权归作者所有。请勿转载和采集!