opencv对图像的颜色识别问题,要用python2实现
提出这个要求的人智商有点低,我对python也不是很熟,具体要求如下:识别下图中各种颜色的比例。(真是具体)我一开始做个三个直方图,结果他非要类似”紫色占?%“这种输出。...
提出这个要求的人智商有点低,我对python也不是很熟,具体要求如下:
识别下图中各种颜色的比例。(真是具体)
我一开始做个三个直方图,结果他非要类似”紫色占?%“这种输出。一点思路都没有。
比如,上图中不同的紫色,都是存在3个r,g,b矩阵里的,我要怎么合在一起然后聚类定义他们为一个颜色啊?(有可能我的思路不对,请指教)
最好能有具体的代码实现,没有的话讲点思路和具体的opencv里能用的函数也行!顺便想拜个师傅!!!
可能是我的问题描述不对,上图只是一个具体例子。程序的要求是自动对图片的颜色进行分类最后输出各大类的百分比。
opencv里有自动对颜色进行分类的函数吗? 展开
识别下图中各种颜色的比例。(真是具体)
我一开始做个三个直方图,结果他非要类似”紫色占?%“这种输出。一点思路都没有。
比如,上图中不同的紫色,都是存在3个r,g,b矩阵里的,我要怎么合在一起然后聚类定义他们为一个颜色啊?(有可能我的思路不对,请指教)
最好能有具体的代码实现,没有的话讲点思路和具体的opencv里能用的函数也行!顺便想拜个师傅!!!
可能是我的问题描述不对,上图只是一个具体例子。程序的要求是自动对图片的颜色进行分类最后输出各大类的百分比。
opencv里有自动对颜色进行分类的函数吗? 展开
展开全部
我没用过Python的Opencv的库,只是用过Python的Image的库;Image库已经可以结果这个问题了
我试着做一下:你先得安装PIL库
得到rgb三个通道,然后转到HSV通道,其中H表示0-255的颜色,V表示强度,你大概先知道紫色的范围是多少
from PIL import Image
import colorsys
def CalculateH(img):
if len(img.getbands()) == 4:
ir,ig,ib,ia = img.split()
else:
ir, ig, ib = img.split()
Hdat = []
Sdat = []
Vdat = []
for rd,gn,bl in zip(ir.getdata(),ig.getdata(),ib.getdata()):
h,l,s = colorsys.rgb_to_hsv(rd/255.,gn/255.,bl/255.)
Hdat.append(h)
Sdat.append(l)
Vdat.append(s)
meanV = mean(Vdat)
return Hdat, meanV
def myreadim(filename):
im = Image.open(filename)
H,V = CalculateH(im)
后面我就懒得写了,应该思路都清楚了吧,要转到其他的颜色通道上,不要在rgb通道上
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询