opencv:图像的读取,显示,写入文件
2024-09-04 21:10:58
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
// 图像内存对象,在C++中是以Mat对象形式保存的
Mat img = imread("f:/temp/images/lena.jpg");
/*
imread的默认选项:IMREAD_COLOR,默认会将图像加载为一张BGR的彩色图像
IMREAD_GRAYSCALE:加载一张灰度图像
IMREAD_ANYCOLOR:
IMREAD_UNCHANGED:不改变,加载透明通道的图片要使用这个
*/
// 读取灰度图像
//Mat img = imread("C:\\Users\\hp\\Desktop\\Emoticon\\q.jpg", IMREAD_GRAYSCALE);
// 判断图像是否读取成功,如果读取成功,empty返回true
if (img.empty())
{
printf("Could not find the image!\n");
return -1;
}
// 创建窗口,默认选项是 WINDOW_AUTOSIZE
// 选项:
// WINDOW_AUTOSIZE:表示自动匹配,不好修改窗口大小
// WINDOW_FREEATIO:可以修改窗口的大小
// WINDOW_NORMAL:也可以修改窗口
namedWindow("input", WINDOW_AUTOSIZE);
// 在指定窗口上显示一张图像
// imshow 本身不支持透明通道的显示
imshow("input", img);
// 色彩空间转换
Mat gray;
// 转换为灰度图像
// 参数1:要转换的图像,参数2:存储转换结果的,参数3:转换的选项
cvtColor(img, gray, COLOR_BGR2GRAY);
imshow("gray", gray);
// 将图像写入文件
// 这个图像如果保存出错了,是不会有提示的
imwrite("f:/temp/test/gray.png", gray);
waitKey(0);
// 销毁所有窗口
destroyAllWindows();
}
最新文章
- OWIN系列之自己动手编写中间件
- Dojo
- Jquery基础知识
- BZOJ3566 : [SHOI2014]概率充电器
- mongostat 3.2指标详解
- JavaScript“尽快失败”的原则
- 368. Largest Divisible Subset -- 找出一个数组使得数组内的数能够两两整除
- ES mlockall作用——preventing that memory from being paged to the swap area
- mysql存储过程和函数使用实例
- UISegment
- FORTRAN程序设计权威指南
- [iOS基础控件 - 3.1] QQ登陆界面
- Java泛型反射机制(二)
- inux关于readlink函数获取运行路径的小程序
- AJAX POST请求中參数以form data和request payload形式在servlet中的获取方式
- Ansible3:ansible.cfg配置说明【转】
- 团队作业8——第二次项目冲刺(Beta阶段)5.27
- Apache自带 ab压测工具 Windows配置使用说明 - 随笔记录
- 使用Linux的环境变量
- JavaSE基础知识(5)—面向对象(抽象类和接口)
热门文章
- 关于gets读入因为缓冲区出现的问题
- KindEditor 编辑器前台得使用规范
- 【Python】无限循环
- Postgresql 教程
- HTTP状态码详解【转】
- Python七夕记
- Python之旅第二天(第一天补充部分、数据类型、运算逻辑、部分方法的引入、pycharm)
- java Map 迭代key,value 最简洁的方法
- 消息中间件之ActiveMQ
- 解决ERROR 1130: Host &#39;x.x.x.x&#39; is not allowed to connect to this MariaDB server 方法