imread() 功能是加载图像文件成为一个 Mat 对象, 
 
 
 
Mat 
  src = imread( 
  "E:\\OpencvCode\\1.jpg" 
  );   // 加载读取一幅图像 
 
 
 

   参数1:表示图像文件名称 
 
 
 

   参数2:表示加载的图像是什么类型,支持常见的三个参数值: 
 
 
 

       IMREAD_UNCHANGED(<0) 表示加载原图,不做任何改变 
 
 
 

       IMREAD_GRAYSCALE(0) 表示把原图作为灰度图形加载进来 
 
 
 

       IMREAD)COLOR(>0) 表示把原图作为 RGB 图像加载进来 
 
 
 

   注1:OpenCV 支持 JPG、ONG、 TIFF 等常见格式图像文件加载 
 
 
 

   注2: 
 
 
 

       返回 src = 空   
 
 
 

       原因:链接库的时候 debug 模式下选择 带 d 的,release 选择不带 d 的 
 
 
 

           或者加上 #pragma comment(lib,"******") 这句话  
 
 
 

     
 
 
 

     
 
 
 
 
  namedWindow()的功能就是新建一个显示窗口。可以指定窗口的类型。是由OpenCV自动创建与释放,无需手动去销毁他。 
 
 
 
 
  namedWindow( 
  "opencv lodeImg demo" 
  );  
 
 
 

   参数1:新建的窗口的名称。自己随便取。 
 
 
 
WINDOW_AUTOSIZE 。
 
 
• WINDOW_AUTOSIZE 窗口大小自动适应图片大小,并且不可手动更改。 
   
• WINDOW_NORMAL
• WINDOW_OPENGL 窗口创建的时候会支持OpenGL 
   

     
 
 
 
 
  cvColor():功能是把图像从一个色彩空间转换到另外一个色彩空间。有三个参数 
 
 
 

   参数1:表示源图像 
 
 
 

   参数2:表示色彩空间转换之后的图像 
 
 
 

   参数3:表示源和目标色彩空间 如: COLOR_BGR2GRAY、COLOR_BGR2HLS 
 
 
 

     
 
 
 
 
  imshow():显示一幅图像 
 
 
 

   参数1:要显示的图像的窗口名称 
 
 
 

   参数2:要显示的图像(Mat 类型)   支持 显示 8 位的图像,其他位数显示会多少的 受影响 
 
 
 
 
   imwrite():保存图像文件到指定目录路径, 
 
 
 
• 
           只有 8 位、16位的PNG、JPG、TIFF文件格式,而且是单通道或者三通道的BGR 的图像才可以通过这种方式保存 
   
• 
     保存 PNG 格式的时候可以保存透明通道的图片 
   
• 
     可以指定压缩参数 
   

   参数1:保存路径 
 
 
 

   参数2:要保存的图像 
 
 
 

     
 
 
 

     
 
 
 
 
  Mat::zeros 
  ( 
  Size 
  size 
  , 
  int 
  type 
  ) 
  :创建空白图像:值为 0  
 
 
 

            
  zeros( 
  int 
  rows 
  , 
  int 
  cols 
  , 
  int 
  type 
  ); 
 
 
 

     
 
 
 

       Mat m1 = Mat::zeros(Size(400,400),CV_8UC3)  // 创建一个 400 * 400 的 3 通道的图像 
 
 
 
size:指定创建的大小 
 
 
 
type:指定创建图像的类型  CV_8UC1 :单通道 CV_8UC3 :3通道 
 
 
 

     
 
 
 
 
  Mat::ones 
  ( 
  Size 
  size 
  , 
  int 
  type 
  ) 
  :创建空白图像:值为 1  
 
 
 

            
  ones( 
  int 
  rows 
  , 
  int 
  cols 
  , 
  int 
  type 
  ); 
 
 
 

     
 
 
 

       Mat m1 = Mat::ones(Size(400,400),CV_8UC3)  // 创建一个 400 * 400 的 3 通      道的图像 
 
 
 
size:指定创建的大小 
 
 
 
type:指定创建图像的类型  CV_8UC1 :单通道 CV_8UC3 :3通道 
 
 
 

     
 
 
 
 
  Scalar(_Tp v0, _Tp v1, _Tp v2, _Tp v3):改变像素值 
 
 
 

   改变通道 1,2,3,4的像素值 
 
 
 
= 
  Scalar(234,123,111);   // 创建一幅 BGR 为 234,123,111 的图像 
 
 
 

     
 
 
 
 
  copyTo( OutputArray m ) :复制图像 
 
 
 
 clone():克隆图像 

 

    

 

  俩种方法都会创建一个新图像 

 
=
 

  m1.copyTo(m3);