前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【OpenCV学习笔记之一】图像加载,修改及保存

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

作者头像
Angel_Kitty
发布2018-04-08 16:10:14
7650
发布2018-04-08 16:10:14
举报

加载图像(用cv::imread) imread功能是加载图像文件成为一个Mat对象 其中第一个参数表示图像文件名称 第二个参数 表示加载的图像是什么类型 支持常见的三个参数值 IMREAD_UNCHANGE(<0)表示加载原图 不做任何改变 IMREAD_GRAYSCALE(0)表示把原图作为灰度图像加载进来 IMREAD_COLOR(>0)表示把原图作为RGB图像加载进来 注意:OpenCV支持jpg png tiff等常见格式图像文件加载

显示图像(cv::namedWindow与cv::imshow) namedWindow功能是创建一个OpenCV窗口 它是由OpenCV自动创建与释放 你无需去销毁它 常见用法:nameWindow("Window Title",WINDOW_AUTOSIZE) WINDOW_AUTOSIZE会自动根据图像大小 显示窗口大小 不能人为的改变窗口大小 WINDOW_NORMAL跟QT集成的时候会使用 允许修改窗口大小 imshow根据窗口名称显示图像到指定的窗口上去,第一个参数是窗口名称,第二个参数是Mat对象

修改图像(cv::cvtColor) cvtColor的功能是把图像从一个彩色空间转换到另外一个色彩空间 有三个参数 第一个参数表示源图像 第二个参数表示色彩空间转换之后的图像 第三个参数表示源和目标色彩空间 如:COLOR_BGR2HLS COLOR_BGR2GRAY等 cvColor(image,gray_image,COLOR_BGR2GRAY)

保存图像(cv::imwrite) 保存图像文件到指定目录路径 只有8位 16位的png jpg tiff文件格式而且是单通道或者三通道的BRG的图像才可以通过这种方式保存 保存png格式的时候 可以保存透明通道的图片 可以指定压缩参数

参考程序如下:

代码语言:javascript
复制
#include <opencv2\opencv.hpp>
#include <math.h>
#include <iostream>
using namespace cv;
int main(int argc, char const *argv[])
{
    Mat src = imread("../1.png");
    if(src.empty()){
        printf("Could not load image\n");
        return -1;
    }
    namedWindow("opencv setup demo",CV_WINDOW_AUTOSIZE);
    imshow("opencv setup demo",src);
    namedWindow("output windows",CV_WINDOW_AUTOSIZE);
    Mat output_image;
    cvtColor(src,output_image,CV_BGR2HSV);
    imshow("output windows",output_image);
    imwrite("D:/xxx.jpg",output_image);
    waitKey(0);
    return 0;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-03-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档