ホームページ >バックエンド開発 >Python チュートリアル >コンピュータービジョン技術テストのサンプル - Python / C++
Python に opencv をインストールするには
pip install opencv-python
C++ で opencv をインストールするには
git clone https://github.com/opencv/opencv.git mkdir -p build && cd build cmake ../opencv make -j4 sudo make install
CmakeLists.txt
cmake_minimum_required(VERSION 3.0) project(opencv_c__) find_package(OpenCV REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) set(CMAKE_CXX_STANDARD 17) add_executable(opencv_c__ main.cpp) target_link_libraries(opencv_c__ ${OpenCV_LIBS})
def ex1(): cap = cv2.VideoCapture(0) object_detector = cv2.createBackgroundSubtractorMOG2() while True: ret, frame = cap.read() mask = object_detector.apply(frame) cv2.imshow('Video', mask) if cv2.waitKey(30) & 0xFF == 27: break cap.release() cv2.destroyAllWindows()
#include <iostream> #include <opencv2> #include <opencv2> #include <opencv2> #include <opencv2> #include <opencv2> int main() { cv::VideoCapture cap(0); cv::Ptr<:backgroundsubtractor> object_detector = cv::createBackgroundSubtractorMOG2(); while (true) { cv::Mat frame; cap >> frame; cv::Mat mask; object_detector->apply(frame, mask); cv::imshow("Video", mask); if (cv::waitKey(30) == 27) { break; } } cap.release(); cv::destroyAllWindows(); return 0; } </:backgroundsubtractor></opencv2></opencv2></opencv2></opencv2></opencv2></iostream>
def ex2(): cap = cv2.VideoCapture(0) while True: ret, frame = cap.read() face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray, 1.1, 4) for (x, y, w, h) in faces: roi = frame[y:y + h, x:x + w] roi = cv2.GaussianBlur(roi, (23, 23), 30) frame[y:y + h, x:x + w] = roi cv2.imshow("gray", gray) if cv2.waitKey(30) & 0xFF == 27: break cap.release() cv2.destroyAllWindows()
#include <iostream> #include <opencv2> #include <opencv2> #include <opencv2> #include <opencv2> #include <opencv2> int main() { cv::VideoCapture cap(0); while(true) { cv::Mat frame; cap >> frame; cv::CascadeClassifier face_cascade; face_cascade.load("haarcascade_frontalface_default.xml"); std::vector<:rect> faces; face_cascade.detectMultiScale(frame, faces, 1.1, 3, 0, cv::Size(30, 30)); for(int i = 0; i <h2> III - 動きをトレースする </h2> <p><img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/172592205430642.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="xample of computer vison technical test - Python / c++"><br> </p> <pre class="brush:php;toolbar:false">def ex3(): cap = cv2.VideoCapture(0) object_detector = cv2.createBackgroundSubtractorMOG2() last_coordinates = [] while True: ret, frame = cap.read() mask = object_detector.apply(frame) contours, _ = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) for contour in contours: if cv2.contourArea(contour) <pre class="brush:php;toolbar:false">#include <iostream> #include <opencv2> #include <opencv2> #include <opencv2> #include <opencv2> #include <opencv2> int main() { cv::VideoCapture cap(0); cv::Ptr<:backgroundsubtractor> object_detector = cv::createBackgroundSubtractorMOG2(); std::vector<:rect> last_coordinates; while (true) { cv::Mat frame; cap >> frame; cv::Mat mask; object_detector->apply(frame, mask); std::vector<:vector>> contours; std::vector<:vec4i> hierarchy; cv::findContours(mask, contours, hierarchy, cv::RETR_TREE, cv::CHAIN_APPROX_SIMPLE); for (auto &contour : contours) { if (cv::contourArea(contour) </:vec4i></:vector></:rect></:backgroundsubtractor></opencv2></opencv2></opencv2></opencv2></opencv2></iostream>
以上がコンピュータービジョン技術テストのサンプル - Python / C++の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。