人类视觉对绿色最敏感,因此它具有最大的系数值(0.7152),对蓝色最不敏感,因此具有最小的系数(0.0722)。
- def Compare(list,color):
- min=100
- count=len(list)
- for i in range(count):
- value=list[i]
- error=abs(color[0]-value[0])*0.2126+abs(color[1]-value[1])*0.7152+abs(color[2]-value[2])*0.0722
- if(error<min):
- min=error
- iindex=i
- return index+1
最后我们输入“白古”和“黑古”的图片,与比色卡的RGB数值进行对比,输出结果:
- if __name__ == '__main__':
-
- img_before= 'images/before1.jpg'
- img_after='images/after.jpg'
- color_before=skin_color(img_before)
- color_after=skin_color(img_after)
- print("before:the extracted RGB value of the skin color is {0}".format(color_before))
- print("after:the extracted RGB value of the color is {0}".format(color_after))
- list=[(200, 172, 153), (200, 169, 149), (197, 166, 145), (194, 163, 142), (190, 157, 134), (187, 152, 129), (182, 146, 121), (177, 136, 108), (168, 127, 100), (160, 118, 90), (148, 108, 81), (135, 98, 73), (119, 87, 65)]
- #color_dir="skin_color"
- #skincolor.load_color(color_dir,list)
-
- #print(list)
- #print(list)
- degree_before=Compare(list,color_before)
- degree_after=Compare(list,color_after)
- print("before:the degree of the skin color is {0}".format(degree_before))
- print("after:the degree of the skin color is {0}".format(degree_after))
输出的结果如下图所示:
也就是说,“黑古”比“白古”整整黑了5个度,虽然文摘菌认为结果可能还有偏差,因为12是比色表的最高值,“黑古”很可能已经爆表了。
军训结束,写代码的日子开始了
也许当你拍下自己军训后的照片,用文摘菌的代码和自己一个月前的自拍对比了一下,然后留下了伤心的眼泪。
文摘菌想告诉你:你不是一个人在战斗!
今年参加军训的大学新生有数百万,短则5天,长则一个月的军训,风吹日晒,大家的皮肤变黑在所难免,然而,就算是1个月的军训,也并不能真正掌握多少军事技能,其实重要的还是原本初次见面还陌生的同班同学,通过军训开始熟络起来;原本还陌生的校园,也齐步走了几个来回。
可以说,军训是大学的预科班,结束了军训,就正式开始了大学生活。
文摘菌本着行业内人士的身份,自然要对那些报读计算机相关专业的新生们说一句:军训结束,你们写代码的日子就要开始了!
也许在某个深夜,当你停下敲击键盘的双手,抚摸着额前稀疏的头发,你可能会意识到,原来军训并不是大学最痛苦的时候。
【本文是51CTO专栏机构大数据文摘的原创译文,微信公众号“大数据文摘( id: BigDataDigest)”】
戳这里,看该作者更多好文
(编辑:ASP站长网)
|