使用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 第一课之图像加载,修改,保存的更多相关文章

  1. OpenCV图像加载与保存

    OpenCV中的图像加载与保存 头文件是包含的库,在GitHub上下载的 imread("图片路径",图片加载方式) 图片加载方式: IMREAD_GRAYSCALE 灰度图像 I ...

  2. 【OpenCV学习笔记之一】图像加载,修改及保存

    加载图像(用cv::imread)imread功能是加载图像文件成为一个Mat对象 其中第一个参数表示图像文件名称第二个参数 表示加载的图像是什么类型 支持常见的三个参数值IMREAD_UNCHANG ...

  3. opencv 加载 修改 保存 图像

    #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; /* 1 加载图像 cv::imre ...

  4. 跟我一起学opencv 第二课之图像的掩膜操作

    1.掩膜(mask)概念 用选定的图像,图形或物体,对处理的图像(全部或局部)进行遮挡,来控制图像处理的区域或处理过程.用于覆盖的特定图像或物体称为掩模或模板.光学图像处理中,掩模可以足胶片,滤光片等 ...

  5. 1、OpenCV Python 图像加载和保存

    __author__ = "WSX" import cv2 as cv # 这里的文件是图片或者视频 def Save_File( image ): cv.imwrite(&quo ...

  6. OpenCV 第一课(安装与配置)

    OpenCV 第一课(安装与配置) win10,opencv-2.4.13, 安装, vs2013, 配置 下载安装软件 官网OpenCV下载地址下载最新版本,我下载的是opencv.2.4.13,然 ...

  7. OpenCV 第二课 认识图像的存储结构

    OpenCV 第二课 认识图像的存储结构 Mat Mat 类包含两部分,矩阵头和矩阵体.矩阵头包含矩阵的大小,存储方式和矩阵体存储空间的指针.因此,Mat中矩阵头的大小是固定的,矩阵体大小是不定的. ...

  8. <-0基础学python.第一课->

    初衷:我电脑里面的歌曲很久没换了,我想听一下新的歌曲,把他们下载下来听,比如某个榜单的,但是一首一首的点击下载另存为真的很恶心 所以我想有没有办法通过程序的方式来实现,结果还真的有,而且网上已经有有人 ...

  9. OpenCV第一课

    1.OpenCV下载地址:http://opencv.org/downloads.html 因为本人电脑装的是vs2010,所以下载的是opencv-2.4.11.exe(vc10.vc11.vc12 ...

随机推荐

  1. 利用pytesser识别图形验证码

    简单识别 1.一般思路 验证码识别的一般思路为: 图片降噪 图片切割 图像文本输出 1.1 图片降噪 所谓降噪就是把不需要的信息通通去除,比如背景,干扰线,干扰像素等等,只剩下需要识别的文字,让图片变 ...

  2. Java 读书笔记 (六) 引用类型

    Java里使用long类型的数据要在数值后面加上L,否则会作为整型解析. 引用类型 引用类型是一个对象类型,它的值是指向内存空间的引用,就是地址, 所指向的内存中保存着变量所表示的一个值或一组值. i ...

  3. TestNG教程网站

    比较简明的一些TestNG教程网站 : https://www.jianshu.com/p/74816a200221 http://www.yiibai.com/testng/parameterize ...

  4. diskqueue.go

    }

  5. Clean http handlers in Go

    Introduction For this blog post we are going to take a look at the http.HandlerFunc type and how we ...

  6. Nordic nRF51/nRF52开发流程说明

    Nordic nRF51系列包括nRF51822/nRF51422/nRF51802等芯片,nRF52系列包括nRF52832/nRF52840/nRF52810等芯片,硬件工程师可以按照如下流程去评 ...

  7. BZOJ_2792_[Poi2012]Well_二分答案

    BZOJ_2792_[Poi2012]Well_二分答案 Description 给出n个正整数X1,X2,...Xn,可以进行不超过m次操作,每次操作选择一个非零的Xi,并将它减一. 最终要求存在某 ...

  8. WAMP下配置FCGID+ZendGuardLoader

    公司的项目里,有几个文件是被加密的,经过一翻折腾,终于配置成功 文件加密技术用的是ZendGuard,所以必须安装的PHP必须得是nts的 一.下载并配置PHP 先下载安装php,注意VC版本和是否n ...

  9. Python&Appium实现滑动引导页进入APP

    最近在研究安卓APP的自动化测试.首先遇到的问题是,当一个session建立的时候,最先进入的是欢迎页和引导页,引导页有三张,最后一张上显示"enter"按钮,点击才能进入主界面. ...

  10. 前端基础-CSS的各种选择器的特点以及CSS的三大特性

    一. 基本选择器 二. 后代选择器.子元素选择器 三. 兄弟选择器 四. 交集选择器与并集选择器 五. 序列选择器 六. 属性选择器 七. 伪类选择器 八. 伪元素选择器 九. CSS三大特性 一. ...