vs2017+opencv4.2学习基础

加载、修改、保存图像
1、加载图像(用cv :: imread)
  imread功能加载图像文件成为一个Mat对象,其中第一个参数表示图像文件名称,第二个参数表示图像类型。图像类型支持常见的三个参数值:
  • IMRAED_UNCHANGED(<0)表示加载原图,不做任何改变;
  • IMREAD_GRAYSCALE(0)表示将原图作为灰度图像加载进来;
  • IMREAD_COLOR(>0)表示将原图作为RGB图像加载进来;
  • 注意:opencv支持jpg、png、tiff等常见格式图像文件加载;
2、修改图像(cv :: cvtColor)
  • cvtColor功能是把图像从一个色彩空间转换到另一个色彩空间。有三个参数,第一个参数表示原图像,第二个参数表示色彩空间转换之后的图像,第三个参数表示源和目标色彩空间如:COLOR_BGR2HLS、COLOR_BGR2GRAY等。(H-色相:即色彩基本属性如黄色、红色等;L-亮度;S-饱和度:指色彩纯度,越高色彩则越纯,低则逐渐变灰);
  • cvtColor(image,gray_image,COLOR_BGR2GRAY);
3、保存图像(cv :: imwrite )
  • 保存图像文件到指定目录路径;
  • 只有8位、16位的png、jpg、tiff文件格式而且是单通道或者三通道的图像才可以保存
  • 保存png格式的时候可以保存透明通道的图片
  • 可以指定压缩参数
4、显示图像(cv::namedWindows与cv::imshow
  • namedWindows功能是创建一个opencv窗口,它是由opencv自动创建与释放的
  • 常见用法是namedWindow("Window title",WINDOW_AUTOSIZE),WINDOW_AUTOSIZE自动根据图像大小来显示窗口大小;
  • WINDOW_NOMAL在QT集成的时使用,允许修改窗口大小;
  • imshow根据窗口名称显示图像到指定窗口,第一个参数是窗口名称,第二个参数是Mat对象;

示例测试代码如下:
#include <opencv.hpp>
#include <iostream>
using namespace cv;
int main(int argc, char** argv) {
    Mat src = imread("E:/Vs_ws/palmprint_reg/Project2/psb.jpg",IMREAD_UNCHANGED);
    if (src.empty()) {
        printf("could not load image...\n");
            return -1;
    }
    namedWindow("test opencv setup", WINDOW_AUTOSIZE);
    imshow("test opencv setup", src);
    
    namedWindow("output_window", WINDOW_AUTOSIZE);
    Mat output_image;
    cvtColor(src, output_image, COLOR_BGR2HLS);
    imshow("output_window", output_image);
    imwrite("E:/Vs_ws/palmprint_reg/Project2/test.tiff", output_image);
    waitKey(0);
    return 0;
}
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值