[공유할 폴더 만들기]
mkdir -p /home/pi/생성할 폴더
[마운트 하기]
sudo mount -t cifs -o username=유저이름,password=유저비밀번호 //192.168.<네트워크>.<경로>/Public/<폴더> /home/pi/생성한 폴더
[확인하기]
df -h
[자동 마운트하기]
sudo vi /etc/fstab <네트워크 경로 및 폴더> /home/pi/생성한폴더 cifs username=유저이름,password=유저비밀번호 0 0
[언마운트]
sudo umount //IPADRESS/share
'ubuntu' 카테고리의 다른 글
ubuntu LightGBM install (0) | 2020.04.14 |
---|---|
라즈베리파이 selenium 사용법 (0) | 2020.03.23 |
라즈베리파이 openCV 설치 및 관절 인식 (2) | 2020.02.13 |
jupyter-notebook에서 matplotlib 한글폰트 설정 (0) | 2020.02.13 |
파이썬 Selenium linux 환경 구축하기 (ubuntu) (0) | 2019.05.08 |
라즈베리파이 openCV 설치 및 관절 인식
https://www.raspberrypi.org/downloads/raspbian/
라즈베리파이 설치
- RASPBIAN STRETCH WITH DESKTOP AND RECOMMENDED SOFTWARE : LibreOffice, Scratch, SonicPi, Thonny, Mathematica 등 포함
- RASPBIAN STRETCH WITH DESKTOP : Chromium browser, VLC media player, Python 등 포함
- RASPBIAN STRETCH LITE : DESKTOP GUI 없는 버전
flash 클릭!
라즈베리의 초기 id 와 암호는
id : pi
passwd : raspberry
혹시 와이파이가 안되면
Preference>Raspberry Pi Configuration>Localisiation
에서 GB나 US등도 선택해보기 바람.
sudo apt install fonts-nanum fonts-nanum-extra
sudo apt install nabi
sudo apt install im-config
혹시 한글이 잘 안되면 아래 링크 참조
vncserver -geometry 1280x1024
CCTV 만들기
우선 open cv 를 설치해야 하는데 아래 두 링크를 참고해서 설치하면 된다.
https://webnautes.tistory.com/916
https://www.alatortsev.com/2018/09/05/installing-opencv-3-4-3-on-raspberry-pi-3-b/
아래는 설치에 쓰이는 코드인데 치기 귀찮아서 복사해둔 코드다.
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_TBB=OFF \
-D WITH_IPP=OFF \
-D WITH_1394=OFF \
-D BUILD_WITH_DEBUG_INFO=OFF \
-D BUILD_DOCS=OFF \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D BUILD_EXAMPLES=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF \
-D ENABLE_NEON=ON \
-D ENABLE_VFPV3=ON \
-D WITH_QT=OFF \
-D WITH_GTK=ON \
-D WITH_OPENGL=ON \
-D OPENCV_ENABLE_NONFREE=ON \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.1.2/modules \
-D WITH_V4L=ON \
-D WITH_FFMPEG=ON \
-D WITH_XINE=ON \
-D ENABLE_PRECOMPILED_HEADERS=OFF \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON ../
https://www.youtube.com/watch?v=DIGwweDJCBk
https://www.youtube.com/watch?v=WgsZc_wS2qQ
pip3 install imutils
pip3 install imagezmq
client.py
import socket
import time
from imutils.video import VideoStream
import imagezmq
sender = imagezmq.ImageSender(connect_to='tcp://<서버 내부 IP>:5555')
rpi_name = socket.gethostname() # send RPi hostname with each image
picam = VideoStream(usePiCamera=True).start()
time.sleep(2.0) # allow camera sensor to warm up
while True: # send images as stream until Ctrl-C
image = picam.read()
sender.send_image(rpi_name, image)
pip install imagezmq
import imagezmq
conda install -c conda-forge imutils
server.py
import cv2
import imagezmq
image_hub = imagezmq.ImageHub()
while True:
rpi_name, image = image_hub.recv_image()
cv2.imshow(rpi_name, image)
if cv2.waitKey(1) == ord('q'):
break
image_hub.send_reply(b'OK')
아래와 같이 cctv 가 잘 나온다고 하면 이제 사진을 저장해보자.
import cv2
import imagezmq
from time import gmtime, strftime
image_hub = imagezmq.ImageHub()
while True:
rpi_name, image = image_hub.recv_image()
image2= cv2.resize(image, dsize=(640, 480), interpolation=cv2.INTER_AREA)
cv2.imshow(rpi_name, image2)
imgfile='D:/image/'+strftime("%Y%m%d_%H_%M_%S", gmtime())+'.png'
cv2.imwrite(imgfile, image2)
if cv2.waitKey(1) == ord('q'):
break
image_hub.send_reply(b'OK')
저장한 자료를 바탕으로 관절을 인식하는 코드
import torch
import torchvision
from torchvision import models
import torchvision.transforms as T
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
from matplotlib.path import Path
import matplotlib.patches as patches
print('pytorch', torch.__version__)
print('torchvision', torchvision.__version__)
IMG_SIZE = 480
THRESHOLD = 0.95
model = models.detection.keypointrcnn_resnet50_fpn(pretrained=True).eval()
import os
d_list='D:/image/'
for ls in os.listdir(d_list):
print(ls)
img = Image.open(d_list+ls)
img = img.resize((IMG_SIZE, int(img.height * IMG_SIZE / img.width)))
plt.figure(figsize=(16, 16))
#plt.imshow(img)
trf = T.Compose([
T.ToTensor()
])
input_img = trf(img)
out = model([input_img])[0]
codes = [Path.MOVETO,Path.LINETO,Path.LINETO]
fig, ax = plt.subplots(1, figsize=(16, 16))
ax.imshow(img)
for box, score, keypoints in zip(out['boxes'], out['scores'], out['keypoints']):
score = score.detach().numpy()
if score < THRESHOLD:
continue
box = box.detach().numpy()
keypoints = keypoints.detach().numpy()[:, :2]
rect = patches.Rectangle((box[0], box[1]), box[2]-box[0], box[3]-box[1], linewidth=2, edgecolor='b', facecolor='none')
ax.add_patch(rect)
# 17 keypoints
for k in keypoints:
circle = patches.Circle((k[0], k[1]), radius=2, facecolor='r')
ax.add_patch(circle)
# draw path
# left arm
path = Path(keypoints[5:10:2], codes)
line = patches.PathPatch(path, linewidth=2, facecolor='none', edgecolor='r')
ax.add_patch(line)
# right arm
path = Path(keypoints[6:11:2], codes)
line = patches.PathPatch(path, linewidth=2, facecolor='none', edgecolor='r')
ax.add_patch(line)
# left leg
path = Path(keypoints[11:16:2], codes)
line = patches.PathPatch(path, linewidth=2, facecolor='none', edgecolor='r')
ax.add_patch(line)
# right leg
path = Path(keypoints[12:17:2], codes)
line = patches.PathPatch(path, linewidth=2, facecolor='none', edgecolor='r')
ax.add_patch(line)
plt.savefig('D:/model_output/'+ls)
아래와 같이 나타나면 성공
open cv와 결합해서 자동 디텍션은 추후 포스팅하는 걸로 하겠다.
'ubuntu' 카테고리의 다른 글
라즈베리파이 selenium 사용법 (0) | 2020.03.23 |
---|---|
nas 마운트하기 (0) | 2020.03.23 |
jupyter-notebook에서 matplotlib 한글폰트 설정 (0) | 2020.02.13 |
파이썬 Selenium linux 환경 구축하기 (ubuntu) (0) | 2019.05.08 |
우분투 팀뷰어 끊김 현상 (0) | 2019.03.26 |
jupyter-notebook에서 matplotlib 한글폰트 설정
from IPython.core.display import display, HTML
display(HTML("<style> .container{width:90% !important;}</style>"))
# !sudo apt install fonts-nanum
# !sudo fc-cache -fv
# 일부러 오류내서 경로 확인
matplotlib.font_manager.findfont('a')
# !sudo cp /usr/share/fonts/truetype/nanum/Nanum* /root/anaconda3/envs/jupyter/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf
import matplotlib
import matplotlib.font_manager
[f.name for f in matplotlib.font_manager.fontManager.ttflist if 'Nanum' in f.name]
import platform
from matplotlib import font_manager, rc
import matplotlib.pyplot as plt
# 한글 사용시 마이너스 폰트가 깨지는 문제가 발생할 수 있으므로 설정변경
plt.rcParams['axes.unicode_minus'] = False
if platform.system() == 'Windows':
path = "c:/Windows/Fonts/malgun.ttf"
font_name = font_manager.FontProperties(fname=path).get_name()
rc('font', family=font_name)
elif platform.system() == 'Darwin':
rc('font', family='AppleGothic')
elif platform.system() == 'Linux':
rc('font', family='NanumBarunGothic')
else:
print('Unknown system... sorry~~~~~~')
import os
import numpy as np
np.random.seed(0)
x=range(5)
y=10+5*np.random.randn(5)
fig=plt.figure()
ax=fig.add_subplot(111)
ax.set_title('한국어를 지정한 타이틀')
ax.bar(x,y)
plt.show()
'ubuntu' 카테고리의 다른 글
nas 마운트하기 (0) | 2020.03.23 |
---|---|
라즈베리파이 openCV 설치 및 관절 인식 (2) | 2020.02.13 |
파이썬 Selenium linux 환경 구축하기 (ubuntu) (0) | 2019.05.08 |
우분투 팀뷰어 끊김 현상 (0) | 2019.03.26 |
주피터 서버 만들기(최종) (0) | 2019.03.25 |
파이썬 Selenium linux 환경 구축하기 (ubuntu)
크롬 설치하기
https://linuxize.com/post/how-to-install-google-chrome-web-browser-on-ubuntu-18-04/
크롬 버전 체크하기
google-chrome --version
크롬드라이버 설치하기
wget -N http://chromedriver.storage.googleapis.com/해당버전/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
chmod +x chromedriver
sudo mv -f chromedriver /usr/local/share/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver
python 실행 후 테스트하기
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
from time import sleep
# create a new chrome session
options = Options()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
driver = webdriver.Chrome(chrome_options=options, executable_path="/home/ducj/crawling/chromedriver")
driver.implicitly_wait(3)
driver.maximize_window()
# Navigate to the application home page
driver.get("http://www.google.com")
driver.get("https://www.google.co.kr/maps")
sleep(0.05)
search=driver.find_element_by_css_selector('input#searchboxinput.tactile-searchbox-input')
search.clear()
search.send_keys('대구대')
search.send_keys(Keys.ENTER)
driver.current_url
driver.close()
'ubuntu' 카테고리의 다른 글
라즈베리파이 openCV 설치 및 관절 인식 (2) | 2020.02.13 |
---|---|
jupyter-notebook에서 matplotlib 한글폰트 설정 (0) | 2020.02.13 |
우분투 팀뷰어 끊김 현상 (0) | 2019.03.26 |
주피터 서버 만들기(최종) (0) | 2019.03.25 |
NAS 설치(삼바, mysql) (0) | 2019.03.15 |
우분투 팀뷰어 끊김 현상
openbox설치
sudo apt-get install openbox
openbox --replace
재부팅
reboot
'ubuntu' 카테고리의 다른 글
jupyter-notebook에서 matplotlib 한글폰트 설정 (0) | 2020.02.13 |
---|---|
파이썬 Selenium linux 환경 구축하기 (ubuntu) (0) | 2019.05.08 |
주피터 서버 만들기(최종) (0) | 2019.03.25 |
NAS 설치(삼바, mysql) (0) | 2019.03.15 |
NEXTCLOUD 설치 (2) | 2019.03.14 |
주피터 서버 만들기(최종)
Nvidia 그래픽카드 드라이버 다운로드
ubuntu-drivers devices
sudo apt install nvidia-driver-390
재부팅
reboot
nvidia-smi
add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
(ducj는 제 유저이름입니다.)
cd /home/ducj/다운로드
sudo chmod +x cuda_9.0.176_384.81_linux.run
./cuda_9.0.176_384.81_linux.run --override
accept > yes > no > yes > enter > yes > yes > enter
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
export PATH="$PATH:/usr/local/cuda/bin"
tar xvzf cudnn-9.0-linux-x64-v7.4.1.5.tgz
sudo cp -P cuda/include/cudnn.h /usr/local/cuda/include
sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
www.anaconda.com에서 파이썬 3.7 다운로드
sudo bash Anaconda3-2018.12-Linux-x86_64.sh
sudo bash Anaconda3-2018.12-Linux-x86_64.sh -u
(난 안되서 sudo bash Anaconda3-2018.12-Linux-x86_64.sh -u 사용)
(yes) 입력
source ~/.bashrc
설치 종료
conda list 로 설치 확인
conda create -n 가상환경이름 python=3.5 anaconda
conda create --prefix /경로/ python=3.5 anaconda
conda env list
conda env remove -n 가상환경이름 --all
source activate 가상환경이름
나중에 해제할 때
conda deactivate
conda install jupyter notebook
conda install -c conda-forge jupyterlab
conda install -c r rstudio --yes
conda install -c anaconda keras-gpu
tensorflow-gpu 설치
python
from notebook.auth import passwd
passwd()
'sha1:...............'을 출력할 텐데 저장 해두고 조금있다 입력.
jupyter notebook --generate-config
내부ip 확인하기
sudo apt install net-tools
ifconfig
2번째 줄 inet 옆에 값
주피터 노트북 설정하기
vi ~/.jupyter/jupyter_notebook_config.py
c.NotebookApp.ip = '내부ip'
c.NotebookApp.open_browser = False
c.NotebookApp.password = u'sha1:...............'
c.NotebookApp.port=8888
c.NotebookApp.notebook_dir=u'/home/ducj/data'
c=get_config()
주피터 노트북 서버 항상 켜진상태로 두기
sudo jupyter notebook --allow-root
ctrl+z
bg
disown -h
주피터 노트북 목록보기
sudo jupyter notebook list
주피터노트북 끄기
sudo jupyter notebook stop 8686
gpu 상태 체크
watch -n 5 nvidia-smi -a --display=utilization
'ubuntu' 카테고리의 다른 글
파이썬 Selenium linux 환경 구축하기 (ubuntu) (0) | 2019.05.08 |
---|---|
우분투 팀뷰어 끊김 현상 (0) | 2019.03.26 |
NAS 설치(삼바, mysql) (0) | 2019.03.15 |
NEXTCLOUD 설치 (2) | 2019.03.14 |
우분투 아무것도 모르고 따라 할 때 필요한 것들 (0) | 2019.03.14 |