源码:

quickopencv.h文件

#include <opencv2\opencv.hpp>using namespace cv;class QuickDemo
{public:void colorSpace_Demo(Mat &image);
};

quickdemo.cpp文件

#include <quickopencv.h>void QuickDemo::colorSpace_Demo(Mat &image)
{Mat gray, hsv;cvtColor(image, hsv, COLOR_BGR2HSV);cvtColor(image, gray, COLOR_BGR2GRAY);imshow("hsv",hsv);imshow("gray", gray);imwrite("F:/OpenCV/material/hsv.png",hsv);imwrite("F:/OpenCV/material/gray.png", gray);
}

main.cpp

#include <opencv2\opencv.hpp>
#include <iostream>
#include <quickopencv.h>using namespace cv;
using namespace std;int main(int argc, char ** argv)
{Mat src = imread("F:/OpenCV/material/lena.jpg",IMREAD_UNCHANGED);if (src.empty()) { printf("Error!"); return -1; }namedWindow("input", WINDOW_FREERATIO);imshow("input", src);QuickDemo qd;qd.colorSpace_Demo(src);waitKey(0);destroyAllWindows();return 0;
}

HSV颜色模型:H–色调,S–饱和度,V–明度

1、颜色空间转换函数:cvtColor()

CV_EXPORTS_W void cvtColor( InputArray src, OutputArray dst, int code, int dstCn = 0 );
@功能:将图像从一个颜色空间转换为另一个颜色空间。
该函数将输入图像从一个颜色空间转换为另一个颜色空间。 在转换的情况下从RGB颜色空间,通道的顺序应该明确指定(RGB或BGR)。 请注意OpenCV中的默认颜色格式通常被称为RGB,但它实际上是BGR字节是相反的)。 所以一个标准(24位)彩色图像的第一个字节将是一个8位的蓝色组件时,第二个字节为绿色,第三个字节为红色。
@src:输入图像:8位无符号,16位无符号(CV_16UC…) ,或者单精度浮点。
@dst:DST输出与src相同大小和深度的图像。
@code:颜色空间转换代码(参见# colorconverversioncodes)
COLOR_BGR2GRAY – 6 彩色到灰度
COLOR_GRAY2BGR – 8 灰度到彩色
COLOR_BGR2HSV – 40 BGR到HSV
COLOR_HSV2BGR – 54 HSV到BGR
@dstCn :dstCn目标图像中的通道数; 如果该参数为0,则表示通道是自动从SRC和代码派生出来的。

2、图像保存函数:imwrite()

CV_EXPORTS_W bool imwrite( const String& filename, InputArray img,
const std::vector& params = std::vector());
@功能:将图像保存到指定文件。
@filename:文件名称
@img:(Mat或Mat的矢量)图像或需要保存的图像

opencv图像转换与保存相关推荐

  1. OPENCV图像创建,保存和复制

    OPENCV图像的创建,保存和复制 这是官方中讲稿的一个例子 /*************************************************** cvLoadImage, cvS ...

  2. opencv 图像转换(傅里叶变换)

    对于一个正弦信号,如果它的幅度变化非常快,就可以说他是高频信号,如果变化非常慢,则称为低频信号.我们可以将这部分想法应用到图像处理中.图像中边界点或者噪声的幅度变化非常大,多以我们说边界和噪声是图像中 ...

  3. opencv 图像 抠图 算法_opencv提取轮廓与抠图

    自然图像抠图/视频抠像技术梳理(image matting, video matting)-计算机视视觉专题1 图像抠图算法学习 - Shared Sampling for Real-Time Alp ...

  4. openCV图像矩阵Mat和二维数组的互相转换

    openCV图像矩阵Mat和二维数组的互相转换 在openCV的应用中,我们获取图像的矩阵信息很简单.但是我们可能想调用其他的矩阵运算库(比如Eigen库)来进行计算.那么我们就需要把openCV读取 ...

  5. OpenCV的图像处理——iOS与OpenCV之间图像转换

    前言 1.OpenCV有专门的iOS平台的包,可以真接下载导入工程,也可以用cmake把OpenCV源码编成.a文件,以静态库的形式导入工程. 2.我这里用的Xcode11,OpenCV用的是最4.2 ...

  6. openCV视频处理与图像转换

    1.视频处理 视频中包含的信息要远远大于图片,对视频的分析也成为计算机视觉的主流,而本质上视频是由一帧帧的图像组成,所以视频处理最终还是要归结于图像处理,但在视频处理中,有更多的时间维的信息可以利用. ...

  7. OpenCV图像颜色模型转换:cvtColor函数的使用

    Opencv提供了不同颜色模型之间转换的函数cvtColor,可以很容易的将一种颜色模型转换为另一种颜色模型. 原型 CV_EXPORTS_W void cvtColor( InputArray sr ...

  8. cv_bridge用于ROS图像和OpenCV图像的转换

    ROS是机器人领域中比较受到关注的一种系统,它的应用比较方便而且有许多的工具比如传感器驱动包可以直接使用.但是ROS对于传感器数据有自己的格式和规范.而在OpenCV中,图像是以Mat矩阵的形式存储的 ...

  9. Opencv 图像深度+转换深度

    1. opencv 图像深度 图像深度是指存储每个像素所用的位数,也用于量度图像的色彩分辨率.图像深度确定彩色图像的每个像素可能有的颜色数,或者确定灰度图像的每个像素可能有的灰度级数.它决定了彩色图像 ...

最新文章

  1. 手机QQ重构移动社交市场
  2. linux没有日志如何排错,在 Linux 中使用日志来排错
  3. Docker 使用Dockerfile构建tomcat镜像
  4. linux查看新挂上的磁盘
  5. LaTeX的编译速度优化方案
  6. django mysql 表单_Python Django 表单提交数据到mysql并展示
  7. 日出时间php,返回给定的日期与地点的日落时间/ 日出时间
  8. wmaster0接口的简单介绍
  9. iOS开发之UI控件阴影效果
  10. GNS3中下载路由器
  11. 领克发布智能电混技术 全新设计语言概念车亮相
  12. js中base64编码
  13. 网吧服务器系统安装,网吧服务器和客户端安装教程
  14. SD卡启动第二篇 (手动导入系统到SD卡分区)
  15. 统计学习方法总结、应用对比
  16. 量子计算机的基本构成,量子计算机的硬件单元 文/李联宁 1. 量子寄存器 存储一系列量子比特的体系称为量子寄存器。假设有一个由3比特构成的寄存器,在经典计算机中,可... - 雪球...
  17. 9.群智能算法及其应用: 粒子群优化算法及应用, 蚁群算法及其应用
  18. 依赖包存在,但是仍依然报找不到包的问题
  19. python根据excel生成报表_python生成Excel图表(通过xlsxwriter)
  20. Verilog语言之向量vector和解压缩数组unpacked array

热门文章

  1. arm指令一般编码格式和一般语法格式
  2. Java程序练习-潜伏者
  3. 最初的承諾都抵不過時間的洗禮。
  4. Legacy Code Tool
  5. 推一款基于原生的小程序(埋点)插件:ani-weapp
  6. 7-20 电话聊天狂人(25 分)(Hash模板)
  7. 读书笔记软件调试之道 :从大局看调试-发现代码存在问题
  8. keras学习-循环层Recurrent-包装器Wrapper-自己的
  9. html 左右滑动广告,知乎左右滑动无广告
  10. 博图db块变量导出_如何查看西门子博图软件DB数据块中的变量地址