跟我一起学opencv 第一课之图像加载,修改,保存
使用opencv前记得引入库和头文件:
#include<opencv2\opencv.hpp>
1.加载图像(cv::imread)(OPENCV 支持 JPG,PNG,TIFF等常见格式图像文件加载)
imread函数原型是:
CV_EXPORTS_W Mat imread( const String& filename, int flags = IMREAD_COLOR );
------imread加载一副由filename指定的图像文件并返回一个Mat对象
------第一个参数是文件的完整路径,第二个参数表示加载的图像是什么类型,支持常见的三种值
-----默认值1下加载一副图像
Mat src = imread("E:\\vsprom\\learn01\\test.jpg");

-----IMREAD_UNCHANGED(<0)表示加载原图,不做任何改变

-----IMREAD_GRAYSCALE(0) 表示把原图作为灰度图像加载进来

-----IMREAD_COLOR(>0)表示把原图作为RGB图像加载进来

Mat src = imread("E:\\vsprom\\learn01\\test.jpg",IMREAD_COLOR);
2.修改图像(cv::cvtColor) 颜色空间改变
BGR2GRAY ---------RGB图像变为灰度图像

BGR2HLS-------RGB色彩空间转为HLS色彩空间

Mat output_img;
cvtColor(src, output_img, CV_BGR2HLS);
imshow("output image", output_img);
3.保存图像(cv::imwrite)
*******保存图像文件到指定目录
imwrite("D:/TEST.PNG", output_img);

*******只有8位,16位的PNG,JPG,TIFF文件格式而且是单通道或者三通道的BGR图像才可以通过这种方式保存
JPG格式
imwrite("D:/TEST.JPG", output_img);

TIFF

*******保存PNG指定格式的时候可以保存透明通道的图片
*******可以指定压缩参数
完整代码:
#include<opencv2\opencv.hpp>
#include<iostream> using namespace cv;
using namespace std; int main(int argc, char **argv)
{
Mat src = imread("E:\\vsprom\\learn01\\test.jpg",IMREAD_COLOR);
if (src.empty())
{
cout << "can not load image...\n"<<endl;
return -;
}
namedWindow("test opencv setup", CV_WINDOW_AUTOSIZE);
imshow("test opencv setup", src); namedWindow("output image", CV_WINDOW_AUTOSIZE);
Mat output_img;
cvtColor(src, output_img, CV_BGR2HLS);
imshow("output image", output_img); imwrite("D:/TEST.tif", output_img); waitKey();
return ;
}
跟我一起学opencv 第一课之图像加载,修改,保存的更多相关文章
- OpenCV图像加载与保存
OpenCV中的图像加载与保存 头文件是包含的库,在GitHub上下载的 imread("图片路径",图片加载方式) 图片加载方式: IMREAD_GRAYSCALE 灰度图像 I ...
- 【OpenCV学习笔记之一】图像加载,修改及保存
加载图像(用cv::imread)imread功能是加载图像文件成为一个Mat对象 其中第一个参数表示图像文件名称第二个参数 表示加载的图像是什么类型 支持常见的三个参数值IMREAD_UNCHANG ...
- opencv 加载 修改 保存 图像
#include <opencv2/opencv.hpp> #include <iostream> using namespace cv; /* 1 加载图像 cv::imre ...
- 跟我一起学opencv 第二课之图像的掩膜操作
1.掩膜(mask)概念 用选定的图像,图形或物体,对处理的图像(全部或局部)进行遮挡,来控制图像处理的区域或处理过程.用于覆盖的特定图像或物体称为掩模或模板.光学图像处理中,掩模可以足胶片,滤光片等 ...
- 1、OpenCV Python 图像加载和保存
__author__ = "WSX" import cv2 as cv # 这里的文件是图片或者视频 def Save_File( image ): cv.imwrite(&quo ...
- OpenCV 第一课(安装与配置)
OpenCV 第一课(安装与配置) win10,opencv-2.4.13, 安装, vs2013, 配置 下载安装软件 官网OpenCV下载地址下载最新版本,我下载的是opencv.2.4.13,然 ...
- OpenCV 第二课 认识图像的存储结构
OpenCV 第二课 认识图像的存储结构 Mat Mat 类包含两部分,矩阵头和矩阵体.矩阵头包含矩阵的大小,存储方式和矩阵体存储空间的指针.因此,Mat中矩阵头的大小是固定的,矩阵体大小是不定的. ...
- <-0基础学python.第一课->
初衷:我电脑里面的歌曲很久没换了,我想听一下新的歌曲,把他们下载下来听,比如某个榜单的,但是一首一首的点击下载另存为真的很恶心 所以我想有没有办法通过程序的方式来实现,结果还真的有,而且网上已经有有人 ...
- OpenCV第一课
1.OpenCV下载地址:http://opencv.org/downloads.html 因为本人电脑装的是vs2010,所以下载的是opencv-2.4.11.exe(vc10.vc11.vc12 ...
随机推荐
- 找jar包的网站 还没用过2017.12.19
http://www.findjar.com/index.x http://mvnrepository.com/这个比较好用
- Kafka元数据缓存(metadata cache)
经常有人问的一个问题就是:Kafka broker到底是不是无状态的?网上有这样的说法: 正常情况下consumer会在消费完一条消息后线性增加这个offset.当然,consumer也可将offse ...
- JAVA经典算法40题(原题+分析)之分析
JAVA经典算法40题(下) [程序1] 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: ...
- 在Windows Server 2008 R2下搭建jsp环境(二)-mysql的下载安装
个人推荐java开发过程中的数据库首选MYSQL,MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL是一种关联数据库管理系统,关联数据库将数据保 ...
- [Usaco2015 Jan]Grass Cownoisseur 图论 tarjan spfa
先缩点,对于缩点后的DAG,正反跑spfa,枚举每条边进行翻转即可 #include<cstdio> #include<cstring> #include<iostrea ...
- 【源码安装】Heartbeat3.0.9
1.概述1.1 关于Heartbeat1.2 本篇博客实践环境2. 部署基础环境2.1 通过YUM安装依赖环境2.2 创建Heartbeat用户和组3. 编译安装3.1下载源码包3.2 编译安装3.2 ...
- Sublime Text3插件安装(经典)
今天我去听数学建模的培训,感觉很有意思,可是我没有报名(QAQ),没有参加培训的报名,不过幸好没有开始选拔比赛 所以我决定学习数学建模方面的知识,要好好学习了! 希望我未来的学弟学妹们!(不要像我这样 ...
- netty基本用法
1.客户端 ①HelloClient.java public class HelloClient { public static String host = "127.0.0.1" ...
- ASP.NET中的Cookie对象
1.Cookie对象 Cookie对象一般用于在客户端保存一些针对某个用户的信息. Cookie本质上只是一小段文本字符串,改字符串一般保存在用户计算机特定文件夹下的某个文件中,每个Cookie都保存 ...
- set命令详解
我们依然是围绕这几个话题展开学习: 1.什么是set命令? 2.为什么要用set命令? 3.怎样使用set命令? 1.什么是set命令? ♦ set命令作用主要是显示系统中已经存在的shell变量,以 ...