近来萌生了学习OpenCv的想法,经过度娘得知老夫会的C#不能直接用OpenCv,只能用他的儿子OpenCvSharp与EmguCV,奈何奈何,这两玩意的资料少的出奇,只能慢慢的摸索了,EmguCV先不说,老夫找到了牛批的资料,先摸索OpencvSharp吧
选择版本后点击安装就OK了.
安装完成后,引用里面就有以下的玩意儿了…
废话不多说了,在写程序前先 using OpenCvSharp
图片打开,灰度化,保存代码如下:
static void Main(string[] args)
{
string imangPath = @"I:\OpenCvSharp学习\OpenCvSharp学习\bin\Debug\Test1.jpg";
string savePath= @"I:\OpenCvSharp学习\TempTest1.jpg";
// 1:图片路径(一定要正确,找不到会报错)
// 2:指定加载图像的颜色和深度(枚举类型,可以指定多个类型),这里指定的任何颜色和任何深度
Mat FistMat = new Mat(imangPath, ImreadModes.AnyColor);//读取图片,颜色为彩色
if(FistMat ==null)
{
Console.writeLine("图片加载失败");
Return;
}
// Cv2.ImShow("Fist",FistMat);//显示图片(自动图片大小的)
Window window = new Window("Fist", WindowMode.Normal, FistMat);//显示图片以指定模式的
Mat grayMat = new Mat();//创建灰色图像保存容器
Cv2.CvtColor(FistMat, grayMat,ColorConversionCodes.BGR2GRAY);
window = new Window("grayMat", WindowMode.Normal, grayMat);//显示图片以指定模式的
Cv2.ImWrite(savePath, grayMat)//保存图像,会返回一个bool值
Cv2.WaitKey(0);
}