像素级提取图像关键特征算法-rgb
关键词:python像素级处理图像,python提取图片关键特征。
基于knn的图像识别技术主要涉及到以下概念:
- 色彩成像原理
【图像原理】rgb数字图片概念 - 计算机显示色彩原理
【图像原理】rgb数字图片概念之显示器成像原理 - 色彩与灰度的概念
【图片处理算法】像素级图像处理算法–彩色转黑白 - 图片特征提取 👈(本文内容)
- 建立矩阵并录入黑白照片的每一个像素位
⭐⭐⭐
提取图像关键特征
目前很多主流图像识别技术皆是通过形状等因素识别图像内容,这里介绍一种通过rgb成色技术来简单识别 ❗ 简单识别 ❗ 简单识别指定内容的方法。
原理很简单,在一组给定的图片中,只需要得到需要被识别的内容的颜色,即可通过rgb的滤镜技术将所需部分过滤出来。
假设我们要将下图中的红色交通指示牌识别出来:
实现步骤:
- 需要先采集红色停牌的颜色
- 遍历图片中每一个像素点把其他颜色滤掉
在这个例子中,目标整体颜色为红色,那么基于rgb的成像技术,我们只需要提取出像素中红色值大于1.5被平均值的像素即可(1.5这个系数越大结果越保守)。这里我们将目标颜色染成黑色,并将其余部分染成白色。
def colorless(filename):
image=SimpleImage(filename)
for pixel in image:
avg=(pixel.red + pixel.green + pixel.blue)/3;
if pixel.red > 1.5*avg:
pixel.red = 0
pixel.blue = 0
pixel.green = 0
else:
pixel.red = 255
pixel.blue = 255
pixel.green = 255
return image
提取效果如下:
什么 ❓ 你觉得内容不够嘈杂❓ ❓ ❓
我们来测试以下稳定性
我们可以看到在下面这张图中有很多错误的点,我们可以通过提高阀值来减少这样的误差
提高阀值后效果还是很明显👉:
总结
通过rgb算法对简单物体识别还是比较准确高效的,后期通过knn算法进行机器训练后可以达到很高的识别准确率。