我試圖用opencv檢測圖像上的皮膚(新增功能),但是我設法檢測到某些皮膚,但其餘部分似乎會在圖像上產生一些噪音。這裏的原始圖像:檢測皮膚故障
我的代碼的結果是:
是prouduces此代碼:
Mat image = Imgcodecs.imread(name);
Imgproc.pyrMeanShiftFiltering(image, image, 10, 20);
Imgproc.blur(image, image, new Size(3, 3));
Mat hsv = new Mat();
Imgproc.cvtColor(image, hsv, Imgproc.COLOR_BGR2HSV);
Mat bw = new Mat();
Core.inRange(hsv, new Scalar(0, 10, 60), new Scalar(20, 150, 255), bw);
List<MatOfPoint> contours = new ArrayList<>();
Mat hierarchy = new Mat();
Imgproc.findContours(bw, contours, hierarchy, Imgproc.RETR_TREE, Imgproc.CHAIN_APPROX_NONE, new Point(0, 0));
int s = findBiggestContour(contours);
Mat drawing = new Mat(image.size(), CvType.CV_8UC1);
Imgproc.drawContours(drawing, contours, s, new Scalar(255), -1, 8, hierarchy, 0, new Point(0, 0));
Imgcodecs.imwrite(rename(name), drawing);
如何解決代碼檢測圖像上的剩餘皮膚並消除噪音?
我在OpenCV 3.0.0中使用Java。
這確實是發生這種情況的原因,但值得注意的是我必須調整值以適當地匹配皮膚。 – tofiffe