Page 958 - 3-3
P. 958

i n t ( r o u n d ( p l a t e L i s t [ 3 ] [ 1 ] - p l a t e L i s t [ 3 ] [ 3 ] * 0 . 5 ) ) )
                                 endPos=(int(round(-plateList[0][0]-plateList[0][2]+plateList[3][0]*1.955))
                                ,int(round(plateList[0][1]+plateList[0][3]*1.5)))


                                crop=dst[startPos[1]:endPos[1],endPos[0]:startPos[0]]
                                # 얻어낸 좌표에서 추출
                                if len(crop) is 0:
                                # 얻지 못했다면
                                    print("Don't find plate!")
                                    continue
                                    # 다시 시도


                                crop2=crop.copy()
                                #crop2 에 crop 을 복사하여 대입
                                _,gb=defCap.filter(crop2)
                                #crop2 를 필터링하여 gb      에저장
                                _,_,stats,_=cv2.connectedComponentsWithStats(gb)
                                #gb 를 넣어 사각형값으로 반환받아 좌표값을 받음
                                plateNumList=['9 ','9 ',' 호 ','9 ','9 ','9 ','9\n']
                                # 사진의 답을 넣는다
                                index=0
                                # 일정 번호를 저장하기위한 변수
                                candList=[]
                                # 최종적인 번호판 7      자리를 넣기위한 리스트
                                crop3=None
                                iCount=0
                                # 번호판이 몇 번째 것 인지 체크하기 위한 변수
                                for i in stats:
                                #stats 를 1 개씩 에 대입i
                                    startPos=(i[0],i[1])
                                    # 사각형의 왼쪽 위 좌표
                                    endPos=(i[0]+i[2],i[1]+i[3])
                                    # 사각형의 오른쪽 아래 좌표
                                    if len(stats)>=8 and (iCount is 2 or iCount is 3):
                                    # 번호판이 8   개 이상있고 번호판이,          2 번째 3 번째라면
                                        candList.append(i)
                                        #candList 에 추가
                                    else:
                                    # 아니라면
                                        if i[2]/i[3]<2.2:
                                        # 비율이 2.2  보다 작은 사각형을
                                            candList.append(i)
                                            #candList 에 추가


                                    iCount+=1


                                                         - 958 -
   953   954   955   956   957   958   959   960   961   962   963