목록OpenCV (7)
백인감자
왜 이진화를 하는가 ? Gray-scale image는 한 픽셀당 8비트 밖에 차지하지 않기 때문에 컬러이미지보다 크기가 작아 처리하기 쉽다. Binary image의 경우, 픽셀이 가질 수 있는 색은 단 2가지, 흰색 혹은 검정색뿐이다. 따라서 한 픽셀당 1비트만 있어도 되기 때문에, Gray-scale image보다 연산 속도가 빠르다. 영상크기가 작을 때는 못느낄수도 있지만 영상의 크기가 커지거나 영상의 개수가 많으면 연산 속도 차이가 느껴질것이다. --> 빠른 연산속도를 얻기 위해 사용할 수 있다. 출처: http://swprog.tistory.com/entry/사진을-흑백영상으로-바꾸기 [소프트웨어 개구리] 참고: http://docs.opencv.org/2.4.9/modules/imgproc/..
파이썬 2.7 버전openCV 를 다운받고 압축을 푼 후 /opencv/build/python 에 들어가서 본인의 환경(32/64 bit) 에 맞는 폴더에 들어가서cv2.pyd 파일을 복사 후 C:\Python27\Lib\site-packages 폴더 내에 붙여넣기 해주면 된다. 파이썬 3.x 버전 (3.6 이라 가정하고 설명)http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv 에 들어가서 본인의 환경에 맞는 whl 파일을 다운받는다. cmd 에서 whl 파일이 설치된 경로로 이동 후 명령어를 통해 whl 파일을 설치한다. 위의 두 버전을 동시에 사용하려면 환경 변수에서 Path 설정에서 설치경로\Python27 , 설치경로\Python27/Scripts설치경로\Py..
이슈사항 배경이 되는 frame update 가 안되는 코드라서 유동적으로 배경 frame 을 바꿔 줄 필요성이 있을 것 같다. ex. 밝기의 변화, 첫 frame 에 사람이 찍히는 경우 등을 대비.특히 밝기 변화에 너무 민감해서 불필요한 이미지가 저장된다. frame :카메라에서 받아들이는 원본 영상firstframe : background 영상, 카메라가 켜진 후 첫 번째 frame 이다.gray : frame 에 grayscale 후 가우시안 필터 적용한 영상.frameDelta : firstframe 과 gray 의 absdiff 를 적용한 영상.thresh : frameDelta 를 이진화 한 영상. 여기서 findcontours 함수 사용하여 윤곽선 검출하고 객체 이미지 저장. Backgrou..
watershed - 워터쉐드 변환 : 영상을 빨리 분할해 동일한 영역으로 만들기 위해 사용하는 영상처리 알고리즘. - 영상이 위상적 입체감을 보여준다는 아이디어에 따름. - 동일한 영역은 상대적으로 급격한 에지로 기술된 평탄한 분지에 대응. - 즉, 워터쉐드 알고리즘의 원래 버전이 영상을 과도하게 분할해 여러 개의 작은 영역을 만든다. - 영상 분할에 대한 정의를 유도하는 미리 정의된 마커 집합을 사용. - 워터쉐드 분할은 cv::watershed 함수를 사용해 얻음. - 32비트 부호에 있는 정수 마커 영상으로, 레이블을 대표하는 넌제로 화소로 구성한다. - 영상 내의 확실히 특정 영역에 속하는 것으로 알려진 일부 화소를 마크한다. - 초기 레이블링에서 워터쉐드 알고리즘이 다른 화소가 속할 영역을 결..
각 픽셀에 저장된 RGB값들을 옆으로 한 칸씩 이동시켜본 예제openCV에서는 BGR의 순서로 저장되어 있다. GRB 의 형태로 바꿔본 결과다 나온다. 예제 코드 #include #include #include #include using namespace std; using namespace cv; int main(int argc, char** argv) { Mat image = imread("yumi.jpg"); int nBlue, nGreen, nRed; nBlue = 0; nGreen = 0; nRed = 0; int temp = 0,temp2=0; namedWindow("window1", CV_WINDOW_NORMAL); //window 크기를 조정하기 위해 사용 namedWindow("windo..
동영상을 입력받아서 RGB to Gray 로 바꿔준 다음 gray 영상에서 edge를 추출하여 원본(frame) 과 추출(edge) 영상을 같이 화면에 띄우는 예제이다. Canny 함수는 기본적으로 grayscale 화 된 이미지나 영상의 외곽선(edge) 를 추출하는것인데 openCV 2.4 이상 버전부터는 color 이미지나 영상도 바로 추출 할 수 있도록(gray화 시키는 과정 생략) 지원된다고 한다. 이 예제에서는 직접 gray화 시키는 코드를 포함한 예제이다. Canny함수 인자에 대한 설명 출처:http://docs.opencv.org/2.4/doc/tutorials/imgproc/imgtrans/canny_detector/canny_detector.html Canny( detected_edg..
출처:http://ledgku.tistory.com/60[OpenCV 설치] Windows OpenCV 설치, C++ 테스트 OpenCV 설치- OpenCV 홈페이지(http://opencv.org/)에서 OpenCV 최신 버전을 다운로드한다.(현재 3.1xx 버전이 있지만 32비트는 3.0 버전 설치를 해야함) - 다운로드가 완료되면 파일을 실행한다. 실행하면 아래와 같은 창이 뜨는데 압축 해제할 경로를 지정하고 Extract버튼을 눌러준다. - 제어판 - 시스템(윈도우키 + Pause)에서 환경변수 설정을 한다. 시스템 변수에서 새로 만들기를 클릭한다. - 변수 이름 : OPENCV_BUILD변수 값 : 위에 OpenCV 압축해제 경로 + \opencv\build 입력 후 확인 - 시스템 변수 중 P..