函数如下:
src = new Mat(@"..\..\Images\ocv02.jpg", ImreadModes.Grayscale)
//加@ 不需要用双/表示路径,即后面的字符串不转意
var window = new Window("window", image: src)
//注意window这个函数不在cv命名空间下,属于OpenCvSharp下的函数,第二个参数可以直接写src
彩色图片转灰度图
Cv2.CvtColor(srcCopy, srcCopy, ColorConversionCodes.BGRA2GRAY);
调试发现,原图分辨率700*377*3=DataEnd-Data ,CV_8U3 和理论一致
转换后 700*377=DataEnd-Data,调试环境显示为CV_8U1
例程2完整代码如下
static void Main(string[] args)
{
readImage1();
readImage2();
}
private static void readImage2()
{
//加@ 不需要用双/表示路径,即后面的字符串不转意
using (var src = new Mat(@"..\..\Images\ocv02.jpg", ImreadModes.Unchanged))
{
//注意window这个函数不在cv命名空间下,OpenCvSharp下的函数
using (var window = new Window("window", image: src))
{
//手动关闭窗口会出错
Cv2.WaitKey();
}
}
}
private static void readImage1()
{
using (var src = new Mat(@"..\..\Images\ocv02.jpg", ImreadModes.Grayscale))
{
using (var window = new Window("window", image: src))
{
Cv2.WaitKey();
}
}
}