【发布时间】:2017-02-14 19:05:49
【问题描述】:
我正在做一个项目,我想检测给定皮肤图像中的毛孔。 我已经使用 Java 从 OpenCv 尝试了各种方法(HoughCircles、BlobDetection 和 Contours),但是我无法继续。
HoughCircles 向我展示了所有错误的圆圈,轮廓也是如此。 我当前的代码使用 blob 检测技术,该技术也没有显示所需的内容。示例代码如下:
public void detectBlob() {
Mat orig = Highgui.imread("skin_pore.jpg",Highgui.IMREAD_GRAYSCALE);
Mat MatOut= new Mat();
FeatureDetector blobDetector;
blobDetector = FeatureDetector.create(FeatureDetector.SIFT);
MatOfKeyPoint keypoints1 = new MatOfKeyPoint();
blobDetector.detect(orig,keypoints1);
org.opencv.core.Scalar cores = new org.opencv.core.Scalar(0,0,255);
org.opencv.features2d.Features2d.drawKeypoints(orig,keypoints1,MatOut,cores,2);
Highgui.imwrite("PhotoOut.jpg", MatOut);
}
public static void main(String args[]) {
BlobDetection bd = new BlobDetection();
bd.detectBlob();
}
当我使用 FeatureDetector.SIMPLEBLOB 而不是 FeatureDetector.SIFT 尝试相同的代码时,它显示几乎 0 个 blob。
是否有任何其他算法可以帮助实现该结果,或者有什么合适的方法可以实现这一目标?
【问题讨论】:
标签: java opencv image-processing feature-detection