opencv —— 简单加载,修改,显示,保存图片

2020-02-04T00:31:39

要点:

1.读取图片

//读取图片
Mat Imags = imread("C:/Users/齐明洋/Desktop/tem.jpg");
//读取图片并转化为灰度图
Mat Imags = imread("C:/Users/齐明洋/Desktop/tem.jpg",0);

2.定义显示图片窗口

//定义窗口(可有可无),用来显示图片

namedWindow("测试窗口", WINDOW_AUTOSIZE);//窗口自动适应图片大小,大小不可手动更改
namedWindow("测试窗口", WINDOW_NORMAL);//用户可以改变窗口大小

3.颜色空间转换函数 cvtColor()

//颜色空间转换函数(InputArray src, OutputArray dst, int code,int dstCn=0)
//InputArray src :原图像
//OutputArray dst :进行颜色空间变换后的图像
//int code :转换的代码或标识,即要转换成什么颜色空间的图片
//int dstCn = 0 :目标图像通道数,可以使用默认值,什么都不写

cvtColor(Imags, Imags2, COLOR_BGR2HSV);//RGB 颜色模型向 HSV 颜色模型转换

4.HSV

RGB 和 CMY 颜色模型都是面向硬件的,而 HSV(Hue Saturation Value)颜色模型是面向用户的。
 HSV 是根据颜色的直观特性由 A. R. Smith 在1978年创建的一种颜色空间, 也称六角锥体模型(Hexcone Model)。
 这个模型中颜色的参数分别是:色调(H),饱和度(S),明度(V)。

5.显示图片

//显示图片,默认窗口自动适应图片大小,大小不可手动更改
imshow("测试窗口", Imags);

6.保存图片

//保存图片
imwrite("C:/Users/齐明洋/Desktop/修改后图片.png", Imags);

代码示例:

#include <opencv.hpp>
using namespace cv;

int main(int argc,char **argv) {

    Mat Imags = imread("C:/Users/齐明洋/Desktop/tem.jpg");

    if (Imags.empty()) {
        printf("不能加载图像!");
        return -1;
    }

    namedWindow("测试窗口2", WINDOW_NORMAL);
    Mat Imags2;
    cvtColor(Imags, Imags2, COLOR_BGR2HSV);//RGB 颜色模型向 HSV 颜色模型转换

    imshow("测试窗口", Imags);
   imshow("测试窗口2", Imags2);

    imwrite("C:/Users/齐明洋/Desktop/修改后图片.png", Imags);

    waitKey(0);
   return 0;
}

运行结果:

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »