일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ALT-8RSD-12
- RS232 시리얼통신
- PictureBoxIpl
- 18.04
- Windows Forms
- C#
- 에셋스토어
- AssetStore
- ALT-8RSD-12V 프로토콜
- c# opencv
- 유니티
- 시리얼 통신
- 카메라 추적
- 광량 제어
- 0~255
- ALT-8RSD-12 통신 프로토콜
- template matching
- vscode
- C# Opencv 영상
- RS232통신
- RS232 통신
- ALT-8RSD-12V
- RS232 시리얼 통신 결과물
- RS232
- 흐림화
- 더하기사이클
- Scripting API
- OpenCVSharp 2.4.10
- Unity
- 3D
- Today
- Total
앉아있는 프래그래머
C# OpenCv 영상 출력 본문
화...화질이 안 좋네요... 카..카메라 문제입니다.
영상 출력
도구상자에서 PictureBoxIpl
, Timer
을 Form1에 생성
PictureBoxIpl의 크기는 프로그래밍에서의 크기와 같아야하며
Timer enabled = true
Interval = 33 으로 설정후에 이벤트 Tick이벤트 생성
==========================================================================
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using OpenCvSharp; // namespace에 OpenCV
를 사용할 수 있도록 선언
namespace test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
CvCapture capture; // 카메라의 영상을 받아올 CvCapture
IplImage src; // 영상을 출력해 줄 IplImage
private void Form1_Load(object sender, EventArgs e)
{
try
{
capture = CvCapture.FromCamera(CaptureDevice.DShow, 0);
//
CvCapture.FromCamera(CaptureDevice.DShow, 0);
에서 0
은 카메라의 장치 번호
// 만약 카메라가 내부,외부 카메라 두개가 있을경우 1로 변경하면 외부 카메라를 이용
capture.SetCaptureProperty(CaptureProperty.FrameWidth, 640);
capture.SetCaptureProperty(CaptureProperty.FrameHeight, 480);
//capture.SetCaptureProperty는 영상의
너비
와 높이
}
catch
{
timer1.Enabled = false;
}
}
private void timer1_Tick(object sender, EventArgs e)
{
src = capture.QueryFrame();
pictureBoxIpl1.ImageIpl = src;
//src에 현재의 영상 프레임을 받아오게 되고
pictreuBoxIpl1
에 해당 영상을 출력
//timer1은 33ms 마다 실행되며 그 때마다 영상을 출력
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
Cv.ReleaseImage(src);
if(src != null) src.Dispose();
//ReleaseImage()는
이미지의 메모리 할당을 해제
//
Dispose()
는 클래스등의 메모리 할당을 해제
}
}
}
개인적인 공부로 하는거라 요약된 점이 많습니다.
혹시나 더 많은 정보를 원하시면 아래 주소로 들어가보시는걸 추천 드립니다 ^^
https://076923.github.io/posts/#c#-opencv
'프로그래밍 > C# OpenCv' 카테고리의 다른 글
C# OpenCv 흐림화(Blur) (0) | 2018.07.19 |
---|---|
C# OpenCv 영상 이진화 (0) | 2018.07.19 |
C# OpenCv 영상 출력 - 캡처 + 녹화 추가 (0) | 2018.07.19 |
C# OpenCv PictureBoxIpl 도구 추가 (0) | 2018.07.19 |
C# OpenCv 설정 (0) | 2018.07.19 |