怎么建立一个网站能够与讯飞云对话,如何推广游戏,互联网保险的优势,手机网站与电脑网站兼容目录
1、加载图像#xff08;cv::imread#xff09;
2、显示图像 (cv::namedWindos 与cv::imshow)
3、修改图像 (cv::cvtColor)
4、保存图像(cv::imwrite)
5、代码演示 1、加载图像#xff08;cv::imread#xff09;
cv::imread 是 OpenCV 库中用于读取图像文件的函数…目录
1、加载图像cv::imread
2、显示图像 (cv::namedWindos 与cv::imshow)
3、修改图像 (cv::cvtColor)
4、保存图像(cv::imwrite)
5、代码演示 1、加载图像cv::imread
cv::imread 是 OpenCV 库中用于读取图像文件的函数加载图像文件成为一个Mat对象。
它的原型如下
using namespace cv;//写上这个命名空间下面可以省cv::Mat imread(const std::string filename, int flags IMREAD_COLOR); 参数说明 filename要读取的图像文件的路径和名称。flags可选参数指定图像读取的方式默认为 cv::IMREAD_COLOR。可以使用以下标志之一 cv::IMREAD_COLOR(0) 以彩色图像RGB格式读取图像默认值。cv::IMREAD_GRAYSCALE( 0) 以灰度图像格式读取图像。cv::IMREAD_UNCHANGED(0) 以原始图像格式读取图像包括 alpha 通道。 返回值 如果成功读取图像文件则返回一个 cv::Mat 对象该对象表示读取到的图像数据。如果无法读取图像文件或文件路径错误则返回一个空的 cv::Mat 对象。 注意OpenCV支持JPG、PNG、TIFF等常见格式图像文件加载 2、显示图像 (cv::namedWindos 与cv::imshow)
using namespace cv;//函数用于创建一个窗口来显示图像
void namedWindow(const std::string winname, int flags WINDOW_AUTOSIZE);//函数用于在指定的窗口中显示图像
void imshow(const std::string winname, const Mat img);参数说明 winname窗口名称用于标识不同的窗口。flags可选参数指定窗口的行为默认为 cv::WINDOW_AUTOSIZE表示窗口大小自动调整以适应图像大小。 1namedWindos功能是创建一个OpenCV窗口它是由OpenCV自动创建与释放你无需取销毁它。
2常见用法namedWindow(Window Title, WINDOW_AUTOSIZE)
3WINDOW_AUTOSIZE会自动根据图像大小显示窗口大小不能人为改变窗口大小 WINDOW_NORMAL跟QT集成的时候会使用允许修改窗口大小。 3、修改图像 (cv::cvtColor)
cv::cvtColor改变其颜色、空间从一个色彩空间转换到另一个色彩空间。
原型如下
using namespace cv;void cvtColor(const Mat src, Mat dst, int code, int dstCn 0);参数说明 src源图像即要进行颜色空间转换的图像。dst目标图像用于存储转换后的图像。code指定颜色空间转换的类型例如 cv::COLOR_BGR2GRAY 表示将 BGR 彩色图像转换为灰度图像、COLOR_BGR2HLSdstCn可选参数指定目标图像的通道数默认为 0表示与源图像通道数相同。 4、保存图像(cv::imwrite)
cv::imwrite 函数用于将图像保存到文件中。
using namespace cv;
using namespace std;bool imwrite(const string filename, const Mat img, const vectorint params vectorint()); 参数说明 filename要保存的图像文件的路径和名称。img要保存的图像。params可选参数用于指定保存图像的压缩参数。 返回值 如果成功保存图像则返回 true。如果保存失败则返回 false。 1只有8位、16位的PNG、JPG、Tiff文件格式而且是单通道或者三通道的BGR的图像才可以通过这种方式保存
2保存PNG格式的时候可以保存透明通道的图片
3可以指定压缩参数 5、代码演示
#includeopencv2\opencv.hpp
#includeiostreamusing namespace cv;
int main(int argc, char** argv)
{// 加载图像Mat src imread(test.jpg);if (src.empty()){printf(could not load image...\n);return -1;}// 创建窗口namedWindow(test opencv setup, CV_WINDOW_AUTOSIZE);// 显示图像imshow(test opencv setup, src);// 创建窗口namedWindow(output windows, CV_WINDOW_AUTOSIZE);Mat output_image;// 修改图像//cvtColor(src, output_image, CV_BGR2GRAY);cvtColor(src, output_image, CV_BGR2HLS);// 显示图像imshow(output windows, output_image);// 保存图像//imwrite(output_image.png, output_image);imwrite(output_image.tif, output_image);// 等待按键waitKey(0);// 关闭窗口destroyAllWindows();return 0;
}