본문 바로가기

분류 전체보기

(137)
다사다난 군스토리 - 8(터졌구나~) 최근 용사들이 일과 후 스마트폰 사용을 허가하면서 군 내에서 곪아터진 부분이 외부로 하나 둘 이슈화 되고 있다 가장 대표적으로 케이크사건 또는 격리시설사건이 대두되었는데, 실제로 현역시절 내가 겪었던 부분이었기 때문에 조금 언급을 해보고자 한다 1. 케이크사건은 부대+ 담당 간부가 100% 잘못한게 맞다 - 군 부대에 자대배치 받기 전부터, 아니 병무청에서부터 용사에 대한 신상정보는 이미 확보가 된다. 이후 훈련소에서 해당 인원에 대한 보다 상세한 정보가 수정,업데이트되며 이 부분에서 당연히 생일정보는 입력된다. 이 데이터는 군 자체 인사시스템에 저장이 되고, 용사가 자대배치를 받게 되면 해부대에 그 데이터가 넘어가게 된다. 그러면 인사시스템 + 군수시스템, 재정시스템 등이 상호작용하면서 그 인원에 대한..
비전공자 프로그래밍 도전하기 요즘 부쩍 프로그래밍에 대한 관심도가 높아지면서 하나둘 프로그래밍을 배워보려고 입문하는 사람들이 늘어간다 하지만 대다수가 전공자가 아니라는 이유로 쉽게 포기하거나 어려움을 느끼곤 하는데, 내가 생각하는 몇가지 이유를 짚어보자면~ 1. 진득하게 집중할만한 환경이 갖춰지지 않는다 - 대학을 다니면 오로지 해당 과목만 주구장창 배우고, 그 시기에는 삶의 목적이 거의 공부인데다, 그 공부도 분야가 넓은 것도 아니고 오로지 프로그래밍에 대한 것만 연결지어 배우니까 같은 시간이 주어지더라도 뒤늦게 시작하는 사람들과 같은 환경이라고 할 수가 없지 않을까? - 모든 공부가 다 그러하겠지만 특히 프로그래밍은 그저 코드를 배우고 작성하고 끝이 아니라 계속 디버깅을 해가면서 오류를 발견하고 그에따른 수정과 보완을 해나가면서..
openCV 프로그래밍 기초(VideoWriter) 이전 포스팅에서 비디오 파일을 읽어오는 방법을 배웠다 이번에는 비디오파일을 녹화하는 방법을 알아보려 한다 자율주행 시스템은 카메라로부터 실시간으로 받는 영상정보를 인식하여 학습된 모델을 바탕으로 결과를 도출하는 방식인데 그 과정에 가장 핵심이면서 기본인 카메라를 컨트롤하는 방법을 배우는 것이다 1. 라이브러리 임포트 import cv2 import numpy as np 2. 카메라로부터 데이터를 가져온다 cap = cv2.VideoCapture(0) #모듈 대소문자 주의 #0 : 0번 카메라를 의미 3. 카메라 연결상태 확인 if cap.isOpend() == False : print('Unable to read camera feed') 카메라가 정상적으로 연결되지 않았다면 해당 문구를 출력하여 안내하도..
openCV 프로그래밍 기초(dnn 모듈) openCV는 미디어(사진, 영상)소스 분석에 최적화된 라이브러리로 무엇보다 실시간 이미지 프로세싱에 중점으로 개발된 라이브러리다 openCV 라이브러리를 이용해 이미지, 영상에 대한 컴퓨터비전 분석을 용이하게 할 수 있고, openCV 안에도 그에 맞게 다양한 모듈을 지원하고 있다 오늘은 openCV라이브러리 내 다양한 모듈 중 dnn(deep neural network)라는 모듈을 알아보려 한다 많은 블로그나 레퍼런스에서 소개하는 내용으로는 dnn 모듈은 이미 생성되어있는 네트워크에서 순방향 실행을 위한 용도로 설계되어 기존의 여러 deep-learning framework에서 학습한 모델을 그대로 불러와서 dnn 모듈을 이용해 해당 모델을 실행시키는 방식으로 사용된다는 부분이다 cv_enet_mod..
다사다난 군스토리 - 7(인사? 인사행정?) 나는 2018년 인사행정병과로 분류되어 인사분야 장교로 복무하였다 과거 인사행정병과는 '부관병과'라는 이름을 가지고 있었다 그래서 어르신 분들이 어느병과냐고 물으시면 '인사행정병과입니다'라고 말하면 이해를 못하고 '부관병과입니다'라고 하면 아~ 하면서 한번에 알아들으실 정도 ㅋ 부관병과는 과거 정말 막강한 힘을 가지고 있던 존재라고 한다. 장병 인사에 대한 전반을 모두 관리하고 있었기 때문이지. 이 막강한 힘을 올바르게 활용하지 않고 일명 인사갑질을 해대는 덕분에 부관병과는 철퇴를 맞고 인사권한에 대부분을 뺏기게 된다 그렇게 인사관련 업무가 인사처로 넘어오고 부관병과는 인사행정병과로 전환되면서 인사처 소속으로 흡수된다 그래서 현재는 인사처를 인사근무, 인사행정으로 나누어 각각의 업무를 소화하고 있다 인사..
openCV 프로그래밍 기초(영상 읽기) 이전까지 배운부분은 이미지파일에 대한 편집과 수정을 했다면 이번엔 영상 읽어오는 방법을 알아보겠다 영상을 읽어오는 방법은 여러가지가 존재하는데 - 저장되어있는 영상파일을 불러오는 방법 - 연결되어있는 카메라에서 영상소스를 바로 (녹화)받아오는 방법 두가지를 모두 해보겠지만 오늘은 첫번째 방법을 연습해보려한다 1. openCV 라이브러리 임포트 import cv2 2. 영상파일이 저장된 경로 불러오기 cap = cv2.VideoCapture('data/videos/chaplin.mp4') #카메라를 실행하여 바로 객체를 생성하는 방법은 아래주석코드이다 # cap = cv2.VideoCapture(0) #괄호 안 숫자는 카메라의 개수이다. 1개일때는 0부터 시작하여 순서를 매긴다 여기서 이전에 배운 이미지파..
openCV 프로그래밍 기초(텍스트생성) openCV를 이용하여 이미지파일안에 텍스트를 넣는 방법을 알아보자 이 기능은 추후 자율주행을 개발하거나 이미지, 영상을 개발하는 실시간 처리과정에서 시각적으로 확인하기 쉽게 직접 텍스트를 넣어주는 기능으로 활용된다 1. openCV라이브러리 임포트 import cv2 import numpy as np 2. 이미지파일 경로 변수에 저장 image = cv2.imread('data/images/mark.jpg') 3. cv2.putText로 텍스트 생성 imageText = image.copy() cv2.putText(imageText, 'Mark Zuckerberg',(205,50), cv2.FONT_HERSHEY_SIMPLEX, 1, (0,255,0),2) cv2.imshow('text',imageTe..
openCV 프로그래밍 기초(원, 타원 그리기) 지난시간 openCV를 활용하여 직선, 사각형 그리기에 이어서 원, 타원을 그리는 함수를 알아보자 1. 필수 라이브러리 임포트 import cv2 import numpy as np 2. 저장된 이미지파일 경로를 가져와 변수에 저장 image = cv2.imread('data/images/mark.jpg',1) 3. cv2.circle 함수를 이용해 원 그리기 imageCircle = image.copy() cv2.circle(imageCircle, (350,200), 150, (255,0,0), thickness = 2) cv2.imshow('image circle', imageCircle) 4. cv2.ellipse 함수를 이용해 타원 그리기 imageEllipse = image.copy() cv2.e..