这次我们将操作封面的图片
#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;
}
再来看看最终效果