OpenCV自習ノート01

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);
}



おすすめ

転載: blog.csdn.net/weixin_44941350/article/details/120282801