OpenCV에서 캡처한 웹캠 영상을 MFC의 Picture Control에 보여주기 위해 필요한 과정을 설명합니다. OpenCV 4.5.3과 Visual Studio Community 2019를 사용해서 진행했지만 다른 버전에서도 거의 동일하게 동작할 듯합니다. 다이얼로그기반 MFC 프로젝트 생성부터 예제 코드 실행까지 단계별로 설명합니다. 1. MFC 응용 프로그램 생성 2. UI 구성 3. OpenCV 관련 코드 추가 4. 실행 결과 5. 참고 2015. 11. 19 최초 작성 2018. 10. 22 그레이스케일 영상으로 변환 후, 영상출력이 제대로 안되는 문제가 있었네요.. BITMAPINFO에 palette를 추가해서 해결했습니다. 2021. 9. 25 Visual Studio 2019, Open..
OpenCV Python을 사용하여 깊이 이미지 depthmap을 화면에 보여주는 예제코드입니다. 2023. 8. 6 최초작성 코드에서는 다음 링크에 있는 depthmap 파일을 다운로드하여 사용했습니다. https://github.com/unclearness/pyrgbd/blob/master/data/cmu_panoptic/171026_cello3/depth_00000.png 실행해보면 다음처럼 보입니다. 깊이 이미지에 대응하는 컬러 이미지는 다음과 같습니다. 출처 – https://github.com/unclearness/pyrgbd/blob/master/data/cmu_panoptic/171026_cello3/color_00000.png 테스트에 사용한 코드입니다. import cv2 import ..
Ubuntu에서 C++과 Python을 위해 빌드된 OpenCV의 빌드 정보를 확인하는 방법을 다룹니다. 윈도우에서도 동일한 코드로 확인이 가능합니다. 2023. 1. 9 최초작성 Python $ python3 Python 3.10.6 (main, Nov 14 2022, 16:10:14) [GCC 11.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import cv2 >>> print(cv2.getBuildInformation()) General configuration for OpenCV 4.6.0 ===================================== Version contro..
OpenCV 배포시 포함되어 있는 얼굴 검출 C++코드를 NDK를 이용하여 Android에서 동작하도록 수정하였습니다. 안드로이드 + NDK 카메라 기본코드에 단순히 C++코드만 옮겨오면 되는 줄 알았는데 고려해야 하는게 생각보다 많군요.. 사용한 C++ 코드는 다음 위치에서 가져왔습니다. https://github.com/opencv/opencv/blob/master/samples/cpp/tutorial_code/objectDetection/objectDetection.cpp 다음 순서로 설명합니다. 1. 프로그램 흐름 및 실행결과 2. 코드 수정 및 사용방법 3. 캡쳐 버튼 추가하기 4. 검출된 얼굴 갯수 반환받기 26으로 낮추어서 다시 해보기 2016. 12. 09 최초작성 2019. 08. 15 ..
CLAHE (Contrast Limited Adaptive Histogram Equalization) 파이썬 예제 코드입니다. 출처 https://stackoverflow.com/questions/24341114/simple-illumination-correction-in-images-opencv-c 2022. 11. 3 최초작성 import cv2 import numpy as np img = cv2.imread('test.jpeg') h,w,c = img.shape img = cv2.resize(img, ((w//4, h//4))) lab = cv2.cvtColor(img, cv2.COLOR_BGR2LAB) clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(..
이미지에서 텍스트 영역을 찾아주는 OpenCV Python의 MSER 예제입니다. 최초작성 2020. 12. 23 import cv2 import os import numpy as np path = os.path.dirname(os.path.realpath(__file__)) + "/f.jpg" img = cv2.imread(path) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) gray = cv2.GaussianBlur(gray,(5, 5),0) mser = cv2.MSER_create() regions,_ = mser.detectRegions(gray) clone = img.copy() hulls = [cv2.convexHull(p.reshape(-1, 1, 2))..
webcam에서 가져온 영상을 mp4로 저장하는 OpenCV Python 예제입니다. 2022. 3. 30 최초작성 # 참고 # https://github.com/dgseten/bad-cv-tfm/blob/2ada9b71f85aa5eb75c1f4a039cb14d697ee2f69/tools/video/video-player-wait-fps.py # https://stackoverflow.com/a/65146731 # https://stackoverflow.com/a/41666642 import cv2 import time import os # 이미지에 텍스트를 출력하는 함수 def draw_text(img, text, x, y): font = cv2.FONT_HERSHEY_SIMPLEX font_scale..
OpenCV에서 캡처한 영상을 pyQt5로 작성된 GUI에서 보여주는 방법을 다룹니다. 깃허브에 있는 코드를 수정하여 사용했습니다. 2019. 1. 14 최초작성 처음 실행하면 버튼 2개만 보입니다. start 버튼을 클릭하면 웹캠 영상이 보입니다. Canny 버튼을 클릭하면 오른쪽에 캐니 영상을 보여줍니다. # 출처 - https://github.com/ddd4117/GUI/blob/master/src/camera_test.py # 수정 - webnautes import cv2 import sys from PyQt5 import QtCore from PyQt5 import QtWidgets from PyQt5 import QtGui class ShowVideo(QtCore.QObject): flag =..
OpenCV에서 캡처한 webcam 영상을 QT에서 보여주는 예제 코드입니다. 2021. 8. 24 - 최초작성 실행 화면입니다. 처음 실행시 Open 버튼 클릭 후 Close 버튼 클릭 후 소스 코드입니다. // 원본 - https://github.com/eyyupT/OpenCV-CPP-show-webcam-stream-on-Qt-GUI // 수정 - webnautes 2021. 8. 24 #include #include #include #include #include #include #include #include #include using namespace cv; using namespace std; class MainWindow : public QMainWindow { public: MainWin..
OpenCV에서 로드한 이미지 파일을 QT에서 보여주고 그레이스케일로 변환하는 간단한 영상처리를 구현한 예제입니다. 2021. 9. 26 - 최초작성 처음 실행하면 다음처럼 버튼만 보입니다. Open 버튼을 클릭하면 파일 다이얼로그가 보이면서 이미지 파일을 선택할 수 있습니다. 이미지 파일을 선택한 후 Open 버튼을 클릭합니다. OpenCV를 사용하여 이미지 파일을 로드하여 QT의 Label에 보여줍니다. Process 버튼을 클릭하면 그레이스케일 이미지로 변환해줍니다. 이 부분을 원하는 영상처리로 변경하면 됩니다. Close를 클릭하면 이미지가 사라지고 보여주었던 크기만큼 검은색 영역을 보여주게 됩니다. 전체 코드입니다. #include #include #include #include #include..