相关疑难解决方法(0)

使用`cv :: inRange`(OpenCV)为颜色检测选择正确的上下HSV边界

我有一个咖啡罐的图像,橙色的盖子位置,我想找到.就这个图片.

gcolor2实用程序显示盖子中心的HSV为(22,59,100).问题是如何选择颜色的限制呢?我尝试了min =(18,40,90)和max =(27,255,255),但是出乎意料结果

这是Python代码:

import cv

in_image = 'kaffee.png'
out_image = 'kaffee_out.png'
out_image_thr = 'kaffee_thr.png'

ORANGE_MIN = cv.Scalar(18, 40, 90)
ORANGE_MAX = cv.Scalar(27, 255, 255)
COLOR_MIN = ORANGE_MIN
COLOR_MAX = ORANGE_MAX

def test1():
    frame = cv.LoadImage(in_image)
    frameHSV = cv.CreateImage(cv.GetSize(frame), 8, 3)
    cv.CvtColor(frame, frameHSV, cv.CV_RGB2HSV)
    frame_threshed = cv.CreateImage(cv.GetSize(frameHSV), 8, 1)
    cv.InRangeS(frameHSV, COLOR_MIN, COLOR_MAX, frame_threshed)
    cv.SaveImage(out_image_thr, frame_threshed)

if __name__ == '__main__':
    test1()
Run Code Online (Sandbox Code Playgroud)

opencv hsv color-detection

67
推荐指数
7
解决办法
17万
查看次数

如何删除"绿屏"肖像背景

我正在寻找一种从很多图片中自动删除(=透明)"绿色屏幕"肖像背景的方法.

我自己的尝试到目前为止......呃...不太成功.

我正在四处寻找有关该主题的任何提示,解决方案或论文.商业解决方案也很好.

在你发表评论之前说它不可能自动完成:不,不是.实际上有一家公司提供这种服务,如果我没有提出不同的解决方案,我们将使用它们.问题是他们用自己的生命保护算法,因此不会出售/许可他们的软件.相反,我们必须将所有图片FTP到处理完成的地方,然后我们将结果FTP回家.(不,他们没有在菲律宾隐藏的工资过低的工作人员手动处理这个问题,因为我们每天都在谈几千张图片 ......)但是,这种做法限制了它的用处,原因有几个.所以我真的很喜欢这样的解决方案,可以在互联网离线时立即完成.

编辑:我的"肖像"描绘了有头发的人 - 这是一个非常棘手的部分,因为绿色背景会流入头发.另一个棘手的部分是,如果有可能在背景中的绿色和人们衣服中的相同绿色之间进行distingush.我上面谈到的公司声称他们可以通过弄清楚绿色区域是否在焦点(锐利与模糊)来做到这一点.

image-processing chromakey

10
推荐指数
2
解决办法
1万
查看次数

如何定义阈值以仅检测图像中的绿色对象:Opencv

我只是想从自然环境中捕获的图像中仅检测绿色物体.如何定义它?因为在这里我要通过阈值让我们说'x',通过使用这个x我想只获得一种颜色的绿色对象(白色)其他必须出现在另一种颜色(黑色)请指导我做这个.提前致谢.

python opencv image-processing threshold

8
推荐指数
3
解决办法
3万
查看次数