近来萌生了学习OpenCv的想法,经过度娘得知老夫会的C#不能直接用OpenCv,只能用他的儿子OpenCvSharp与EmguCV,奈何奈何,这两玩意的资料少的出奇,只能慢慢的摸索了,EmguCV先不说,老夫找到了牛批的资料,先摸索OpencvSharp吧
    image.png
    选择版本后点击安装就OK了.
    安装完成后,引用里面就有以下的玩意儿了…
    image.png
    废话不多说了,在写程序前先 using OpenCvSharp
    图片打开,灰度化,保存代码如下:

    1. static void Main(string[] args)
    2. {
    3. string imangPath = @"I:\OpenCvSharp学习\OpenCvSharp学习\bin\Debug\Test1.jpg";
    4. string savePath= @"I:\OpenCvSharp学习\TempTest1.jpg";
    5. // 1:图片路径(一定要正确,找不到会报错)
    6. // 2:指定加载图像的颜色和深度(枚举类型,可以指定多个类型),这里指定的任何颜色和任何深度
    7. Mat FistMat = new Mat(imangPath, ImreadModes.AnyColor);//读取图片,颜色为彩色
    8. if(FistMat ==null)
    9. {
    10. Console.writeLine("图片加载失败");
    11. Return;
    12. }
    13. // Cv2.ImShow("Fist",FistMat);//显示图片(自动图片大小的)
    14. Window window = new Window("Fist", WindowMode.Normal, FistMat);//显示图片以指定模式的
    15. Mat grayMat = new Mat();//创建灰色图像保存容器
    16. Cv2.CvtColor(FistMat, grayMat,ColorConversionCodes.BGR2GRAY);
    17. window = new Window("grayMat", WindowMode.Normal, grayMat);//显示图片以指定模式的
    18. Cv2.ImWrite(savePath, grayMat)//保存图像,会返回一个bool值
    19. Cv2.WaitKey(0);
    20. }

    image.png