美文网首页
Practical Python and OpenCV 第六章应

Practical Python and OpenCV 第六章应

作者: 专注挖坑的汪 | 来源:发表于2020-03-10 21:38 被阅读0次

我们已经有了RGB颜色空间,为什么还要去用其它的颜色空间

RGB空间很容易理解,但是当如果你需要去定义一个特定范围的颜色,定义一个颜色的准确的色度是不直观的。HSV颜色空间在定义一个特定的颜色的方面上更加直观,但是HSV对于表示人类看和解释颜色的方面不是很好。于是我们就有了L*a*b颜色空间,这个颜色空间试图去模仿人类观察和解释颜色的方法,在L*a*b颜色空间里面任意两个颜色的欧式距离有着实际的感知的意义

The addition of the perceptual meaning property makes the L*a*b* color space less intuitive and easy to understand than RGB or HSV, but because of the perceptual meaning property, we often use it in computer vision.

用L*a*b颜色空间和K-means聚集算法来寻找一张图片中的dominant colors

argparse是一个用于解析命令的库,ap.add_argument的设定命令里面 -i 和 -c -i后面的内容存在args这个map里面image对应的值,-c后面的内容存在args这个map里面clusters对应的值

py运行的命令和args里面的内容 接着读图像并且显示出来

把(image.shape[0],image.shape[1],3)的图像reshape成 (image.shape[0] * image.shape[1], 3)的一维数组

KMeans 是无监督学习的方法:https://blog.csdn.net/u013850277/article/details/88411966

utils是项目目录中的utils.py

centroid_histogram函数的实现

sklearn里面KMeans的说明:https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html#examples-using-sklearn-cluster-kmeans]

KMeans返回的对象里面有labels_ 和 cluster_centers_变量,labels就是每个元素所属类的标号

numLabels 是形成整数数组 0,1,...,clt.lablels_的不同种类的个数

numpy的histogram函数:https://blog.csdn.net/yangwangnndd/article/details/89489946

https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html

后面要将histogram里面的数 规范化 使得里面的所有数加起来为1(为啥鸭??)

看到后面的plot_colors就明白了,规范化的目的是把出现的数量转化成概率,感觉直接在histogram函数里面加上density = True就可以了

bar就是形成一个50*300的图,然后根据hist里面每个数据的出现概率和数据所代表的类centroids(其实质心就是颜色)

因为这个图里面的颜色很均一 所以质心其实就是这个颜色

endX 根据数据出现的比例 来画图

https://www.pyimagesearch.com/2014/05/26/opencv-python-k-means-color-clustering/ 里面有作者的解释

最后这个结果中的黄色感觉比图像中的黄色要浅,感觉是白色和黄色的centroid

吐槽一下 这个代码跟L*a*b 感觉没有一毛钱关系啊!!!

改一下命令行的参数 康一康 如果将类的个数设置成2

感觉白色黄色红色 混一起了

类的个数设置成4:

白色和黄色就明显区分出来了 感觉这个算法跟找dominant的意图是相悖的,如果K的设置不对 那么就凉凉

把K = 3的时候 质心的位置打印一下:

运行多次 质心坐标不变,但是顺序可能会变

我想自己试试转成LAB来进行KMeans

红线这个部分报错 太naive了

貌似(1,1,3)的单个像素是不能进行转化的

相关文章

网友评论

      本文标题:Practical Python and OpenCV 第六章应

      本文链接:https://www.haomeiwen.com/subject/ilcgdhtx.html