本文整理汇总了C#中OpenCvSharp.IplImage.LUT方法的典型用法代码示例。如果您正苦于以下问题:C# IplImage.LUT方法的具体用法?C# IplImage.LUT怎么用?C# IplImage.LUT使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OpenCvSharp.IplImage
的用法示例。
在下文中一共展示了IplImage.LUT方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Histogram
public Histogram()
{
// cvCalcHist
// コントラストや明度をいろいろ変えられるサンプル
const int histSize = 64;
float[] range0 = { 0, 256 };
float[][] ranges = { range0 };
// 画像の読み込み
using (IplImage srcImg = new IplImage(Const.ImageLenna, LoadMode.GrayScale))
using (IplImage dstImg = srcImg.Clone())
using (IplImage histImg = new IplImage(new CvSize(400, 400), BitDepth.U8, 1))
using (CvHistogram hist = new CvHistogram(new int[] { histSize }, HistogramFormat.Array, ranges, true))
{
using (CvWindow windowImage = new CvWindow("image", WindowMode.AutoSize))
using (CvWindow windowHist = new CvWindow("histogram", WindowMode.AutoSize))
{
// トラックバーが動かされた時の処理
CvTrackbar ctBrightness = null;
CvTrackbar ctContrast = null;
CvTrackbarCallback callback = delegate(int pos)
{
int brightness = ctBrightness.Pos - 100;
int contrast = ctContrast.Pos - 100;
// LUTの適用
byte[] lut = CalcLut(contrast, brightness);
srcImg.LUT(dstImg, lut);
// ヒストグラムの描画
CalcHist(dstImg, hist);
DrawHist(histImg, hist, histSize);
// ウィンドウに表示
windowImage.ShowImage(dstImg);
windowHist.ShowImage(histImg);
dstImg.Zero();
histImg.Zero();
};
// トラックバーの作成
// (OpenCVでは現在位置にポインタを渡すことでトラックバーの位置の変化が取得できるが、
// .NETではGCによりポインタが移動してしまうので廃止した。別の方法でうまく取得すべし。)
ctBrightness = windowImage.CreateTrackbar("brightness", 100, 200, callback);
ctContrast = windowImage.CreateTrackbar("contrast", 100, 200, callback);
// 初回描画
callback(0);
// キー入力待ち
Cv.WaitKey(0);
}
}
}
示例2: Histogram
public Histogram()
{
// cvCalcHist
const int histSize = 64;
float[] range0 = { 0, 256 };
float[][] ranges = { range0 };
using (IplImage srcImg = new IplImage(FilePath.Image.Lenna, LoadMode.GrayScale))
using (IplImage dstImg = srcImg.Clone())
using (IplImage histImg = new IplImage(new CvSize(400, 400), BitDepth.U8, 1))
using (CvHistogram hist = new CvHistogram(new int[] { histSize }, HistogramFormat.Array, ranges, true))
{
using (CvWindow windowImage = new CvWindow("image", WindowMode.AutoSize))
using (CvWindow windowHist = new CvWindow("histogram", WindowMode.AutoSize))
{
CvTrackbar ctBrightness = null;
CvTrackbar ctContrast = null;
CvTrackbarCallback callback = delegate(int pos)
{
int brightness = ctBrightness.Pos - 100;
int contrast = ctContrast.Pos - 100;
// perform LUT
byte[] lut = CalcLut(contrast, brightness);
srcImg.LUT(dstImg, lut);
// draws histogram
CalcHist(dstImg, hist);
DrawHist(histImg, hist, histSize);
windowImage.ShowImage(dstImg);
windowHist.ShowImage(histImg);
dstImg.Zero();
histImg.Zero();
};
ctBrightness = windowImage.CreateTrackbar("brightness", 100, 200, callback);
ctContrast = windowImage.CreateTrackbar("contrast", 100, 200, callback);
// initial action
callback(0);
Cv.WaitKey(0);
}
}
}