eg1:
#include<opencv2\opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main(int argc, char**argv)
{
Mat src = imread("F:/picture/11.jpeg");//imread("路径")读取图片,Mat代表二维矩阵(数组);默认读取的是8位(2^8)的,通道顺序B、G、R每个通道顺序都是8位的;hsv通道中H为0-180,s和v是0-255,且h s表颜色,v表示亮度
//Mat src= imread("F:/picture/11.jpeg", IMREAD_GRAYSCALE);//默认彩色,后面跟参数IMREAD_GRAYSCALE显示灰色;跟参数IMREAD_UNCHANGED加载透明通道;IMREAD_ANYCOLOR/ANYDEPTH用来加载任意颜色任意通道
//src.depth();//获取图像深度
//if (src.empty())
//{
// printf("could not load the picture\n");
// return -1;
//}
namedWindow("输入窗口", WINDOW_FREERATIO);//创建一个窗口,窗口大小可以自由拖动改变
imshow("输入窗口", src);//imshow("窗口名称“,图片名称),只支持2^8位的显示或者浮点数的显示
waitKey(0);//waitKey(0) 0代表一直阻塞,1代表1ms
destroyAllWindows();//关闭前面执行出来的所有窗口
return 0;
}
eg2:
#include<opencv2\opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
void colorSpace_Demo(Mat &image);//函数的声明放在namespace以下,否则会报错
int main(int argc, char**argv)
{
Mat src = imread("F:/picture/月红.jpeg");
colorSpace_Demo(src);
namedWindow("输入窗口", WINDOW_FREERATIO);
imshow("输入窗口", src);
waitKey(0);//waitKey(0)
destroyAllWindows();
return 0;
}
void colorSpace_Demo(Mat &image)
{
Mat gray, hsv;
cvtColor(image, gray, COLOR_BGR2GRAY);//cvtColor 色彩空间转换函数
//COLOR_BGR2GRAY=6 彩色到灰度
//COLOR_GRAY2BGR=8 灰度到彩色
//COLOR_BGR2HSV=40 BGR到HSV
//COLOR_HSV2BGR=54 HSV到BGR
cvtColor(image, hsv, COLOR_BGR2HSV);
namedWindow("HSV", WINDOW_FREERATIO);
namedWindow("GRAY", WINDOW_FREERATIO);
imshow("HSV", hsv);
imshow("GRAY", gray);
imwrite("F:/picture/hsv.png", hsv);//IMwrite 图像保存函数
imwrite("F:/picture/gray.png", gray);
}
OpenCV自学笔记01
猜你喜欢
转载自blog.csdn.net/weixin_44941350/article/details/120282801
今日推荐
周排行