创建图像并读取图片信息:
Mat scr;//创建一个空图像
scr=imread("文件路径")//推荐把图片放到包含文件内
对图片进行初始处理,例如灰度,hsv,简单二值化,
Mat gray_scr,hsv_scr,th_scr//灰度图,hsv图,二值化图
cvtColor(scr, gray_scr, COLOR_BGR2GRAY);//三个参数分别为待处理的rgb图像,存放灰度图的图像,图片转换类型
cvtColor(scr, hsv_scr, COLOR_BGR2HSV);//同上
//灰度化处理是将三原色图片即三通道图片转换为由黑白不同比例混合的单通道图片
inRange(hsv_scr, Scalar(100, 43, 46), Scalar(124, 255, 255), th_scr);
//参数分别为hsv图像,hsv值下标值,hsv上标值,存放二值图的图像,上下标值我在下面放图
//hsv处理主要是为了抠出图片中亮度不同,颜色不同的物品,我这里是蓝色。
threshold(gray_scr, th_scr, 200, 255, cv::THRESH_BINARY);
//参数分别为1.待处理灰度图2.存放二值图的图像3.灰度阙值4.符合条件后该像素点变成什么颜色255代表白色,0代表黑色5.转换方式
//解释下灰度,200代表着200份白色混合56份黑色,其他同理,
//转换方式分类,代表着是超过阙值还是低于阙值成为255或者0,下附图
灰度图
HSV图(网上没找到,我就用我处理的图像了)
二值图
hsv颜色区域
跟着我蓝色选取对照一下就懂了
threshold转换方式