opencv第2讲--色彩空间转换和图片保存
1. 色彩空间转换函数--cvtColor
COLOR_BGR2GRAY = 6 色彩到灰度
COLOR_GRAY2RGB = 8 灰度到色彩
COLOR_BGR2HSV = 40 BGR到HSV
COLOR_HSV2BGR = 54 HSV到 BGR
2. 图像保存--imwrite
第一个参数是图像保存路径
第二个参数是图像内存对象
3.代码
QuickDemo.h
1 2 3 4 5 6 7 8 9 10 11 | #pragma once #include<opencv2/opencv.hpp> using namespace cv; class QuickDemo { public : void colorSpace_Demo(Mat& image); }; |
QucikDemo.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #include "QuickDemo.h" void QuickDemo::colorSpace_Demo(Mat& image) { Mat gray, hsv; cvtColor(image, hsv, COLOR_BGR2HSV); //将BGR图像转换为HSV图像 H 0-180 SV 0-255 cvtColor(image, gray, COLOR_BGR2GRAY); //将BGR图像转化为GRAY图像 imshow( "hsv" , hsv); //显示hsv图像 imshow( "gray" , gray); //显示灰度图像 imwrite( "D:\\opencv_test_pics\\hsv2.png" , hsv); //保存hsv图像 imwrite( "D:\\opencv_test_pics\\gray2.png" , gray); //保存gray图像 } |
main.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #include<opencv2\opencv.hpp> #include<iostream> #include "QuickDemo.h" using namespace cv; using namespace std; int main( int argc, char ** argv) { Mat src = imread( "D:\\opencv_test_pics\\2.png" ); //load original image if (src.empty()) { cout << "could not load image..." << endl; return -1; } imshow( "input" , src); //the size of window is same as input inmage QuickDemo qd; qd.colorSpace_Demo(src); waitKey(0); //用于停住显示图像的窗口, 0表示一直阻塞在这里。 destroyAllWindows(); return 0; } |
分类:
opencv图像处理
posted on 2021-12-15 08:05 xcxfury001 阅读(72) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用