当前位置: 代码迷 >> 综合 >> OpenCV基础知识学习 -- 第一弹
  详细解决方案

OpenCV基础知识学习 -- 第一弹

热度:67   发布时间:2024-03-05 22:32:31.0
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:新建的窗口的名称。自己随便取。
参数2:窗口的标识,一般默认为 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的像素值
m1 = Scalar(234,123,111);   // 创建一幅 BGR 为 234,123,111 的图像
copyTo( OutputArray m ) :复制图像
clone():克隆图像
俩种方法都会创建一个新图像
m2 = m1.clone();
m1.copyTo(m3);
  相关解决方案