opencv OpenCV의 waitKey()는 0xFF OpenCV를 사용하는 사람은 다음과 같은 작업을 수행할 수 있습니다. 大部分的教學都告訴你要在叫用 0xFF 0&運算, 把高位元內容清掉, 只留下最低一個位元組的按鍵碼.這是因為過去 waitKey()傳回值中除了最低位元組的 ASCII 碼以外, 在高位元可能會包含有像是 Ctrl 等其他按鍵的旗標, 因此必須將高位元清除.不過6在 .45.之後, waitKey()預設就會幫你清除高位元資料, 只留下最低一個位元組, 這... pythonopencv ip camera android에 액세스하고 java를 사용하여 모니터에 표시 그런 다음 PC에서 다운로드 폴더를 추출해야 합니다 그런 다음 프로젝트 폴더에 다운로드한 javacv 라이브러리를 추가해야 합니다. 먼저 라이브러리 폴더를 마우스 오른쪽 버튼으로 클릭한 다음 jar/폴더 추가를 선택하고 PC에서 추출된 javacv 라이브러리를 모두 선택합니다. 라이브러리를 가져온 후 모든 javacv 라이브러리가 라이브러리 폴더에 나타납니다. 먼저 이전에 라이브러리 폴더에 ... javaopencv OpenCV를 사용한 얼굴 감지(완전한 인형용) 이것은 얼굴 인식에 대한 완전한 초보자 소개를 의미하는 매우 멍청하고 간단한 자습서입니다. 이를 위해 을 사용하고 단순성을 위해 Python을 사용하지만 확장을 원할 경우 C++로 다시 작성할 수 있습니다. Python은 프로토타이핑에 적합하므로 계속 사용하겠습니다. 에서 opencv-python를 가져올 수 있습니다. 이것은 CPU에서 작동하는 최적화되지 않은 버전입니다. 프로토타이핑에 충... pythonopencv [OpenCV] 마우스 OpenCV에는 왼쪽 클릭 및 오른쪽 클릭과 같은 다양한 마우스 동작을 감지하는 마우스 이벤트 감지 기능이 있다. 일단 이미지에서 마우스를 사용하여 사각형을 렌더링을 해보자. 마우스 이벤트를 사용해서 왼쪽 버튼이 눌리면 누른 위치에 대한 정보 저장, 누른걸 놓으면 또 한번 위치 저장해서 사각형 그리기. 사용자가 q 키(ASCII 코드: 113)를 눌러 응용 프로그램 스크립트를 종료할 때까지 ... pythonTILopencvTIL Open-cv 바코드 및 Qr-code 읽어보기 QR-code, Barcode를 open-cv로 읽어보겠습니다. Mac OSX 필수... opencvopencv OpenCV를 이용한 차선 검출 예제 풀이(작성중) python으로 앞에서 하였던 차선 검출 과제를 한번 더 해볼 것이다. OpenCV를 사용하였고, Visualstudio2019를 사용 하였다. 앞의 과제를 간략히 정리하면 다음과 같다. 동영상에서 차선 검출하기 "road.avi" 동영상에서 차선 검출하기 동영상은 opencv 폴더에서 불러오기 평가기준 : 차선 검출 성능(검출율, 처리 속도 등) 코드 내용(코드에 주석 처리 필수) 제출 서... 차선검출cppopencvcpp 차선 검출 예제 풀이(작성중) 사용 프로그램 : jupyter lab, anaconda3 python으로 OpenCV를 사용 하려면 anaconda prompt에서 따로 설치를 해주어야 한다. pip install opencv-python을 입력하여 설치를 해준다. jupyter lab은 자동완성을 제공하지 않기 때문에 kite라는 파일을 설치하여 자동완성을 사용하였다. 22.04.18 기준 kite는 파일을 제공하지 않... 차선검출pythonopencvopencv [OpenCV] 얼룩 감지 몇 가지 공통 속성(회색조 값)을 공유하는 이미지의 연결된 픽셀 그룹이다. 위 이미지에서 어둡게 연결된 영역은 얼룩이며 얼룩 감지의 목표는 이러한 영역을 식별하고 표시하는 것이다. SimpleBlobDetector는 이름에서 알 수 있듯이 아래에 설명된 다소 간단한 알고리즘을 기반으로 한다. 알고리즘은 매개변수에 의해 제어되며 다음 단계가 있다. Thresholding : minThresho... pythonTILopencvTIL [OpenCV] 이미지 임계값 전역 임계값 지정 알고리즘은 원본 이미지(src)와 임계값(threshold)을 입력으로 사용하고 소스 픽셀 위치(x,y)의 픽셀 강도를 임계값과 비교하여 출력 이미지(dst)를 생성한다. src(x,y) > threshold 이면 dst(x,y)에 일부 값이 할당된다. 그렇지 않으면 dst(x,y)에 다른 값이 할당된다. 가장 간단한 형태의 전역 임계값은 이진 임계값 처리라고 한다. 소스 ... pythonTILopencvTIL [OpenCV] 이미지 필터링 이미지 처리에서 컨볼루션 커널은 이미지를 필터링하는 데 사용되는 2D 행렬이다. 컨볼루션 커널을 사용하여 이미지의 각 픽셀에 대해 수학적 연산을 수행하여 원하는 효과(이미지를 흐리게 하거나 선명하게 하는 것과 같은)를 얻을 수 있다. 소스 이미지의 필터링은 이미지와 커널을 컨벌루션하여 수행된다. 그런 다음 커널의 각 요소 값(이 경우 1)을 소스 이미지의 해당 픽셀 요소(픽셀 강도)와 곱한다... pythonTILopencvTIL [OpenCV] 이미지 회전 및 변환 이미지를 편집할 때 자르고, 회전시키는 등 다양한 작업을 할 수 있다. 회전 중심 구하기(일반적으로 이미지의 중심) 2D 회전 행렬 만들기(getRotationMatrix2D()사용) 위에서 만든 회전 행렬을 사용하여 이미지에 아핀 변환 적용 시키기(warpAffine() 사용) 2D 회전 횡렬 만들기 - getRotationMatrix2D center : 이미지의 회전 중심 angle : ... pythonTILopencvTIL [w5d4] 영상밝기 조정 (Ubuntu 18.04.6 LTS) C++, VS code 사용 프로그래머스 자율주행 데브코스 3기 Tickmeter 지나가는 시간을 측정, 특히 함수 걸린 시간을 측정하기 위한 클래스 영상 밝기 조정 dst3의 평균값을 계산하면 128이 평균임을 확인할 수 있다. mean(src + (128 - m) = mean(src) + mean( 128 - m ) = m + 128 - m = 128... opencvopencv [w5d1] 컴퓨터 비전 개요, OpenCV 설치 (Ubuntu 18.04.6 LTS) (Ubuntu 18.04.6 LTS) C++, VS code 사용 컴퓨터 비전: 정지 영상(사진) 또는 동영상으로부터 의미 있는 정보를 추출하는 학문. 영상: image. Gray scale image: 흑백 사진. True color image: 빛의 3원색인 red, green, blue를 각각 0~255의 256단계로 표현. 압축 등을 고려하지 않고 생각했을 때, true color i... opencvopencv [w5d5] Histogram Stretch, Filtering histogram stretch histogram stretch는 histogram 상 분포에서 최대,최소값을 이용하여 밝기를 조절한다. 적용되는 공식은 아래와 같다. openCV에서 최대 최소값을 구하는 함수는 cv::minmaxLoc이다. Point도 추가적으로 넣으면 해당 위치를 Point로 받을 수 있다. cv::normalize를 이용해서도 histogram stretch를 수행할 ... opencvopencv [w5d2] OpenCV 영상 처리 cv::, std:: 부분을 생략하고 싶으면 아래의 코드를 main 함수 이전에 넣어줄 수 있다. 코드 분석 cv::Mat은 행렬 형태 클래스. cv::imread는 파일을 읽어오는 함수. Mat cv::imread(const String& filename,int flags= IMREAD_COLOR ) flag에 따라서 어떤 형태로 불러올지 결정할 수 있음. IMREAD_GRAYSCALE: ... opencvopencv [w5d3] VideoCapture, 그리기 함수, Trackbar VideoCaputre class 두 코드의 차이는 cap.open()에 index를 넣으면 카메라가 실행되며, 파일 경로를 입력하면 동영상을 입력받음. Videocap 객체에서 get과 set을 이용해 해당 객체의 property를 얻을 수 있음. CAP_PROP_FRAME_WIDTH CAP_PROP_FRAME_HEIGHT CAP_PROP_FPS CAP_PROP_FRAME_COUNT: 전체... opencvopencv [OpenCV] OpenCV 시작하기 💜 프로젝트 생성 💜 코드 작성 💜 프로젝트 속성 편집 헤더파일이 위치한 디렉터리 설정: [구성 속성] - [C/C++] - [일반] 선택 후 '추가 포함 디렉터리'에 $(OPENCV_DIR)\include 입력 OpenCV 라이브러리 파일이 위치한 폴더 설정: [구성 속성] - [링커] - [일반] 선택 후 '추가 라이브러리 디렉터리'에 $(OPENCV_DIR)\x64\vc15\lib 입력... opencvopencv [w6d1] Filters Mean filter Mean filter의 커널 사이즈에 따른 효과는 위 코드의 결과로 확인해 볼 수 있다. 2D filter의 연산양은 다소 많은데, Separable filter일 경우에는 1D filter 두개로 나누어 계산할 수 있으며 시간복잡도가 크게 감소한다. N x M 크기의 이미지에서 n x m 크기의 filter를 이용해 연산을 수행할 경우 2D filter는 O(M·N·m... opencvopencv opencv4를 jetson nano에 qemu로 설치해보자 하지만 eMMC의 경우 16GB밖에 용량이 없고 linux kernel과 nvidia에서 제공하는 기본적인 filesystem에서 6~7GB, cuda 설치용 library 2~3GB하면 벌써 10GB 가까이 사용한다. 남은 6GB에서 swap memory 4GB를 수탈당하면 opencv build는 정신건강을 해칠 수 있다. 설치 과정 중에 cuda, cudnn 패키지를 다운받는 용도 in... QEMUNvidiaopencvJetson Nanoaarch64Jetson Nano [w6d3] 컬러 영상 처리 컬러영상은 흑백영상과 비교하였을 때 데이터 수가 증가한 것을 확인해 처리해주어야한다. RGB color space Gray scale로 변환을 하기 위해서는 아래 공식을 사용한다. 두가지 색상 차이를 비교할 때, RGB space에서의 거리와 실제 눈에 보이는 색의 차이값의 정도에는 다소 차이가 있다. 이를 개선하기 위해 HSV, YCrCb를 따라서 사용할 수 있다. HSV color spa... opencvopencv [OpenPose] Windows에서 OpenPose 설치해보기 GPU : cuda 11.5 / cuDNN v8.3.2 CMake version : 3.23.0 CMake GUI 설치 환경과 맞는 msi 파일을 다운로드 한 후 설치 Visual Studio 설치 나는 Visual Studio 2019 Community가 이미 설치되어 있어서 이 단계는 건너뛰었다. NVIDIA 드라이버, CUDA, cuDNN 설치 CUDA는 CUDA Toolkit 11.5... opencvOpenPoseOpenPose [openCV] 얼굴 인식 프로그램 출처 : 에러 났던 부분들 [얼굴 학습시키기] 챕터의 id = int(os.path.split(imagePath)[-1].split(".")[1]) int형이기 때문에 처음 얼굴을 인식할 때 적는 id를 숫자로 입력해야한다 : 현재 방식은 코드에 미리 입력해둔 이름 배열의 주소값에 맞는 id를 적어야 이름으로 학습이 가능하다 id를 적을 때 이름을 입력하여 그 이름에 맞게 분류하여 학습시키고... pythonopencvopencv [w6d2] Transformation Translation transformation 코드 실행 결과는 아래 이미지에서 확인할 수 있다. dst2는 cv::Mat 객체의 크기를 늘렸으며 같은 크기를 평행이동 하여 dst1과 dst2가 겹치는 것을 확인할 수 있다. Shear transformation Scale transformation 위의 이미지에서 dst1보다 나은 결과를 냄을 확인할 수 있다. OpenCV에서는 resiz... opencvopencv [w6d5]허프 변환 검출 y=ax+b 에서는 (x,y)를 인자로 사용하고 a와 b는 기울기와 y절편으로 직선의 형태를 결정짓는다. 이와 비교해서 b=-ax+y에서는 (a,b)를 인자로 사용하고 (x,y)는 직선의 형태를 결정짓는 인자로 사용한다먼저 직선을 지나는 점을 검출하기에 위해서는 공간을 정의해야한다. y=ax+b 에서는 (x,y)를 인자로 사용하고 a와 b는 기울기와 y절편으로 직선의 형태를 결정짓는다. 이와... opencvopencv [OpenCV]Project 1. 마스크 착용여부 확인 모델 만들기 conda install opencv pip install cvlib cv2 이미지다루기 imread(filename) : 이미지 다루기 imshow(title, image) : 이미지를 사이즈에 맞게 보여줌 image : 보여줄 이미지 cv2.waitKey(0) : 키보드 입력을 대기함 cv2.destroyAllWindows() : 화면에 나타난 윈도우 종료 cv2를 통해 문자 그리기 cv... opencvCNNCNN [C++] Ubuntu + VS Code 환경에서 C++, OpenCV 코드 컴파일하기 이번 포스팅에서는 Ubuntu 18.04 LTS의 Visual Studio Code에서 C++ 코드를 빌드, 실행, 디버깅하는 방법을 알아본다. 검색 창에 C/C++을 검색해 해당 확장 도구를 설치한다. C++ 코드를 테스트하기 위해 프로젝트 폴더와 C++ 파일을 만든다. 열린 VS Code의 좌측 파일 탐색기(도크의 맨 윗 문서 아이콘 클릭 - New File 아이콘 클릭)에서 cppTes... CopencvlinuxubuntuC [w6d4] 특정 색상 영역 추출과 Edge detection lowerb, upperb에 입력영상과 동일한 크기의 cv::Mat객체를 주는 경우 각각의 픽셀마다 다른 상한값과 하한값을 설정할 수 있다. 코드 실행 결과를 보았을 때, HSV color space로 색상을 선택하는 경우 결과에 영향을 주는 주된 인자는 Hue 값이라는 것을 확인할 수 있었다. 이미지 샘플을 가지고 있을 때 유사한 영역을 찾는 방식으로 특정한 Hue값을 지정하기 어려운 경우... opencvopencv
OpenCV의 waitKey()는 0xFF OpenCV를 사용하는 사람은 다음과 같은 작업을 수행할 수 있습니다. 大部分的教學都告訴你要在叫用 0xFF 0&運算, 把高位元內容清掉, 只留下最低一個位元組的按鍵碼.這是因為過去 waitKey()傳回值中除了最低位元組的 ASCII 碼以外, 在高位元可能會包含有像是 Ctrl 等其他按鍵的旗標, 因此必須將高位元清除.不過6在 .45.之後, waitKey()預設就會幫你清除高位元資料, 只留下最低一個位元組, 這... pythonopencv ip camera android에 액세스하고 java를 사용하여 모니터에 표시 그런 다음 PC에서 다운로드 폴더를 추출해야 합니다 그런 다음 프로젝트 폴더에 다운로드한 javacv 라이브러리를 추가해야 합니다. 먼저 라이브러리 폴더를 마우스 오른쪽 버튼으로 클릭한 다음 jar/폴더 추가를 선택하고 PC에서 추출된 javacv 라이브러리를 모두 선택합니다. 라이브러리를 가져온 후 모든 javacv 라이브러리가 라이브러리 폴더에 나타납니다. 먼저 이전에 라이브러리 폴더에 ... javaopencv OpenCV를 사용한 얼굴 감지(완전한 인형용) 이것은 얼굴 인식에 대한 완전한 초보자 소개를 의미하는 매우 멍청하고 간단한 자습서입니다. 이를 위해 을 사용하고 단순성을 위해 Python을 사용하지만 확장을 원할 경우 C++로 다시 작성할 수 있습니다. Python은 프로토타이핑에 적합하므로 계속 사용하겠습니다. 에서 opencv-python를 가져올 수 있습니다. 이것은 CPU에서 작동하는 최적화되지 않은 버전입니다. 프로토타이핑에 충... pythonopencv [OpenCV] 마우스 OpenCV에는 왼쪽 클릭 및 오른쪽 클릭과 같은 다양한 마우스 동작을 감지하는 마우스 이벤트 감지 기능이 있다. 일단 이미지에서 마우스를 사용하여 사각형을 렌더링을 해보자. 마우스 이벤트를 사용해서 왼쪽 버튼이 눌리면 누른 위치에 대한 정보 저장, 누른걸 놓으면 또 한번 위치 저장해서 사각형 그리기. 사용자가 q 키(ASCII 코드: 113)를 눌러 응용 프로그램 스크립트를 종료할 때까지 ... pythonTILopencvTIL Open-cv 바코드 및 Qr-code 읽어보기 QR-code, Barcode를 open-cv로 읽어보겠습니다. Mac OSX 필수... opencvopencv OpenCV를 이용한 차선 검출 예제 풀이(작성중) python으로 앞에서 하였던 차선 검출 과제를 한번 더 해볼 것이다. OpenCV를 사용하였고, Visualstudio2019를 사용 하였다. 앞의 과제를 간략히 정리하면 다음과 같다. 동영상에서 차선 검출하기 "road.avi" 동영상에서 차선 검출하기 동영상은 opencv 폴더에서 불러오기 평가기준 : 차선 검출 성능(검출율, 처리 속도 등) 코드 내용(코드에 주석 처리 필수) 제출 서... 차선검출cppopencvcpp 차선 검출 예제 풀이(작성중) 사용 프로그램 : jupyter lab, anaconda3 python으로 OpenCV를 사용 하려면 anaconda prompt에서 따로 설치를 해주어야 한다. pip install opencv-python을 입력하여 설치를 해준다. jupyter lab은 자동완성을 제공하지 않기 때문에 kite라는 파일을 설치하여 자동완성을 사용하였다. 22.04.18 기준 kite는 파일을 제공하지 않... 차선검출pythonopencvopencv [OpenCV] 얼룩 감지 몇 가지 공통 속성(회색조 값)을 공유하는 이미지의 연결된 픽셀 그룹이다. 위 이미지에서 어둡게 연결된 영역은 얼룩이며 얼룩 감지의 목표는 이러한 영역을 식별하고 표시하는 것이다. SimpleBlobDetector는 이름에서 알 수 있듯이 아래에 설명된 다소 간단한 알고리즘을 기반으로 한다. 알고리즘은 매개변수에 의해 제어되며 다음 단계가 있다. Thresholding : minThresho... pythonTILopencvTIL [OpenCV] 이미지 임계값 전역 임계값 지정 알고리즘은 원본 이미지(src)와 임계값(threshold)을 입력으로 사용하고 소스 픽셀 위치(x,y)의 픽셀 강도를 임계값과 비교하여 출력 이미지(dst)를 생성한다. src(x,y) > threshold 이면 dst(x,y)에 일부 값이 할당된다. 그렇지 않으면 dst(x,y)에 다른 값이 할당된다. 가장 간단한 형태의 전역 임계값은 이진 임계값 처리라고 한다. 소스 ... pythonTILopencvTIL [OpenCV] 이미지 필터링 이미지 처리에서 컨볼루션 커널은 이미지를 필터링하는 데 사용되는 2D 행렬이다. 컨볼루션 커널을 사용하여 이미지의 각 픽셀에 대해 수학적 연산을 수행하여 원하는 효과(이미지를 흐리게 하거나 선명하게 하는 것과 같은)를 얻을 수 있다. 소스 이미지의 필터링은 이미지와 커널을 컨벌루션하여 수행된다. 그런 다음 커널의 각 요소 값(이 경우 1)을 소스 이미지의 해당 픽셀 요소(픽셀 강도)와 곱한다... pythonTILopencvTIL [OpenCV] 이미지 회전 및 변환 이미지를 편집할 때 자르고, 회전시키는 등 다양한 작업을 할 수 있다. 회전 중심 구하기(일반적으로 이미지의 중심) 2D 회전 행렬 만들기(getRotationMatrix2D()사용) 위에서 만든 회전 행렬을 사용하여 이미지에 아핀 변환 적용 시키기(warpAffine() 사용) 2D 회전 횡렬 만들기 - getRotationMatrix2D center : 이미지의 회전 중심 angle : ... pythonTILopencvTIL [w5d4] 영상밝기 조정 (Ubuntu 18.04.6 LTS) C++, VS code 사용 프로그래머스 자율주행 데브코스 3기 Tickmeter 지나가는 시간을 측정, 특히 함수 걸린 시간을 측정하기 위한 클래스 영상 밝기 조정 dst3의 평균값을 계산하면 128이 평균임을 확인할 수 있다. mean(src + (128 - m) = mean(src) + mean( 128 - m ) = m + 128 - m = 128... opencvopencv [w5d1] 컴퓨터 비전 개요, OpenCV 설치 (Ubuntu 18.04.6 LTS) (Ubuntu 18.04.6 LTS) C++, VS code 사용 컴퓨터 비전: 정지 영상(사진) 또는 동영상으로부터 의미 있는 정보를 추출하는 학문. 영상: image. Gray scale image: 흑백 사진. True color image: 빛의 3원색인 red, green, blue를 각각 0~255의 256단계로 표현. 압축 등을 고려하지 않고 생각했을 때, true color i... opencvopencv [w5d5] Histogram Stretch, Filtering histogram stretch histogram stretch는 histogram 상 분포에서 최대,최소값을 이용하여 밝기를 조절한다. 적용되는 공식은 아래와 같다. openCV에서 최대 최소값을 구하는 함수는 cv::minmaxLoc이다. Point도 추가적으로 넣으면 해당 위치를 Point로 받을 수 있다. cv::normalize를 이용해서도 histogram stretch를 수행할 ... opencvopencv [w5d2] OpenCV 영상 처리 cv::, std:: 부분을 생략하고 싶으면 아래의 코드를 main 함수 이전에 넣어줄 수 있다. 코드 분석 cv::Mat은 행렬 형태 클래스. cv::imread는 파일을 읽어오는 함수. Mat cv::imread(const String& filename,int flags= IMREAD_COLOR ) flag에 따라서 어떤 형태로 불러올지 결정할 수 있음. IMREAD_GRAYSCALE: ... opencvopencv [w5d3] VideoCapture, 그리기 함수, Trackbar VideoCaputre class 두 코드의 차이는 cap.open()에 index를 넣으면 카메라가 실행되며, 파일 경로를 입력하면 동영상을 입력받음. Videocap 객체에서 get과 set을 이용해 해당 객체의 property를 얻을 수 있음. CAP_PROP_FRAME_WIDTH CAP_PROP_FRAME_HEIGHT CAP_PROP_FPS CAP_PROP_FRAME_COUNT: 전체... opencvopencv [OpenCV] OpenCV 시작하기 💜 프로젝트 생성 💜 코드 작성 💜 프로젝트 속성 편집 헤더파일이 위치한 디렉터리 설정: [구성 속성] - [C/C++] - [일반] 선택 후 '추가 포함 디렉터리'에 $(OPENCV_DIR)\include 입력 OpenCV 라이브러리 파일이 위치한 폴더 설정: [구성 속성] - [링커] - [일반] 선택 후 '추가 라이브러리 디렉터리'에 $(OPENCV_DIR)\x64\vc15\lib 입력... opencvopencv [w6d1] Filters Mean filter Mean filter의 커널 사이즈에 따른 효과는 위 코드의 결과로 확인해 볼 수 있다. 2D filter의 연산양은 다소 많은데, Separable filter일 경우에는 1D filter 두개로 나누어 계산할 수 있으며 시간복잡도가 크게 감소한다. N x M 크기의 이미지에서 n x m 크기의 filter를 이용해 연산을 수행할 경우 2D filter는 O(M·N·m... opencvopencv opencv4를 jetson nano에 qemu로 설치해보자 하지만 eMMC의 경우 16GB밖에 용량이 없고 linux kernel과 nvidia에서 제공하는 기본적인 filesystem에서 6~7GB, cuda 설치용 library 2~3GB하면 벌써 10GB 가까이 사용한다. 남은 6GB에서 swap memory 4GB를 수탈당하면 opencv build는 정신건강을 해칠 수 있다. 설치 과정 중에 cuda, cudnn 패키지를 다운받는 용도 in... QEMUNvidiaopencvJetson Nanoaarch64Jetson Nano [w6d3] 컬러 영상 처리 컬러영상은 흑백영상과 비교하였을 때 데이터 수가 증가한 것을 확인해 처리해주어야한다. RGB color space Gray scale로 변환을 하기 위해서는 아래 공식을 사용한다. 두가지 색상 차이를 비교할 때, RGB space에서의 거리와 실제 눈에 보이는 색의 차이값의 정도에는 다소 차이가 있다. 이를 개선하기 위해 HSV, YCrCb를 따라서 사용할 수 있다. HSV color spa... opencvopencv [OpenPose] Windows에서 OpenPose 설치해보기 GPU : cuda 11.5 / cuDNN v8.3.2 CMake version : 3.23.0 CMake GUI 설치 환경과 맞는 msi 파일을 다운로드 한 후 설치 Visual Studio 설치 나는 Visual Studio 2019 Community가 이미 설치되어 있어서 이 단계는 건너뛰었다. NVIDIA 드라이버, CUDA, cuDNN 설치 CUDA는 CUDA Toolkit 11.5... opencvOpenPoseOpenPose [openCV] 얼굴 인식 프로그램 출처 : 에러 났던 부분들 [얼굴 학습시키기] 챕터의 id = int(os.path.split(imagePath)[-1].split(".")[1]) int형이기 때문에 처음 얼굴을 인식할 때 적는 id를 숫자로 입력해야한다 : 현재 방식은 코드에 미리 입력해둔 이름 배열의 주소값에 맞는 id를 적어야 이름으로 학습이 가능하다 id를 적을 때 이름을 입력하여 그 이름에 맞게 분류하여 학습시키고... pythonopencvopencv [w6d2] Transformation Translation transformation 코드 실행 결과는 아래 이미지에서 확인할 수 있다. dst2는 cv::Mat 객체의 크기를 늘렸으며 같은 크기를 평행이동 하여 dst1과 dst2가 겹치는 것을 확인할 수 있다. Shear transformation Scale transformation 위의 이미지에서 dst1보다 나은 결과를 냄을 확인할 수 있다. OpenCV에서는 resiz... opencvopencv [w6d5]허프 변환 검출 y=ax+b 에서는 (x,y)를 인자로 사용하고 a와 b는 기울기와 y절편으로 직선의 형태를 결정짓는다. 이와 비교해서 b=-ax+y에서는 (a,b)를 인자로 사용하고 (x,y)는 직선의 형태를 결정짓는 인자로 사용한다먼저 직선을 지나는 점을 검출하기에 위해서는 공간을 정의해야한다. y=ax+b 에서는 (x,y)를 인자로 사용하고 a와 b는 기울기와 y절편으로 직선의 형태를 결정짓는다. 이와... opencvopencv [OpenCV]Project 1. 마스크 착용여부 확인 모델 만들기 conda install opencv pip install cvlib cv2 이미지다루기 imread(filename) : 이미지 다루기 imshow(title, image) : 이미지를 사이즈에 맞게 보여줌 image : 보여줄 이미지 cv2.waitKey(0) : 키보드 입력을 대기함 cv2.destroyAllWindows() : 화면에 나타난 윈도우 종료 cv2를 통해 문자 그리기 cv... opencvCNNCNN [C++] Ubuntu + VS Code 환경에서 C++, OpenCV 코드 컴파일하기 이번 포스팅에서는 Ubuntu 18.04 LTS의 Visual Studio Code에서 C++ 코드를 빌드, 실행, 디버깅하는 방법을 알아본다. 검색 창에 C/C++을 검색해 해당 확장 도구를 설치한다. C++ 코드를 테스트하기 위해 프로젝트 폴더와 C++ 파일을 만든다. 열린 VS Code의 좌측 파일 탐색기(도크의 맨 윗 문서 아이콘 클릭 - New File 아이콘 클릭)에서 cppTes... CopencvlinuxubuntuC [w6d4] 특정 색상 영역 추출과 Edge detection lowerb, upperb에 입력영상과 동일한 크기의 cv::Mat객체를 주는 경우 각각의 픽셀마다 다른 상한값과 하한값을 설정할 수 있다. 코드 실행 결과를 보았을 때, HSV color space로 색상을 선택하는 경우 결과에 영향을 주는 주된 인자는 Hue 값이라는 것을 확인할 수 있었다. 이미지 샘플을 가지고 있을 때 유사한 영역을 찾는 방식으로 특정한 Hue값을 지정하기 어려운 경우... opencvopencv