以后的教程都是基于c++编写,适用于opencv3.0以上版本。opencv安装和配置教程可参考:
ubuntu下安装opencv :https://blog.csdn.net/qq_38236355/article/details/88864023
window+vs下安装opencv:https://blog.csdn.net/qq_38236355/article/details/88901956
opencv基本操作令:
1、加载图像 (cv::imread)
Mat img = imread("D:/unity ziyuan/IMG_20190116_190933.jpg", -1);
imread 功能是加载图像文件成为一个Mat对象,其中第一个参数表示图像文件所在的绝对路径,第二个参数表示加载的图像是什么类型,常见的三个参数值:
IMREAD_UNCHANGED(或<0的数)表示加载原图,不做任何改变;
IMREAD_GRAYSCALE(或0)表示把原图作为灰度图加载进来;
IMREAD_COLOR(或>0的数)表示把原图作为RGB图像加载进来。
注意:OpenCV支持JPG、PNG、TIFF等常见格式图像文件加载。
2、显示图像(cv::namewindow与cv::imshow)
namewindos功能是创建一个opencv窗口,它是由opencv自动生成并释放,你无需销毁它。常见用法:
namedWindow("Example", WINDOW_AUTOSIZE);
WINDOW_AUTOSIZE会自动根据图像大小显示窗口大小,不能人为改变窗口大小。
imshow根据窗口名称显示图像到指定的窗口上去,第一个参数是窗口名称,第二个参数为Mat对象:
imshow("Example1", img);
3、修改图像(cv::cvtColor)
cvtColor的功能是把图像从一个彩色空间转换到另外一个色彩空间,有三个参数,第一个参数表示源图像、第二参数表示色彩空间转换之后的图像、第三个参数表示源和目标色彩空间,如:COLOR_BGR2HLS 、COLOR_BGR2GRAY 等。
cvtColor(img, img2, CV_BGR2GRAY);//CV_BGR2GRAY表示图像从BGR色彩空间转到灰度色彩空间,即由RGB图变为灰度图
4、保存图像(cv::imwrite)
保存图像文件到指定目录路径,只有8位、16位的PNG、JPG、Tiff文件格式而且是单通道或者三通道的BGR的图像才可以通过这种方式保存,保存PNG格式的时候可以保存透明通道的图片,可以指定压缩参数。
imwrite("D:/unity ziyuan/hskjh.jpg", img2);//将img2图像保存在指定目录下。
总体代码演示:
#include
using namespace cv;
int main(int argc, char ** argv)
{
Mat img = imread("D:/unity ziyuan/IMG_20190116_190933.jpg", -1);//路径自己定义
if (img.empty())
return -1;
namedWindow("Example1", cv::WINDOW_AUTOSIZE);
imshow("Example1", img);
Mat img2;
cvtColor(img, img2, CV_BGR2GRAY);
namedWindow("Example2", WINDOW_AUTOSIZE);
imshow("Example2", img2);
imwrite("D:/unity ziyuan/hskjh.jpg", img2);
waitKey(0);
return 0;
}