게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[초보질문] java Rect의 tl과 br의 좌표가 바뀌지 않아요 ㅠ
게시물ID : programmer_15653짧은주소 복사하기
작성자 : 빙티
추천 : 0
조회수 : 452회
댓글수 : 2개
등록시간 : 2016/01/29 03:19:45
옵션
  • 본인삭제금지
안녕하세요! 반도의 흔한 고딩인데요;
제가 아래와 같은 간단한 코드를 작성하고 있었습니다.

제가 만들고자 하는 것은
기존에 eyeA라는 이진화된 Mat 이미지가 있는데
대강 하얀색에 가운데 검은 점이 있는 이미지 입니다.

여기 이 검은녀석 주위에 사각형이 둘러싸도록 코딩을 하고 싶어서
아래와 같이 코딩을 하였습니다...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Rect accEyeArea = new Rect();//사각형
for(int x = 1; x < eyeA.width() + 1; x++){
    l : for(int y = 1; y < eyeA.height() + 1; y++){
        double colorArr[] = eyeA.get(y,x);//(x,y)의 색깔을 불러옵니다
        if (colorArr != null && colorArr[0< 10){//색깔이 검은색이면
            if(accEyeArea.tl().x == 0){//아직 한번도 검은색이 나온적이 없으면
                accEyeArea.tl().x = x;//사각형의 맨 윗x값을 현재 좌표의 x로
            }else{//전에 검은색이 나온적이 있다면
                accEyeArea.br().x = x;//사각형의 맨 아래x값을 현재 좌표의 x로
            }
            break l;
        }
    }
}
cs

y방향도 이와 같은 방법으로 했으므로 여기에선 x축의 영역잡기만 서술하였습니다.

그런데 if(accEyeArea.tl().x == 0){ 의 조건문은 잘 실행이 되는데
accEyeArea.tl().x = x; 처럼 기존의 값을 Rect의 Point에 대입하는게 되지 않습니다!!
로그창을 띄워보아도 그냥 0.0로만 출력이 되네요 ㅠㅠㅠㅠ

이 코드가 어디에서부터 잘못 되었을까요??? 어떻게 수정하면 좋을까요??
답변 달아주시면 정말 감사드리겠습니다!
꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호