zoukankan      html  css  js  c++  java
  • 【OpenCV学习笔记之一】图像加载,修改及保存

    加载图像(用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格式的时候 可以保存透明通道的图片
    可以指定压缩参数

    参考程序如下:

    #include <opencv2opencv.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
    ");
            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;
    }
  • 相关阅读:
    打印水仙花数
    打印从1到k之间的所有素数
    Fibonacci数列小程序
    Fibonacci数
    水仙花数
    猴子吃桃问题
    5个数求最值—南阳acm
    三个数从小到大排序—南阳acm
    南阳acm奇偶数分离
    find the safest road--hdu1596
  • 原文地址:https://www.cnblogs.com/ECJTUACM-873284962/p/8590985.html
Copyright © 2011-2022 走看看