JAVA提取图片中的指定颜色
2022-05-22 本文已影响0人
勤的空间
摘自:https://blog.csdn.net/zhangdongren/article/details/98941445
原文是python代码,参考改成JAVA代码。
我们的目标是提取下面这张图片的红色区块
![](https://img.haomeiwen.com/i13523843/654a8f74c45d86bf.png)
最终结果如下:
![](https://img.haomeiwen.com/i13523843/7ae5230418cc54da.png)
源代码如下:
String originalImgPath = new File(".", "girl.png").getAbsolutePath();
Mat img = Imgcodecs.imread(originalImgPath);
Mat hsv = new Mat();
Imgproc.cvtColor(img, hsv, Imgproc.COLOR_BGR2HSV);
Scalar l_blue = new Scalar(0, 43, 46);
Scalar h_blue = new Scalar(10, 255, 255);
Mat mask = new Mat();
Core.inRange(hsv, l_blue, h_blue, mask);
Mat out = new Mat();
Core.bitwise_and(img, img, out, mask);
Imgcodecs.imwrite("./girl2.png", out);
其中颜色取值范围可以参考下表:
![](https://img.haomeiwen.com/i13523843/03812a6ff8982398.png)