跟我一起学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 -1;
    }
    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(0);
    return 0;
}

原文地址:https://www.cnblogs.com/huipengbo/p/10733546.html

时间: 2024-11-08 18:58:05

跟我一起学opencv 第一课之图像加载,修改,保存的相关文章

opencv加载,修改,保存图像

#include <opencv2/opencv.hpp> #include <iostream> #include <math.h> using namespace cv; using namespace std; int main() { //原图 Mat src1 = imread(".//pic//test.jpg",IMREAD_UNCHANGED); //灰度图 Mat src2 = imread(".//pic//test.j

OpenCV 第一课(安装与配置)

OpenCV 第一课(安装与配置) win10,opencv-2.4.13, 安装, vs2013, 配置 下载安装软件 官网OpenCV下载地址下载最新版本,我下载的是opencv.2.4.13,然后解压安装,我写的路径是D:\Program Files.注意本文中绿色标注的要换成你自己的安装路径. 这里得说一点,可能是因为网速太差的原因,昨天晚上下载了几次安装时都提示说"cannott open file'opencv-2.4.13.exe' as archive".我当时一直不明

opencv cvLoadImage()函数加载的时候,路径问题

//char* tem = (char*)pathOfImg.GetBuffer(pathOfImg.GetLength()); opencv  cvLoadImage()函数加载的时候......... 试了各种转化的函数什么的,都没有把路径弄对.最后下面的才正确. CString类型转化为const char*: CString filename; const char* tmp = NULL;std::string tempname = (LPCSTR)CStringA(filename)

&lt;-0基础学python.第一课-&gt;

初衷:我电脑里面的歌曲很久没换了,我想听一下新的歌曲,把他们下载下来听,比如某个榜单的,但是一首一首的点击下载另存为真的很恶心 所以我想有没有办法通过程序的方式来实现,结果还真的有,而且网上已经有有人用python来实现了,而且还给出了原代码, 我兴致勃勃的下载下来用,但是根本没有效果,原因是他们给的是2.7版本的程序,我用的软件是3.4版本的, 我又下载了2.7版本的但是运行的时候还是有地方报错,而我又不知道怎么修改,然后觉得时候系统的学习一下了. 宏观目标:让我的工作效率更高 1.写程序帮我

Tensorflow学习第1课——从本地加载MNIST以及FashionMNIST数据

很多Tensorflow第一课的教程都是使用MNIST或者FashionMNIST数据集作为示例数据集,但是其给的例程基本都是从网络上用load_data函数直接加载,该函数封装程度比较高,如果网络出现问题,数据集很难实时从网上下载(笔者就多次遇到这种问题,忍无可忍),而且数据是如何解码的也一无所知,不利于后续的学习和理解,因此本文主要介绍对下载到本地的MNIST或FashionMNIST数据集如何加载解析的问题. 下载到本地的数据集一般有两种格式:numpy的压缩格式.npz,以及gzip压缩

OpenCV教程【002 VideoCapture加载并播放视频】

#include <opencv2/opencv.hpp> #include <iostream> using namespace std; using namespace cv; //opencv3.0 alpha加载并播放视频 2015.11.07 int main(int argc, char* argv[]) { const char* vedioName = "D:/演示源码/视频/djxzBrightness.mp4"; cv::VideoCaptu

第四课:模块加载系统2

最近比较闲,我就讲下seajs的模块编译_compile过程. 这里紧接着第三课的例子来讲解.首先是a.js的编译 Module.prototype._compile = function() { 126 var module = this 127 // 如果该模块已经编译过,则直接返回module.exports 128 if (module.status === STATUS.COMPILED) { 129 return module.exports 130 } 133 // 1. the

第三课:模块加载系统

模块加载,其实就是把js分成很多个模块,便于开发和维护.因此加载很多js模块的时候,需要动态的加载,以便提高用户体验. 在介绍模块加载库之前,先介绍一个方法. 动态加载js方法: function loadJs(url , callback){ var node = document.createElement("script"); node[window.addEventListener ? "onload":"onreadystatechange&qu

跟阿铭学linux &nbsp; 第一课 安装Centos

从事STM32的开发工作3年多,一直有一个梦想学习linux,但苦于没有人带路,中间学过几次,结果都中途中断了没有坚持下去,基于巧合再想学习时,看到阿铭有99元的体验课,就报了名,还收到了送的教程书,很开心,这次我一定要坚持下去,跟着阿铭好好学习linux.为了一直的梦想加油!! 约定 印象笔记             app.yinxiang.com 51CTO 博客        blog.51.com 密码保管             Keepass  Keepass.info 软件安装包