본문 바로가기
반응형

OpenCV14

[openCV / c++] 사진 반만 흑백으로 만들기 / 사진 밝게 만들기 / 사진 어둡게 만들기 반만 흑백으로 만드는 함수 void gray(IplImage *img) 으로 half_width에서 사진의 반만 흑백으로 만들기 위해서 이미지 너비의 1/2를 얻어온다. void gray(IplImage *img) { int half_width = img->width / 2; //이미지의 1/2 너비를 가져온다 for (int i = 0; i height; j++) { CvScalar color = cvGet2D(img, j, i); //해당 픽셀 color 값을 가져온다 double avgColor = (color.val[0] + color.val[1] + color.val[2]) / 3.0; //A설명 cvSet2D(i.. 2020. 12. 30.
[c++/openCV] 비주얼 스튜디오(visual stdio)에 openCV 설치하기 1. opencv 파일을 준비합니다. 2. c++ 프로젝트와 main.cpp 을 만들어줍니다. 이때, debug -> release 로 바꿔줍니다. 3. 솔루션 탐색기 -> 프로젝트에 마우스 우클릭 -> 파일 탐색기에서 폴더 열기를 해줍니다. 4. 파일 탐색기로 열린 파일에 opencv 파일에서 include과 lib 파일 복사 붙어 넣기 해줍니다. 5. 리소스 뷰 -> 프로젝트 이름에 우클릭 속성을 클릭해줍니다. 6. C/C++ 에서 추가 포함 디렉터리에 ./include 을 입력해줍니다. 7. 링커 에서 추가 라이브러리 디렉터리에 ./lib 을 입력해줍니다. 8. 링커 하위 "입력"에서 추가 종속성을 눌러서 편집을 클릭한 후 lib 파일 아래 있는 lib 형식 파일을 이름을 다 적어 넣어줍니다 (스펠.. 2020. 12. 30.
수화 인식 프로젝트 - [7일차] 5일차 + convex Defects (openCV) 5일차를 합치는 이유 : 배경 전체를 검사하고 인식하는 방법은 비효율적이고 배경의 영역이 더 클 경우 결과가 잘 나오지 않는 문제 발생. 이를 해결하기 위해, 손을 놔둘 부분만 잘라서 검사하고자 함. Cv2. selectROI를 이용하여 특정 영역 지정. 5일차랑 합친 부분에 대한 결과물 : https://youtu.be/A_2Aeo579z8 YouTube www.youtube.com 현 문제점 : 손가락을 접어도 손가락으로 인식이 됨. 손의 중심을 구해야함. 이를 해결하기 위해, convex Defects를 이용하고자 함. 이에 대한 결과물 : 현재 수정한 코드 : import cv2 as cv import numpy as np from PIL import Image import os import ti.. 2020. 3. 9.
수화 인식 프로젝트 - [6일차] 다시 정리하기 (openCV) 기존 코드 : import numpy as np import cv2 from PIL import Image def backSubtraction(): try: cap=cv2.VideoCapture(0) except: print('camera_errro1') return while True: ret, frame = cap.read() cv2.imshow("VideoFrame", frame) if not ret: print('camera_error2') break dst = frame.copy() test = cv2.cvtColor(frame, cv2.COLOR_BGR2YCrCb) mask_hand = cv2.inRange(test, np.array([0,133,77]),np.array([255,173,127.. 2020. 3. 6.
반응형