1. 환경 구축
모듈 설치 안하려고 했던 이유:
ROS 작업은 기본적으로 리눅스에서 하게 된다.
ROS작업은 터미널에서 작업하므로 꼬일 수 있고 외부 패키지 설치 등 복잡한 문제로 코랩에서 openCV를 하기로 한다.
openCV는 활용 정도만 배우고 깊게는 배우지 못한다.
파이참이 가장 낫겠다.
인공지능 할 게 아니라서 아나콘다 설치는 안할 것임
파이썬 설치(3.10.2)
bugfix에서 3.9버전으로 쓰는 것을 권장한다.
파이썬은 외부모듈, 라이브러리 가져오기 쉬운데 버전이 너무 높으면 호환이 안되는 경우가 생긴다.
특히 이미지 처리를 할 때 파이썬을 쓴다. 몇 줄로도 인공지능을 구현할 수 있을 만큼 파이썬을 애용한다.
인공지능 > .... > 딥러닝(가장 좁은 범위)
openCV(인식) / SLAM으로 파이썬을 쓴다.
따라서 해당 수업에서는 3.9.10을 쓰기로 한다.
설정 > 시스템 > 정보 로 운영 사양을 체크한다.(64BIT)
개인 피시를 사용할 때 기본 경로를 사용하자
파이썬을 실행하겠다는 코드이다.
예를 들면 print("a")하면 a가 바로 출력된다.
IDLE이 자동 생성된다. IDLE에서 바로 작업이 가능하다.
주피터 노트북 / 파이참(PyCharm)으로 파이썬을 하는 것이 사용한다.
공부의 목적이라면 파이참을 무료로 이용가능하다.
파이참 다운로드
패키지 수동 설치 3.9 버전이므로 pip3를 설치하자
cmd 창에서 쳐본다.
튜터리얼이나 교재로 공부하는 것을 추천한다.
https://docs.opencv.org/4.x/d9/df8/tutorial_root.html
openCV는 왠만하면 최신 버전을 쓰자 이미지 데이터를 구할 때 3차원을 렌즈를 통해 2차원으로 담는 것이므로 왜곡이 생긴다. 영상은 이미지들의 모음이므로 대상을 구분하기 위해 피쳐(feature)를 사용한다. 피쳐의 이동에 대한 대응관계를 삼각함수로 연산하여 동영상을 구현한다. 이미지 마다 어떤 연산을 쓸지 알아야 한다. 1) Lidar 이용 둘 다 openCV를 사용하는데 1) open CV: 내가 맞는 연산 식을 적용해서 구현해야 한다. 2) OPEN CV를 이용하여 이미지 수정을 목적으로 한다. > 넘파이 형태로 많은 데이터를 불어온 후에 딥러닝을 적용하여 object 디텍팅을 한다. (물체 인식) : 네트워크에 데이터를 학습시켜서 스스로 피쳐링을 한다. 컨벌루션을 통해 학습을 강화시킨다. 3) 판타, 케라스는 모두 구현되어 있다. |
넘파이 설치
경로 설정은 수업에서는 디폴트 값으로 하겠지만
다른 경로로 설정한다면 꼭 반드시 경로를 기억해놓자.
파이참은 프로젝트 마다 별개의 인터프린터를 만들어 가상의 환경을 구현할 수 있다.
개별적으로 필요한 패키지만 사용해서 코드를 구현할 수 있다.
뿐만 아니라 파이참은 여러 버전을 설치하여 2. 버전, 3.버전 사용 가능하다.
예전에는 뉴런과 시냅스를 모두 구현했지만 요즘에는 자동으로 다 되어 있다.
환경변수는 여러 버전을 사용할 때 따로 설정 추가나 설치 없이 코드에 버전 이름만 첨부하면 그 버전에 맞게 코드가 구현이 된다.
PATH: 환경 변수 설정
파이참 설치 완료!
넘파이랑 matplotlib(그래프, 이미지를 그리는 패키지) 설치하자
새 cmd창을 열어서 설치가 잘 되었는지 확인해보자
2. 파이참 시작
1. 한글 플러그를 설치한다.
설치가 완료되면 종료하고 다시 파이참을 연다.
2. 사용자 지점에서 테마 설정
다크 계열 테마로 해주자
3. 경로 설정
새프로젝트 > 경로에서 users > users > desktop > 폴더이름
다음을 사용한 새 환경 :
가상환경(Virtualenv)은 관련 있는 패키지끼리 모아서 여러 프로젝트를 만들 수 있다.
이전에 설치한 openCV PIP 등이 없는 상태로 작업이 가능하다.
인공지능 - Conda
Pipenv: 뒤에 v가 붙어있으면 가상을 의미한다.
패키지를 모아두는 환경이므로
이전 패키지를 쓰고 싶으면 이전에 구성된 인터프린터를 사용하면 된다.
user > appdata > ... python 이 기본이지만
새 폴더에 인터프린터를 저장했다면 꼭 그 경로를 기억하자
특히 local 영역에 저장했을 경우 한글 이름이 들어가지 않ㄴ도록 주의하자
프로젝트창에서 기능 익혀보기
코드 파일을 보내려면 main파일을 보내면 된다.
가상환경설정 Virtualenv에서는 import numpy 동작하지 않는다.
Pipenv에서는 import numpy가 동작한다.
pipenv의 설정 > 프로젝트
이렇게 하면 Virtualenv에서 import numpy 동작할 수 있다.
3. 새 프로젝트 기능 익히기
개별적으로 코드 실행하는 방법
커서가 코드 끝에 있는 상태에서
1. ctrl + shift + F10
여러 개가 인터프리터가 코드 파일 별로 따로 돈다. -> 클라이언트와 서버가 따로 도는 원리
2. alt + shift + F10
내가 외부 모듈(사용자 모듈)을 만들어보자
사용자 모듈을 사용할 때 주의해야 할 점
모듈이 두 번 동작하지 않도록 주의해야 한다.
import test 자체가 test코드를 한 번 실행됨을 의미한다.
이를 해결하기 위해 main을 가져오자
한번만 실행된다.
if __name__ == '__main__':
print_hi('PyCharm')
에서
__name__ == '__main__'
이 참이 되어야 실행된다.
즉 import main만으로는 main 코드안의 if문이 실행되지 않는다.
main.~~~을 호출해야 if문이 참이 되어 실행된다.
따라서 사용자 모듈을 만들 때는 아래 형식을 이용하자
결론 종합
class Test:
def f(self):
print("test 클래스 실행")
def f1():
print("t1 실행")
if __name__ == '__main__':
print('테스트 안의 메인 실행')
을 이용하여
1)
import test
a = test.Test()
a.f()
2)
from test import Test # f1()은 꺼내지 않은 상태, test.f1() 실행 안된다.
a = test()
a.f()
3)
from test import * # f1()은 꺼낸 상태
test.f1()
식으로 외부 모듈을 가져와 쓸 수 있다.
'Robot > 22년도 자율주행 테크니션 양성과정 일지록' 카테고리의 다른 글
[파이썬] DAY14 Matplot (0) | 2022.02.07 |
---|---|
[파이썬] DAY14 Numpy 전치 행렬 (0) | 2022.02.07 |
[파이썬] DAY13 Numpy(복습완료) (0) | 2022.02.04 |
[파이썬] DAY13 입학식코테문제 & NUMPY (0) | 2022.02.04 |
AMR의 개념과 종류 (0) | 2022.01.13 |