검은 색 원이있는 이미지가 있습니다.JUI를 사용하여 이미지에서 검정색 원 (픽셀 만이 아닌)을 감지합니다.
이미지는 OMR 설문지와 거의 같은 설문지 스캔 복사본입니다.
내가 사용 검게 된 원을 감지 할 JUI
(필수 다른 API 경우)
내가 검색하는 동안 몇 가지 예를 가지고 있지만 나에게 정확한 결과를 제공 해달라고.
내가 시도 ... 은 우다이, 무는 ... 등 ...
그럼 난 내 자신을 만들기로 결정했다. 검정 픽셀을 감지 할 수 있지만 다음과 같습니다.BufferedImage mapa = BMPDecoder.read(new File("testjui.bmp"));
final int xmin = mapa.getMinX();
final int ymin = mapa.getMinY();
final int ymax = ymin + mapa.getHeight();
final int xmax = xmin + mapa.getWidth();
for (int i = xmin;i<xmax;i++)
{
for (int j = ymin;j<ymax;j++)
{
int pixel = mapa.getRGB(i, j);
if ((pixel & 0x00FFFFFF) == 0)
{
System.out.println("("+i+","+j+")");
}
}
}
이 나에게 모든 검정색 픽셀의 좌표를 제공하지만 난 그 경우 원을하거나하지 않습니다.
원인지 여부를 어떻게 확인할 수 있습니까?
2] 또한 본인은 우다이 API는 그 돌봐 알고 .... 스캔 한 이미지가 기울어 져 있는지 알고 싶어하지만, 어떤 이유로 나는 실행 내 설문 조사 템플릿을 얻을 수 아니다 그 코드.
나는이 방법이 나를 위해 일을해야한다고 생각 ...하지만 당신은 내게이 도움 것이 자바의 클러스터링 알고리즘을 제안 할 수 있습니다 .. –
내가 아는 어떤 알고리즘은 당신이 필요 않는다는 없다 자바. 내가 뭘 할 것인가는 k- 평균 알고리즘의 변형 일 것이다. 본질적으로 클러스터의 각 포인트 q를 반복하고 p에서 q까지의 거리를 계산하는 distanceFromCluster (Point p)라는 클러스터 클래스에 대한 메소드를 작성해야합니다. 이 방법을 사용하면 점 q가 클러스터에 충분히 가까운 지 여부를 결정할 수 있습니다. 따라서이 점을 추가해야합니다 ... – phcoding
이 절차는 while 루프에 포함되어야하며 모든 점이 올바른 클러스터에있을 때 종료되어야합니다 즉, 각 패스에서 더 이상 새로운 클러스터로 포인트가 이동하지 않을 때. – phcoding