opencv对图像的颜色识别问题,要用python2实现
发布网友
发布时间:2022-05-02 15:53
我来回答
共2个回答
热心网友
时间:2022-04-18 06:26
我没用过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通道上
热心网友
时间:2022-04-18 07:44
对你说的"紫色"求和就好了追问完全不明白你在说什么,请看补充,谢谢