Skip to content

Instantly share code, notes, and snippets.

View 0V's full-sized avatar
🛌
Always sleeping

G2 0V

🛌
Always sleeping
View GitHub Profile
@0V
0V / ColorExtraction_c.cs
Last active August 29, 2015 14:17
OpenCvSharp で色領域抽出 (めっちゃ C ライク)
using OpenCvSharp;
using System;
namespace OpenCvSharpSample
{
class Program
{
static void Main(string[] args)
{
@0V
0V / CanAllocateMemoryMethods.cs
Last active August 29, 2015 14:17
メモリリークしない
// using OpenCvSharp;
// using OpenCvSharp.CPlusPlus;
// リソースを自分の管理下において明示的に開放すればメモリリークしない
public static void CanAllocateMemoryMethod(int cameraId)
{
using (var capture = new VideoCapture(cameraId))
{
var srcMat = new Mat();
@0V
0V / CannotAllocateMemoryMethods.cs
Last active August 29, 2015 14:17
メモリリークする
// using OpenCvSharp;
// using OpenCvSharp.CPlusPlus;
// リソースを解放しないとメモリリークする
public static void CannotAllocateMemoryMethod(int cameraId)
{
using (var capture = new VideoCapture(cameraId))
{
var srcMat = new Mat();
@0V
0V / CannotAllocateMemoryMethod.cs
Last active August 29, 2015 14:17
メモリリークする場合としない場合がある
// 運が良いと、ガーベージコレクタがゴミリソースを回収してくれる
public static void CannotAllocateMemoryMethod3(int cameraId)
{
using (var capture = new VideoCapture(cameraId))
{
var srcMat = new Mat();
var dstMat = new Mat();
while (Cv2.WaitKey(1) < 0)
{
@0V
0V / RanukiCheckerConsole.cs
Last active August 29, 2015 14:17
tweets.csv からラ抜き言葉が含まれているツイートを検出して出力するコード
using LINQtoCSV;
using NMeCab;
using System.Collections.Generic;
namespace RanukiCheckerConsole
{
class Program
{
static void Main(string[] args)
{
@0V
0V / ChromaKey.cs
Created March 27, 2015 07:31
クロマキー
public static Mat ChromaKey(Mat srcMat, Mat backMat, int hueMin, int hueMax, int saturationMin, int saturationMax, int valueMin, int valueMax, int morphorogyIterations = 1)
{
var mask = ColorExtractionMask(srcMat, ColorConversion.BgrToHsv, hueMin, hueMax, saturationMin, saturationMax, valueMin, valueMax); var element = new Mat();
var back = new Mat();
var face = new Mat();
var result = new Mat();
Cv2.MorphologyEx(mask, mask, MorphologyOperation.Close, element, null, morphorogyIterations);
Cv2.MorphologyEx(mask, mask, MorphologyOperation.Open, element, null, morphorogyIterations);
@0V
0V / ChromaKeyCapture.cs
Last active August 29, 2015 14:17
ChromaKey From Capture
public static void ChromaKeyCaptureSum(int faceCameraId, int backCameraId, bool putText = true)
{
using (var form = new Form())
using (var trackbarHueMin = new TrackbarWithLabel("Hue (min)", 50, 180, 0))
using (var trackbarHueMax = new TrackbarWithLabel("Hue (max)", 70, 180, 0))
using (var trackbarSaturationMin = new TrackbarWithLabel("Saturation (min)", 80, 255, 0))
using (var trackbarSaturationMax = new TrackbarWithLabel("Saturation (max)", 255, 255, 0))
using (var trackbarValueMin = new TrackbarWithLabel("Value (min)", 0, 255, 0))
using (var trackbarValueMax = new TrackbarWithLabel("Value (max)", 255, 255, 0))
using (var faceCapture = new VideoCapture(faceCameraId))
@0V
0V / MouseClickCanvasWindow
Last active August 29, 2015 14:17
OpenCvSharp でお絵かきサンプル
using OpenCvSharp;
using OpenCvSharp.CPlusPlus;
using System;
namespace OpenCvSharpSample.Samples
{
public class MethodTest
{
public static void MouseClickCanvasWindow()
{
@0V
0V / MouseClickLineWindow.cs
Last active August 29, 2015 14:17
OpenCvSharp でライン引きサンプル
using OpenCvSharp;
using OpenCvSharp.CPlusPlus;
using System;
using System.Collections.Generic;
using System.Linq;
namespace OpenCvSharpSample.Samples
{
public class MethodTest
{
@0V
0V / MouseClickPolylinesCanvasWindow.cs
Last active August 29, 2015 14:17
OpenCvSharp でお絵かき。なめらかな曲線を描ける。
using OpenCvSharp;
using OpenCvSharp.CPlusPlus;
using System;
using System.Collections.Generic;
using System.Linq;
namespace OpenCvSharpSample.Samples
{
public class MethodTest
{