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);