나는 주어진 피부 이미지에서 숨구멍을 감지하고자하는 프로젝트를 진행 중이다. OpenCv에서 Java를 사용하여 다양한 방법 (HoughCircles, BlobDetection 및 Contours)을 시도했지만 진행할 수 없습니다.OpenCV에서 Blob 검출을 이용한 피부 기공 분석
HoughCircles는 나에게 모든 거짓 동그라미를 보여 주며 윤곽선도 마찬가지입니다. 현재 코드는 blob 감지 기술을 사용하여 필요한 내용을 표시하지 않습니다. 나는 거의 공 모양을 표시하는 대신 FeatureDetector.SIFT의 FeatureDetector.SIMPLEBLOB를 사용하여 동일한 코드를 시도했을 때
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();
}
: 샘플 코드는 아래에 기록됩니다.
출력 및 원본 이미지가 위의 코드에 첨부됩니다. 사용하여 소스 이미지
결과를 달성에 도움이 될 수 있습니다 또는 무엇이를 달성하기위한 적절한 방법이 될 수있는 다른 알고리즘이 있습니까 엄밀히?
몇 가지 조사를 한 후에 이미지 처리의 몇 가지 기본 사항을 알고 있습니다. 그러나 예, 나는 이것에 초보적이며, 이번 주말까지 기본적인 작업 기능 (최소한 피부 모공을 감지하기 위해)을 보여 주어야합니다. 그래서이 채널을 통해 도움이 필요합니다. 이미지를 가져 와서 처리하려면 핸드폰 카메라를 사용해야합니다. 이 이미지는 테스트 용으로 사용되었습니다. – edeesan
핸드폰 이미지에서 피부 모공을 감지하도록 요구하는 사람은 자신이하고 있거나 이야기하고있는 것이 무엇인지 잘 모르고 매우 의심 스럽습니다. 적절한 용어는 ** 구멍이라고 생각합니다. 대부분의 핸드폰 카메라가 모든 것이 아니라면 피부 모공을 제대로 해결할 수는 없지만 핸드폰을 사용해야하는 경우 첫 번째 실수는 핸드폰 이미지를 사용하지 않는 것입니다. 첫 단계로 휴대 전화로 유용한 사진을 만들어보십시오! – Piglet
나는 똑같은 주장을했으며, 이제 실험실 초기에 사용 된 적절한 장치에서 이미지를 가져와야한다고 결정했다. 내 질문은 적절한 이미지가있을 때 여전히 모공을 감지하는 적절한 해결책이 없다는 것입니다. 위의 알고리즘은 그렇게하지 못하고 연구를 할 시간이 매우 적습니다. 논리를 찾는 것이 큰 도움이 될 수 있다면 도와 주실 수 있습니다. – edeesan