0
点赞
收藏
分享

微信扫一扫

BGR转灰度图、HSV及二值化

酷子腿长一米八 2022-01-24 阅读 61

这次我们将操作封面的图片

#include<iostream>
#include<opencv2/opencv.hpp>

using namespace cv;
using namespace std;


int main() 
{
	Mat img = imread("F:\\image\\7.jpg");
	Mat gray, hsv;
	cvtColor(img, gray, COLOR_BGR2GRAY);
	cvtColor(img, hsv, COLOR_BGR2HSV);
	namedWindow("灰度图", 0);
	namedWindow("HSV图", 0);
	imshow("灰度图", gray);
	imshow("HSV图", hsv);//BGR转灰度图和HSV


	//HSV或BGR转二值用inRange
	Mat dst1, dst2;
	inRange(hsv, Scalar(0, 0 ,30), Scalar(180, 221, 255), dst1);
	namedWindow("HSV转二值", 0);
	imshow("HSV转二值", dst1);
	inRange(img, Scalar(0, 0, 30), Scalar(180, 221, 255), dst2);
	namedWindow("BGR转二值", 0);
	imshow("BGR转二值", dst2);//Scalar中的参数查表(如下)可知,将图片中的白色转为白色,其余 
                                转为黑色


	//灰度图转二值用threshold
	Mat binary;
	threshold(gray, binary, 150, 255, THRESH_BINARY);//将所有大于150的像素转为白色
	namedWindow("灰度转二值", 0);
	imshow("灰度转二值", binary);

	waitKey(0);
	return  0;
}

 

再来看看最终效果

举报

相关推荐

0 条评论