GR_Wyatt
욕심쟁이와이엇
GR_Wyatt
전체 방문자
오늘
어제
  • 분류 전체보기 (35)
    • Legged Robot (1)
      • 이론 (1)
    • 인공지능 (14)
      • 인공지능 기초 정리 (14)
    • 영상처리 (5)
    • Pytorch 기본 (1)
    • 리눅스환경 (11)
    • 결과물_깃허브링크 (1)
    • 잡담 및 후기 (1)

블로그 메뉴

  • 💡Github
  • 📝 Write
  • ⚙ Setup
  • 홈

공지사항

인기 글

태그

  • tensorflow설치
  • 머신러닝
  • graphicdriver
  • tensorflow-gpu
  • jupyternotebook설치
  • chromekeyingremove
  • 프로3세대
  • keyring제거
  • 파이썬
  • ibus-setup
  • conda가상환경
  • ubuntu18.04
  • 그래픽드라이버설치
  • jupyter설치
  • 우분투18.04
  • 인공지능
  • 우분투
  • 공부
  • cuda10.0
  • 텐서플로
  • chromekeyring제거
  • 쿠다설치
  • 딥러닝
  • keras설치
  • tensorflow-gpu설치
  • 리눅스
  • 영상처리
  • cudnn7.5
  • OpenCV
  • netplan

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
GR_Wyatt

욕심쟁이와이엇

영상처리

[OpenCV 3.2] 비디오 영상으로부터 findcontours 적용

2019. 3. 28. 11:00
반응형

앞에서 lena 사진을 이용하여 findcontours()함수를 적용하였고, 이번에는 웹캠 영상을 받아서 실시간으로 contours를 그리는 코드이다. 입력 영상이 비디오이냐 사진이냐의 차이만 있을 뿐이다.

#include "opencv2\opencv.hpp"
#include <iostream>
#include <cstdlib>
using namespace cv;
using namespace std;
RNG rng(12345);

int main(int argc, char ** argv)
{
	VideoCapture cap(0);
	if (!cap.isOpened())
	{
		cout << "[INFO] Input error" << endl;
		return -1;
	}
	else
		cout << "[INFO] Input success" << endl;

	Mat frame, GRAY;
	while (1)
	{
		cap.read(frame);
		cvtColor(frame, GRAY, COLOR_BGR2GRAY);
		imshow("Source", frame);
		
		Mat cannyimage;
		Canny(GRAY, cannyimage, 10, 100);
		imshow("Canny", cannyimage);

		vector<vector<Point>> contours;
		vector<Vec4i> hierarchy;
		findContours(cannyimage, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, Point(0, 0));
		
		Mat dstimage = Mat::zeros(frame.rows, frame.cols, CV_8UC3);
		for (int i = 0; i< contours.size(); i++)
		{
			Scalar color = Scalar(rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255));
			drawContours(dstimage, contours, i, color, 2, 8, hierarchy, 0, Point());
		}

		imshow("dstimage", dstimage);

		if (waitKey(10) == 27) break;
	}
	return 0;
}

뭔가 엄청 이쁜 결과가 나온다 ㅎㅎㅎㅎ

반응형

'영상처리' 카테고리의 다른 글

[OpenCV 3.2] findcontours 함수를 이용한 외곽선 검출  (0) 2019.03.28
[공부] SGM(Semi Global Matching)을 이용한 UV-disparity 구현  (0) 2019.03.12
OpenCV 3.2를 이용한 웸캡 입출력 코드  (0) 2019.02.11
다양한 색공간에 대한 이해  (0) 2019.01.22
    '영상처리' 카테고리의 다른 글
    • [OpenCV 3.2] findcontours 함수를 이용한 외곽선 검출
    • [공부] SGM(Semi Global Matching)을 이용한 UV-disparity 구현
    • OpenCV 3.2를 이용한 웸캡 입출력 코드
    • 다양한 색공간에 대한 이해
    GR_Wyatt
    GR_Wyatt
    뚝딱거리는 중

    티스토리툴바