같은 크기의 여러 색깔의 볼이있는 균일 한 회색 배경의 JPEG 이미지를 읽고 싶습니다. 이 이미지를 가지고 각 공의 좌표를 기록 할 수있는 프로그램이 필요합니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?JPEG 이미지를 읽고 이미지 좌표를 계산하십시오.
1
A
답변
0
ImageIO 라이브러리를 사용하면 read() 메서드 중 하나를 사용하여 이미지를 읽을 수 있습니다. 이렇게하면 BufferedImage이 생성되며이 색상을 별도의 색상으로 분석 할 수 있습니다. getRGB()가이를 수행하는 가장 좋은 방법 일 것입니다. 필요한 경우 Color 객체의 getRGB()와 비교할 수 있습니다. 그게 너를 시작하게하는데 충분할거야.
2
나는 James에게 동의합니다. 나는 (빨간색 상자의 대부분이 사회 칠한되기 전에) 이미지에서 빨간색 상자를 발견 한 번 다음과 같은 프로그램을 사용 :
/**
* @author karnokd, 2008.11.07.
* @version $Revision 1.0$
*/
public class RedLocator {
public static class Rect {
int x;
int y;
int x2;
int y2;
}
static List<Rect> rects = new LinkedList<Rect>();
static boolean checkRect(int x, int y) {
for (Rect r : rects) {
if (x >= r.x && x <= r.x2 && y >= r.y && y <= r.y2) {
return true;
}
}
return false;
}
public static void main(String[] args) throws Exception {
BufferedImage image = ImageIO.read(new File("fallout3worldmapfull.png"));
for (int y = 0; y < image.getHeight(); y++) {
for (int x = 0; x < image.getWidth(); x++) {
int c = image.getRGB(x,y);
int red = (c & 0x00ff0000) >> 16;
int green = (c & 0x0000ff00) >> 8;
int blue = c & 0x000000ff;
// check red-ness
if (red > 180 && green < 30 && blue < 30) {
if (!checkRect(x, y)) {
int tmpx = x;
int tmpy = y;
while (red > 180 && green < 30 && blue < 30) {
c = image.getRGB(tmpx++,tmpy);
red = (c & 0x00ff0000) >> 16;
green = (c & 0x0000ff00) >> 8;
blue = c & 0x000000ff;
}
tmpx -= 2;
c = image.getRGB(tmpx,tmpy);
red = (c & 0x00ff0000) >> 16;
green = (c & 0x0000ff00) >> 8;
blue = c & 0x000000ff;
while (red > 180 && green < 30 && blue < 30) {
c = image.getRGB(tmpx,tmpy++);
red = (c & 0x00ff0000) >> 16;
green = (c & 0x0000ff00) >> 8;
blue = c & 0x000000ff;
}
Rect r = new Rect();
r.x = x;
r.y = y;
r.x2 = tmpx;
r.y2 = tmpy - 2;
rects.add(r);
}
}
}
}
}
}
당신에게 몇 가지 힌트를 줄 수 있습니다. 이미지는 here에서 유래했습니다.
관련 문제
- 1. QGraphicsLinearLayout에서 장면 좌표를 계산하십시오.
- 2. 테이블에서 경로를 읽고 폴더에서 이미지를 검색하여 이미지 미리보기 이미지를 표시하십시오.
- 3. 캔버스에서 JPEG 파일로의 이미지
- 4. 픽셀 단위로 JPEG 데이터를 읽고 쓰려면 어떻게해야합니까?
- 5. 나쁜 jpeg 이미지 감지
- 6. 루비에서 이미지를 읽고 이미지를 얻는 방법
- 7. Java 이미지 품질 (JPEG)
- 8. jpeg 형식으로 읽고 쓸 순수 파이썬 라이브러리
- 9. MATLAB에서 값을 읽고 엔트리에 좌표를 지정합니다.
- 10. x11을 사용하여 xerver에 jpeg 이미지 표시
- 11. Photoshop 타일 커터를 준비하기 위해 jpeg 이미지를 Google지도에 시각적으로 맞추기
- 12. 대형 JPEG/PNG 이미지 시퀀스 루프
- 13. 디코더 테스트 용 JPEG 이미지 라이브러리?
- 14. BLOB 필드에서 JPEG 이미지 작성
- 15. 플래시 AS3의 투명 jpeg 이미지
- 16. Java JAI JPEG 이미지 인코딩 RuntimeException
- 17. MKMap 좌표를 이미지 좌표로 매핑
- 18. 이상한 이미지 형식을위한 Java JPEG 변환기
- 19. JPEG 이미지를 바이트 배열로 변환 - COM 예외
- 20. JPEG 이미지를 바이트 배열로 변환하는 방법?
- 21. 엑셀에서 이미지를 jpeg 형식으로 가져 오기 #
- 22. OpenCV jpeg 형식의 이미지를 메모리에 저장
- 23. 자바를 사용하여 .bmp/.jpeg 이미지를 여는 방법
- 24. 엑셀 시트에 jpeg 이미지를 삽입하는 방법
- 25. WAMPSERVER GD2 - jpeg 이미지를 지원하지 않습니까?
- 26. PIL 무손실을 사용하여 jpeg 이미지를 자르고 있습니까?
- 27. JSP/서블릿 : URL을 통해 이미지를 읽고 JSP 페이지에서 렌더링하는 방법 (이미지 URL이 공개되지 않음)
- 28. C# jpeg 이미지를 어떻게 워터 마크 할 수 있습니까?
- 29. vb.net에서 데이터베이스에 저장된 이미지를 기반으로 c : \ imagesFolder에서 jpeg 파일 만들기
- 30. 저장시 이진 열의 Jpeg 이미지를 다시 인코딩하는 중
JPEG 이미지를 읽고 이미지 인식을 수행하는 것은 매우 다른 두 가지 질문입니다. –
동의. 귀하의 질문에 다른 제목을 제안하고 싶습니다. – Randyaa