본문 바로가기

Software/Python

(79)
Jupyter Notebook에서 OpenCV 사용할때, 영상 확인하는 법 2024. 9. 26. 08:22 아마도 Python으로 무언가를 하시는 분들은 Jupyter를 많이 사용하실 텐데요. 그게 웹브라우저가 되었든, VSCode를 사용해서든 말이죠. 그런데, OpenCV를 사용하게 되면, 새창을 띄우는 일이 많아지는데, 그때 Jupyter가 살짝 커널이 오류가 날때가 많습니다. 더더욱이 로봇이나 다른 PC에서 원격으로 붙어서 Jupyter를 쓰는 경우는 OpenCV등 새창을 띄워서 결과를 봐야하는 경우는 불편할때가 많습니다. 그럴때 사용할 수 있는 IPython의 기능이 있습니다.IPython의 display가 제공하는 display 기능을 사용하면 됩니다. 일단, 필요한 아이들을 import 하구요.Jupyter의 출력단에 이미지를 영상으로 보여줄, display_cv라는 함수를 하나 만들겠습니다. 이 ..
맥에서 Conda 설치 후 터미널에서 base 환경 자동 진입 해제 2023. 6. 9. 08:00 아주 예전에 맥에서 터미널 이쁘게 꾸미기를 이야기 한적이 있습니다. 이제 이 글은 오래되어서 간결하게 새롭게 설정이 가능한데요. https://pinkwink.kr/1354 Mac M1 노트북 (Mac silicon) 터미널 세팅 - iTerm2 요즘 노트북 세계에 한 가지 큰 이슈라면 애플에서 나온 맥 m1 노트북이 아닐까요. 정말 많은 이슈를 만들고 있는 것 같습니다. 저는 예전에 맥북 사용에서 해두면 편한 몇 가지 설정을 이야기한 pinkwink.kr 이 글에서 새고한 iTerm은 제가 애용하는 터미널 환경입니다. 이 환경을 두고, 저는 mini conda를 설치해서 Python을 사용하고 있습니다. 그래서 conda 환경이 바로 적용되어서 터미널(iTerm)을 실행하면 이렇게 base 환경에 먼저..
Jupyter Notebook에서 GUI 같은 느낌의 작업을 원하세요? ipywidgets 2020. 4. 8. 08:00 Jupyter Notebook을 Python 유저들이 많이 사용하시죠? 그런데 아주 가끔 간단히 슬라이드바나 버튼 등을 이용한 GUI 환경을 간편하게 쓸 수 있다면 좀 더 재미있겠는데~ 하고 생각할 때가 있을 겁니다. 그럴때 사용하는 것이 ipywidgets입니다. 워난 Documents가 잘 되어 있어서 그냥 간단하게 소개만 해보겠습니다.매우 간단하게 저렇게 사용합니다.value를 조회하거나 강제로 값을 선언할 수 있습니다.Text 박스와 Slider인데요. 이 둘을 jslink로 엮어 버릴 수 있습니다.해제할 때는 unlink~이번에는 버튼이 눌러지면 어떤 기능을 실행하도록 준비해 줄 수 있습니다.버튼을 클릭하면 특정 기능을 수행하는 거죠~혹은 슬라이드바를 다수 연결해볼 수도 있구요~위 예제는 간단하..
Python에서 두 개 이상의 자료를 묶는 zip을 이용해서 LIST형을 DICT 형으로 변환하기 2020. 3. 16. 08:00 Python으로 데이터를 정리하다보면 두 개 이상의 list형 데이터를 각각 dict 형으로 묶고 싶을 때가 있습니다. 이럴때 사용하는 것이 zip입니다.이렇게 두 개의 list형 데이터가 있다고 하면zip으로 묶어서 튜플형으로 만들어 버릴 수 있습니다.^^그리고 dict형으로 변환하면 두 개의 리스트에서 각각의 위치의 데이터를 하나는 key, 하나는 value로 해서 dict형을 만들 수 있는거죠.한 번에 처리하면 이렇게 됩니다.~~~~이미 묶여있는 데이터는 unpacking 언패킹 인자라고 하는 * 를 이용해서 풀어 줄 수 있습니다.
numpy의 where 함수 사용법 2019. 8. 5. 08:00 머신러닝이나 딥러닝을 하다보면, numpy 모듈의 다양한 함수를 사용하게 되는 것 같습니다. 오늘은 그 중에서 은근 많이 사용되는 where 함수에 대해 이야기를 해보려고 합니다. 너무 쉽고 간단하면서 괜찮은 함수인 것 같습니다. 간단하게 numpy를 import하구요. 위 코드처럼 데이터를 numpy array로 선언해 두겠습니다. 뭐 min이나 max값을 찾거나, 그 값의 위치를 찾는 것은 argmin, argmax로 됩니다. where함수는 조건문을 사용할때입니다. 출력은 근본적으로는 인덱스입니다. a 배열에서 1보다 적은 것은 6, 7번 데이터라는 것이죠. 그걸 슬라이싱에 사용할 수 있습니다. 그러면 1보다 작은 값을 찾아서 그 값만 반환합니다. 혹은 이렇게, 10보다 크거나 같은 값을 찾아서, ..
Jupyter notebook 매직 커맨드로 모듈 버전, OS 정보 등을 출력하는 watermark 모듈 2019. 7. 29. 08:00 Jupyter notebook에서 % 기호로 시작하는 명령을 매직 커맨드라고 합니다. 폴더 경로, 목록 등을 확인하는 명령이 있는데요. 이번에는 매직 커맨드의 확장으로 설치된 모듈, import한 모듈의 버전 정보, 현재 OS의 버전 등을 출력해 주는 watermark라는 모듈을 소개하려고 합니다.간단하게, pip 명령으로 설치합니다.%load_ext watermark를 수행하고 나면 사용할 수 있습니다. 먼저 설명을 보면다양한 버전 관련 옵션들이 있습니다.그냥 실행하면, 파이썬의 버전, OS(전 맥이라서 Darwin) 버전, 시스템 상황이 나타납니다.그리고, 간단한 시간과 날짜, 혹은 최근 업데이트 날짜 등을 확인할 수 있습니다.또, 원하는 모듈의 버전을 확인하거나,import한 모듈 전체의 버전을 한..
파이썬에서의 복사 얕은 복사와 깊은 복사 2019. 7. 22. 08:00 파이썬은 참 쉬운 언어입니다. 그래서 여러 분야에서 인기를 끌고 있는 거겠죠^^. 그런데 이런 파이썬을 공부하다가 보면 의외의 곳에서 한 번쯤 막히게 됩니다. 바로, 복사(copy)입니다. 무슨 이야기일까요. >>> a = [1, 2, 3] >>> b = a >>> b[1] = 0 >>> b [1, 0, 3] >>> a [1, 0, 3] 위 상황이 혹시 눈에 들어 오시나요? a에 [1, 2, 3]을 저장하고, b에 a를 저장하고 난 후, 난 그냥 b의 두번째 숫자를 2에서 0으로 바꾸었는데, a도 따라 바뀌게 되는 기이한 현상입니다.^^ >>> id(a), id(b) (4431577288, 4431577288) 이유는 메모리상에서 고유한 id를 조회하는 id라는 명령으로 a, b 두 변수를 조회해보면 알..
Python에서 미분(차분)을 한다는 것. 데이터, 혹은 함수 2019. 7. 15. 08:00 어떤 형태든 센서 신호를 만지작 거리고, 모터를 구동하고, 뭐 그러다보면 미분(혹은 차분)을 수행해야할 경우가 생깁니다. 오늘은 파이썬으로 미분(차분)하는 일에 대해 이야기를 해보려고 합니다.^^ import numpy as np import matplotlib.pyplot as plt %matplotlib inline t = np.arange(0, 2*np.pi, 0.1) y1 = np.sin(t) plt.figure(figsize=(12,6)) plt.plot(t, y1); 일단, 시험 신호를 하나 만들어 두겠습니다. 시간축 t는 0부터 2pi까지 0.1 간격을 가지도록 했습니다.이렇게 생긴거죠^^ 먼저, 위 시험신호처럼 우리가 함수를 아는 경우에 대해 접근해 보겠습니다.바로 고등학교때 배운 도함수의..

반응형