这就是我要使用的代码,
首先,加载您的图像:
IplImage *myImage;
myImage = cvLoadImage("/path/of/your/image.jpg");
然后使用这样的蒙版来选择颜色,您应该参考文档。在下面,我想选择蓝色(不要忘记在 OpenCV 中图像是 BGR 格式,因此 125,0,0 是蓝色(它对应于下限),255,127,127 是具有一定容差的蓝色,是上限。
我选择了带有公差的下限和上限来获取图像的所有蓝色,但你可以选择任何你想要的......
cvInRangeS(image,
cvScalar(125.0, 0.0, 0.0),
cvScalar(255.0, 127.0, 127.0),
mask
);
现在我们已经选择了蒙版,让我们反转它(因为我们不想保留蒙版,而是删除它)
cvNot(mask, mask);
然后用蒙版复制你的图像,
IplImage *myImageWithTransparency; //You may need to initialize it before
cvCopy(myImage,myImageWithTransparency,mask);
希望它能有所帮助,
请参阅 OpenCV 文档以获取更多信息
这里是
Julien,