利用哈希表(字典)存储像素点出现的次数,同时记录出现次数为1的像素点的颜色值即可。
示例代码:
import cv2
import numpy as np
def find_different_color(img):
# 将BGR图像转为RGB图像
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
height, width, _ = img.shape
# 初始化哈希表
color_dict = dict()
# 遍历每个像素点并记录出现次数
for row in range(height):
for col in range(width):
color = tuple(img[row, col])
if color in color_dict:
color_dict[color] += 1
else:
color_dict[color] = 1
# 遍历哈希表找出只出现过一次的像素点的颜色值
color_list = []
for color, count in color_dict.items():
if count == 1:
color_list.append(color)
return color_list
if __name__ == '__main__':
img = cv2.imread('test.png')
color_list = find_different_color(img)
print(color_list)
注:以上代码以Python语言和OpenCV库为例,步骤可以根据具体情况进行调整。
上一篇:不使用库读取XML文件